Dynamic blockchain data storage based on error correction code

US11030044B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11030044-B2
Application numberUS-202017086030-A
CountryUS
Kind codeB2
Filing dateOct 30, 2020
Priority dateNov 13, 2019
Publication dateJun 8, 2021
Grant dateJun 8, 2021

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 a request for performing error correction coding (ECC) to one or more blocks of a blockchain, obtaining the one or more blocks based on blockchain data received from at least one blockchain node of the blockchain network, and performing ECC of the one or more blocks to generate one or more encoded blocks, wherein a code rate of the one or more encoded blocks equals a minimum number of honest blockchain nodes required by the blockchain network and a total number of blockchain nodes of the blockchain network.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for processing blockchain data performed by a first blockchain node of a blockchain network, the method comprising: receiving a request for performing error correction coding (ECC) to one or more blocks of a blockchain; obtaining the one or more blocks based on blockchain data received from at least one second blockchain node of the blockchain network; and performing ECC of the one or more blocks to generate one or more encoded blocks, wherein a code rate of the one or more encoded blocks equals a minimum number of honest blockchain nodes required by the blockchain network and a total number of blockchain nodes of the blockchain network. 2. The method of claim 1 , wherein the blockchain data received from the at least one second blockchain node are a plurality of datasets divided from an ECC encoded version of the one or more blocks, and the obtaining the one or more blocks further comprises: identifying one or more datasets divided from the ECC encoded version of the one or more blocks that are stored locally in the first blockchain node; and decoding the one or more blocks based on the one or more datasets that are stored locally and the plurality of datasets received from the at least one second blockchain node. 3. The method of claim 1 , wherein the at least one second blockchain node is at least one full blockchain node, and wherein the obtaining the one or more blocks further comprises retrieving the one or more blocks from the at least one full blockchain node. 4. The method of claim 3 , wherein the one or more blocks are first one or more blocks, and retrieving the first one or more blocks further comprises: sending hash values of the first one or more blocks to the at least one full blockchain node; receiving second one or more blocks from the at least one full blockchain node; and determining the second one or more blocks are authentic if hash values of the second one or more blocks are same as hash values of the first one or more blocks. 5. The method of claim 1 , wherein the request includes the code rate, and instructions to divide each of the one or more encoded blocks to a plurality of datasets and assign the plurality of datasets to the blockchain nodes of the blockchain network. 6. The method of claim 5 , further comprising: for each encoded block of the one or more encoded blocks: dividing the encoded block into the plurality of datasets according to the instructions; and storing at least one of the plurality of datasets assigned to the first blockchain node according to the instructions. 7. The method of claim 6 , further comprising: hashing a remainder of the plurality of datasets other than the at least one of the plurality of datasets assigned to the first blockchain node to generate hash values corresponding to the remainder of the plurality of datasets; storing the hash values; and deleting the one or more blocks and the remainder of the plurality of datasets. 8. The method of claim 7 , wherein the request is a first request and the one or more encoded blocks are first one or more encoded blocks, the method further comprising: receiving a second request for performing ECC to the one or more blocks of a blockchain in response to a new blockchain node storing the one or more blocks being added to the blockchain network; retrieving the one or more blocks from the new blockchain node; and performing ECC of the one or more blocks to generate second one or more encoded blocks, wherein a code rate of the second one or more encoded blocks equals the minimum number of honest blockchain nodes required by the blockchain network and a new total number of blockchain nodes after the new blockchain node is added. 9. The method of claim 8 , wherein the new blockchain node is a full node that stores a copy of the blockchain. 10. The method of claim 1 , wherein the ECC is performed when utilization rate of computational resource of the first blockchain node is less than or equal to a predetermined value. 11. The method of claim 1 , wherein the ECC is erasure coding performed by adding redundant bits to the one or more blocks. 12. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations for processing blockchain data performed by a first blockchain node of a blockchain network, the operations comprising: receiving a request for performing error correction coding (ECC) to one or more blocks of a blockchain; obtaining the one or more blocks based on blockchain data received from at least one second blockchain node of the blockchain network; and performing ECC of the one or more blocks to generate one or more encoded blocks, wherein a code rate of the one or more encoded blocks equals a minimum number of honest blockchain nodes required by the blockchain network and a total number of blockchain nodes of the blockchain network. 13. The non-transitory, computer-readable medium of claim 12 , wherein the blockchain data received from the at least one second blockchain node are a plurality of datasets divided from an ECC encoded version of the one or more blocks, and obtaining the one or more blocks further comprises: identifying one or more datasets divided from the ECC encoded version of the one or more blocks that are stored locally in the first blockchain node; and decoding the one or more blocks based on the one or more datasets that are stored locally and the plurality of datasets received from the at least one second blockchain node. 14. The non-transitory, computer-readable medium of claim 12 , wherein the at least one second blockchain node is at least one full blockchain node, and wherein obtaining the one or more blocks further comprises retrieving the one or more blocks from the at least one full blockchain node. 15. The non-transitory, computer-readable medium of claim 14 , wherein the one or more blocks are first one or more blocks, and retrieving the first one or more blocks further comprises: sending hash values of the first one or more blocks to the at least one full blockchain node; receiving second one or more blocks from the at least one full blockchain node; and determining the second one or more blocks are authentic if hash values of the second one or more blocks are same as hash values of the first one or more blocks. 16. The non-transitory, computer-readable medium of claim 12 , wherein the request includes the code rate, and instructions to divide each of the one or more encoded blocks to a plurality of datasets and assign the plurality of datasets to the blockchain nodes of the blockchain network. 17. The non-transitory, computer-readable medium of claim 16 , the operations further comprising: for each encoded block of the one or more encoded blocks: dividing the encoded block into the plurality of datasets according to the instructions; and storing at least one of the plurality of datasets assigned to the first blockchain node according to the instructions. 18. The non-transitory, computer-readable medium of claim 17 , further comprising: hashing a remainder of the plurality of datasets other than the at least one of the plurality of datasets assigned to the first blockchain node to generate hash values corresponding to the remainder of the plurality of datasets; storing the hash values; and deleting the one or more blocks and the remainder of the plurality of datasets. 19. The non-transitory, computer-readable medium of claim 18 , wherei

Assignees

Inventors

Classifications

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

  • Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32) · CPC title

  • using a third party · CPC title

  • G06F11/182Primary

    based on mutual exchange of the output between redundant processing components · CPC title

  • with specific ECC/EDC distribution · 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 US11030044B2 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 a request for performing error correction coding (ECC) to one or more blocks of a blockchain, obtaining the one or more blocks based on blockchain data received from at least one blockchain node of the blockchain …
Who is the assignee on this patent?
Alipay Hangzhou Inf Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/182. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 08 2021 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).