Blockchain data storage based on error correction code for permissioned blockchain network
US-2021119805-A1 · Apr 22, 2021 · US
US11233654B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11233654-B2 |
| Application number | US-202017082600-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 28, 2020 |
| Priority date | Nov 13, 2019 |
| Publication date | Jan 25, 2022 |
| Grant date | Jan 25, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed herein are methods, systems and apparatus, including computer programs encoded on computer storage media, for storing blockchain data. One of the methods includes receiving transactions issued by a client node communicably coupled to a permissioned blockchain network, sending the transactions to a plurality of validating nodes for validating the transactions and running consensus, receiving one or more blocks generated based on consensus of at least a portion of the transactions by the plurality of validating nodes, encoding the one or more blocks using ECC to generate one or more encoded blocks, and for each encoded block of the one or more encoded blocks: dividing the encoded block into a plurality of datasets based on a data storage scheme associated with the one or more blocks.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method for processing blockchain data by a non-validating node (NVN) of a permissioned blockchain network, the method comprising: receiving, by the NVN, transactions issued by a client node communicably coupled to the permissioned blockchain network; sending, by the NVN, the transactions to a plurality of validating nodes (VNs) for validating the transactions and running consensus; receiving, by the NVN, one or more blocks generated based on consensus of at least a portion of the transactions by the plurality of validating nodes; storing, by the NVN, the one or more blocks in a buffer; in response to determining that stored data in the buffer has met a predetermined storage threshold, encoding, by the NVN, the one or more blocks using error correction coding (ECC) and generating one or more encoded blocks from the one or more blocks; for each encoded block of the one or more encoded blocks: dividing, by the NVN, an encoded block into a plurality of datasets by using a data storage scheme, wherein the data storage scheme provides assignments of the plurality of datasets to a plurality of non-validating nodes (NVNs) of the permissioned blockchain network; and storing, by the NVN, at least one of the plurality of datasets using a tiered storage based on how frequent the at least one of the plurality of datasets is accessed relative to other datasets stored at the NVN; saving, by the NVN and for the plurality of VNs, storage space by sending a notification to the plurality of VNs to delete the one or more blocks; and retrieving, by the NVN and based on an index, one or more dataset associated with the one or more blocks from a remainder of the plurality of NVNs in response to receiving a request for data in the one or more blocks. 2. The method of claim 1 , prior to saving, by the NVN and for the plurality of VNs, storage space, further comprising: receiving confirmations from a remainder of the plurality of NVNs other than the NVN that at least one of the plurality of datasets are stored by a corresponding NVN based on the assignments provided in the data storage scheme. 3. The method of claim 1 , wherein the NVN stores blockchain data in the tiered storage that a newer block is stored in a same or faster tier of the tiered storage than an older block. 4. The method of claim 1 , further comprising: before retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, receiving the request from the client node for verifying a transaction included in the one or more blocks; after retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, decoding the one or more blocks based on the datasets; and verifying that the transaction exists if the transaction is included in the one or more blocks. 5. The method of claim 1 , further comprising: before retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, receiving the request from a validating node for retrieving a transaction included in the one or more blocks; and after retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, decoding the one of the one or more blocks based on the datasets; and sending the transaction to the validating node. 6. The method of claim 1 , further comprising, for each encoded block of the one or more encoded blocks: hashing a remainder of the plurality of datasets other than the at least one of the plurality of datasets to generate hash values; storing the hash values; and discard the one or more blocks and the remainder of the plurality of datasets. 7. The method of claim 1 , wherein the ECC is performed when usage of storage space of the NVN is greater than or equal to a predetermined percentage. 8. The method of claim 1 , wherein the ECC is erasure coding performed by adding redundant bits to the one or more encoded blocks. 9. A system for processing blockchain data, comprising: one or more processors; and one or more computer-readable devices coupled to the one or more processors and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more processors, perform operations comprising: receiving, by a non-validating node (NVN), transactions issued by a client node communicably coupled to a permissioned blockchain network; sending, by the NVN, the transactions to a plurality of validating nodes (VNs) for validating the transactions and running consensus; receiving, by the NVN, one or more blocks generated based on consensus of at least a portion of the transactions by the plurality of validating nodes; storing, by the NVN, the one or more blocks in a buffer; in response to determining that stored data in the buffer has met a predetermined storage threshold, encoding, by the NVN, the one or more blocks using error correction coding (ECC) and generating one or more encoded blocks from the one or more blocks; for each encoded block of the one or more encoded blocks: dividing, by the NVN, an encoded block into a plurality of datasets by using a data storage scheme, wherein the data storage scheme provides assignments of the plurality of datasets to a plurality of non-validating nodes (NVNs) of the permissioned blockchain network; and storing, by the NVN, at least one of the plurality of datasets using a tiered storage based on how frequent the at least one of the plurality of datasets is accessed relative to other datasets stored at the NVN; saving, by the NVN and for the plurality of VNs, storage space by sending a notification to the plurality of VNs to delete the one or more blocks; and retrieving, by the NVN and based on an index, one or more dataset associated with the one or more blocks from a remainder of the plurality of NVNs in response to receiving a request for data in the one or more blocks. 10. The system of claim 9 , the operations, prior to saving, by the NVN and for the plurality of VNs, storage space, further comprising: receiving confirmations from a remainder of the plurality of NVNs other than the NVN that at least one of the plurality of datasets are stored by a corresponding NVN based on the assignments provided in the data storage scheme. 11. The system of claim 9 , wherein the NVN stores blockchain data in the tiered storage that a newer block is stored in a same or faster tier of the tiered storage than an older block. 12. The system of claim 9 , the operations further comprising: before retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, receiving the request from the client node for verifying a transaction included in the one or more blocks; after retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, decoding the one or more blocks based on the datasets; and verifying that the transaction exists if the transaction is included in the one or more blocks. 13. The system of claim 9 , the operations further comprising: before retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, receiving the request from a validating node for retrieving a transaction included in the one or more blocks; and after retrieving, by the NVN and based on the index, the datasets associated with the one or more blocks, decoding the one of the one or more blocks based on the datasets; and sending the transaction to the validating node. 14. The system of claim 9 , the operations further comprising, for each en
using hash chains, e.g. blockchains or hash trees · CPC title
using a third party · CPC title
Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32) · CPC title
involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title
Hash-based (content-based indexing of textual data G06F16/31) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.