Method and system for publicly verifiable proofs of retrievability in blockchains
AssigneeNEC Corporation
InventorsWenting Li, Ghassan Karame
Life of this patent
Estimating the term…
Abstract
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.
Claims13
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 verified PoR proof is verified using a PoR verification method, 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 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.
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 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.
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 of the blockchain,
- wherein the verified PoR proof is verified using a PoR verification method, 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 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.
Dependencies are inferred from the claim text.