Method and system of mining blockchain transactions provided by a validator node
US-2020104809-A1 · Apr 2, 2020 · US
US11522706B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11522706-B2 |
| Application number | US-202117141340-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 5, 2021 |
| Priority date | Sep 5, 2018 |
| Publication date | Dec 6, 2022 |
| Grant date | Dec 6, 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.
A method for securing a blockchain and incentivizing the storage of blockchain data using a publicly verifiable proof of retrievability (PoR) includes receiving a PoR transaction having a PoR proof, determining whether the PoR proof is a verified PoR proof, and based upon determining that the PoR proof is a verified PoR proof, incorporating, by a block creator node, the PoR transaction into a new block of the blockchain.
Opening claim text (preview).
What is claimed is: 1. A method for securing a blockchain and incentivizing the storage of blockchain data using a publicly verifiable proof of retrievability (PoR), the method comprising: receiving a PoR transaction comprising a PoR proof; determining whether the PoR proof is a verified PoR proof; and based upon determining that the PoR proof is a verified PoR proof, incorporating, by a block creator node, the PoR transaction into a new block of the blockchain, wherein the PoR transaction was generated by a PoR generation method comprising: retrieving blockchain data associated with the blockchain stored by a PoR creator node; generating a PoR hash based on a last block header and a PoR account identifier of the PoR creator node; generating a PoR challenge vector by executing an associated pseudo-random number generator using the PoR hash as its seed; retrieving challenged block data from the blockchain data according to the PoR challenge vector; sorting the challenged block data into challenge groups according to block creator accounts; for each of the challenge groups, generating a creator PoR proof based on associated challenged block data, at least one associated authentication tag, and an associated vector of public random elements, the associated vector of public random elements being generated by the associated pseudo-random number generator using a respective public key of a corresponding one of the block creator accounts as its seed; generating the PoR proof based on the creator PoR proof and the associated public key of the corresponding one of the block creator accounts for each of the challenge groups; and incorporating the PoR proof and the PoR account identifier. 2. The method of claim 1 , wherein the PoR transaction further comprises the PoR account identifier, and wherein the method further comprises: proposing the new block to a blockchain network, the blockchain network having a reward protocol that provides a reward to an account corresponding to the PoR account identifier included in the new block based upon the new block being accepted by the blockchain network and included in the blockchain. 3. The method of claim 1 , further comprising incorporating a PoR authentication tag in a block header of the new block. 4. The method of claim 3 , wherein the PoR authentication tag was generated using a private key of the block creator node, the vector of public random elements, and data of the new block. 5. The method of claim 4 , wherein the vector of public random elements was generated by the pseudo-random number generator using the public key of the block creator node as its seed. 6. The method of claim 1 , wherein the verified PoR proof is verified using a PoR verification method, which comprises: generating a hash based on the last block header and the PoR account identifier, the PoR account identifier being associated with a PoR node that generated the PoR transaction; generating a challenge vector by executing the pseudo-random number generator using the hash as its seed; retrieving PoR authentication tags of the challenged block headers according to the challenge vector; sorting PoR authentication tags of the challenged block headers into groups according to block creator accounts; and for each of the groups, verifying PoR based on an associated PoR proof and an associated public key of a corresponding one of the block creator accounts. 7. The method of claim 1 , wherein for each of the groups, the associated authentication tag is based on a private key of the corresponding one of the block creator accounts and the associated vector of public random elements. 8. The method of claim 1 further comprising: receiving a plurality of PoR transactions, including the PoR transaction; incorporating, by the block creator node, at most f of the PoR transactions into the new block of the blockchain, f being a tunable parameter of the blockchain. 9. A non-transitory computer readable medium comprising processor executable instructions that, when executed by a processor, cause the processor to perform the following operations for securing a blockchain using a publicly verifiable proof of retrievability (PoR): receiving a PoR transaction comprising a PoR proof; determining whether the PoR proof is a verified PoR proof; and based upon determining that the PoR proof is a verified PoR proof, incorporating, by a block creator node, the PoR transaction into a new block of the blockchain, wherein the PoR transaction is generated by a PoR generation method comprising: retrieving blockchain data associated with the blockchain stored by a PoR creator node; generating a PoR hash based on a last block header and a PoR account identifier of the PoR creator node; generating a PoR challenge vector by executing an associated pseudo-random number generator using the PoR hash as its seed; retrieving challenged block data from the blockchain data according to the PoR challenge vector; sorting the challenged block data into challenge groups according to block creator accounts; for each of the challenge groups, generating a creator PoR proof based on associated challenged block data, at least one associated authentication tag, and an associated vector of public random elements, the associated vector of public random elements being generated by the associated pseudo-random number generator using a respective public key of a corresponding one of the block creator accounts as its seed; generating the PoR proof based on the creator PoR proof and the associated public key of the corresponding one of the block creator accounts for each of the challenge groups; and incorporating the PoR proof and the PoR account identifier. 10. The non-transitory computer readable medium of claim 9 , wherein the PoR transaction further comprises a PoR account identifier, and wherein the operations further comprise: proposing the new block to a blockchain network, the blockchain network having a reward protocol that provides a reward to an account corresponding the PoR account identifier included in the new block based upon the new block being accepted by the blockchain network and included in the blockchain. 11. The non-transitory computer readable medium of claim 9 , wherein the operations further comprise incorporating a PoR authentication tag in a block header of the new block. 12. The non-transitory computer readable medium of claim 9 , wherein the verified PoR proof is verified using a PoR verification operation, which comprises: generating a hash based on a last block header and a PoR account identifier, the PoR account identifier being associated with a PoR node that generated the PoR transaction; generating a challenge vector by executing a pseudo-random number generator using the hash as its seed; retrieving challenged block data according to the challenge vector; sorting the challenged block data into groups according to block creator accounts; and for each of the groups, verifying PoR based on an associated PoR proof and an associated public key of a corresponding one of the block creator accounts. 13. A node of a blockchain network comprising a processor and a memory, the memory comprising processor executable instructions that, when executed by the processor, cause the processor to perform the following operations for securing a blockchain using a publicly verifiable proof of retrievability (PoR): receiving a PoR transaction comprising a PoR proof; determining whether the PoR proof is a verified PoR proof; and based upon determining that the PoR proof is a verified PoR proof, incorporating the PoR transaction into a new block
received data contents, e.g. message integrity · CPC title
using hash chains, e.g. blockchains or hash trees · CPC title
using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs · CPC title
Distributed file systems · 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.