Methods and devices for establishing communication between blockchain networks
US-2020334057-A1 · Oct 22, 2020 · US
US11057190B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11057190-B2 |
| Application number | US-202017082339-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 28, 2020 |
| Priority date | Nov 6, 2019 |
| Publication date | Jul 6, 2021 |
| Grant date | Jul 6, 2021 |
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 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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.