Data security of shared blockchain data storage based on error correction code

US11057190B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11057190-B2
Application numberUS-202017082339-A
CountryUS
Kind codeB2
Filing dateOct 28, 2020
Priority dateNov 6, 2019
Publication dateJul 6, 2021
Grant dateJul 6, 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 computer-readable media for storing blockchain data. Exemplary methods includes receiving a request from a blockchain node requesting removal from a blockchain network; identifying a plurality of blocks associated with blockchain data stored by the blockchain node; determining: a first difference between a number of remaining blockchain nodes excluding the blockchain node requesting removal and a maximum number of tolerable faulty blockchain nodes, a second difference between the number of remaining blockchain nodes storing a dataset of information bits or redundant bits divided from an ECC-encoded version of the block and the number of remaining blockchain nodes storing a dataset of redundant bits divided from the ECC-encoded version of the block, and smaller of the first and second difference; and retrieving blockchain data associated with the block from the blockchain node in response to determining that the first difference is less than the second difference.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for processing blockchain data in a trusted execution environment (TEE) executing on a computing device communicably coupled to a blockchain network, the method comprising: receiving a request from a blockchain node to be removed from the blockchain network; identifying a plurality of blocks associated with blockchain data stored by the blockchain node; determining, for each block in the plurality of blocks: a first difference between a total number of remaining blockchain nodes of the blockchain network excluding the blockchain node requesting to be removed and a maximum number of faulty blockchain nodes tolerable by the remaining blockchain nodes, a second difference between a first number of the remaining blockchain nodes that store a dataset of information bits or redundant bits divided from an error correction coding (ECC) encoded version of the block and a second number of the remaining blockchain nodes that store a dataset of redundant bits divided from the ECC encoded version of the block, and whether the first difference is less than the second difference; retrieving blockchain data associated with the block from the blockchain node in response to determining that the first difference is less than the second difference; and allowing the request from the blockchain node to be removed from the blockchain network after the retrieving the blockchain data. 2. The method of claim 1 , further comprising: determining that the blockchain data associated with the block is the block itself; and encoding the block using ECC to generate an encoded block, wherein a code rate of the block equals a minimum number of honest blockchain nodes required by the remaining blockchain nodes divided by a total number of the remaining blockchain nodes, and wherein the minimum number of honest blockchain nodes required and the maximum number of faulty blockchain nodes tolerable add up to a total number of the remaining blockchain nodes. 3. The method of claim 1 , further comprising: determining that the blockchain data associated with the block is a dataset divided from an ECC encoded version of the block; retrieving a remainder of datasets divided from the ECC encoded version of the block from a plurality of blockchain nodes; decoding the block based on the dataset and the remainder of datasets; and encoding the block using ECC to generate an encoded block, wherein a code rate of the block equals a minimum number of honest blockchain nodes required by the remaining blockchain nodes divided by a total number of remaining blockchain nodes, and wherein the minimum number of honest blockchain nodes required and the maximum number of faulty blockchain nodes tolerable add up to a total number of the remaining blockchain nodes. 4. The method of claim 2 , further comprising: dividing the encoded block into a plurality of datasets after the encoding the block using the ECC, wherein a number of the plurality of datasets equals the total number of the remaining blockchain nodes; calculating hash values of the plurality of datasets; and sending one of the plurality of datasets and hash values of the selected dataset to each of the remaining blockchain nodes. 5. The method of claim 2 , wherein the ECC is performed when utilization rate of computational resource of the computing device is less than or equal to a predetermined value. 6. The method of claim 2 , wherein the ECC is erasure coding performed by adding redundant bits to one or more blocks. 7. The method of claim 1 , wherein the maximum number of faulty blockchain nodes tolerable is determined based on a practical Byzantine fault tolerance (PBFT) consensus protocol. 8. A system communicating shared 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 a request from a blockchain node to be removed from a blockchain network; identifying a plurality of blocks associated with blockchain data stored by the blockchain node; determining, for each block in the plurality of blocks: a first difference between a total number of remaining blockchain nodes of the blockchain network excluding the blockchain node requesting to be removed and a maximum number of faulty blockchain nodes tolerable by the remaining blockchain nodes, a second difference between a first number of the remaining blockchain nodes that store a dataset of information bits or redundant bits divided from an error correction coding (ECC) encoded version of the block and a second number of the remaining blockchain nodes that store a dataset of redundant bits divided from the ECC encoded version of the block, and whether the first difference is less than the second difference; retrieving blockchain data associated with the block from the blockchain node in response to determining that the first difference is less than the second difference; and allowing the request from the blockchain node to be removed from the blockchain network after the retrieving the blockchain data. 9. The system of claim 8 , the operations further comprising: determining that the blockchain data associated with the block is the block itself; and encoding the block using ECC to generate an encoded block, wherein a code rate of the block equals a minimum number of honest blockchain nodes required by the remaining blockchain nodes divided by a total number of the remaining blockchain nodes, and wherein the minimum number of honest blockchain nodes required and the maximum number of faulty blockchain nodes tolerable add up to a total number of the remaining blockchain nodes. 10. The system of claim 8 , the operations further comprising: determining that the blockchain data associated with the block is a dataset divided from an ECC encoded version of the block; retrieving a remainder of datasets divided from the ECC encoded version of the block from a plurality of blockchain nodes; decoding the block based on the dataset and the remainder of datasets; and encoding the block using ECC to generate an encoded block, wherein a code rate of the block equals a minimum number of honest blockchain nodes required by the remaining blockchain nodes divided by a total number of remaining blockchain nodes, and wherein the minimum number of honest blockchain nodes required and the maximum number of faulty blockchain nodes tolerable add up to a total number of the remaining blockchain nodes. 11. The system of claim 9 , the operations further comprising: dividing the encoded block into a plurality of datasets after the encoding the block using the ECC, wherein a number of the plurality of datasets equals the total number of the remaining blockchain nodes; calculating hash values of the plurality of datasets; and sending one of the plurality of datasets and hash values of the selected dataset to each of the remaining blockchain nodes. 12. The system of claim 9 , wherein the ECC is performed when utilization rate of computational resource of the computing device is less than or equal to a predetermined value. 13. The system of claim 9 , wherein the ECC is erasure coding performed by adding redundant bits to one or more blocks. 14. The system of claim 8 , wherein the maximum number of faulty blockchain nodes tolerable is determined based on a practical Byzantine fault tolerance (PBFT) consensus protocol. 15. A non-tra

Assignees

Inventors

Classifications

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

  • Encoding or coding, e.g. Huffman coding or error correction · CPC title

  • to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title

  • Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · 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 US11057190B2 cover?
Disclosed herein are methods, systems, and computer-readable media for storing blockchain data. Exemplary methods includes receiving a request from a blockchain node requesting removal from a blockchain network; identifying a plurality of blocks associated with blockchain data stored by the blockchain node; determining: a first difference between a number of remaining blockchain nodes excluding…
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/1004. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 06 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).