Blockchain data storage based on error correction code for permissioned blockchain network

US11233654B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11233654-B2
Application numberUS-202017082600-A
CountryUS
Kind codeB2
Filing dateOct 28, 2020
Priority dateNov 13, 2019
Publication dateJan 25, 2022
Grant dateJan 25, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • G06F21/645Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11233654B2 cover?
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, rec…
Who is the assignee on this patent?
Alipay Hangzhou Inf Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F21/645. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 25 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).