Verification of interactions system and method
AssigneeVisa International Service Association
InventorsMahdi Zamani, Lucianna Kiffer, Loi Luu, Karl Benedikt Bunz
Life of this patent
Estimating the term…
Abstract
A method includes a client device receiving a verification request comprising an interaction identifier. The client device can then query a full node for a random sampling of block headers from the full node. The client device can receive the random sampling of block headers from the full node, and verify the random sampling of block headers. The client device can then determine that the blockchain maintained by the full node is valid after verifying the random sampling of block headers.
Claims17
A method comprising:
- receiving, by a client device, a verification request comprising an interaction identifier;
- in response to receiving the verification request, querying, by the client device, a full node for a random sampling of block headers from the full node by transmitting a random number to the full node, wherein each block header of the random sampling of block headers comprises a previous hash value, a nonce, a timestamp, a Merkle root, and a Merkle mountain range root;
- receiving, by the client device, the random sampling of block headers from the full node, wherein the random sampling is based on the random number;
- obtaining, by the client device, a plurality of Merkle mountain range proofs associated with the random sampling of block headers from the full node;
- verifying, by the client device, the random sampling of block headers by verifying validity of the previous hash value and the nonce of each block header of the random sampling of block headers, and verifying the plurality of Merkle mountain range proofs;
- and
- determining that a blockchain maintained by the full node is valid after verifying the random sampling of block headers.
A client device comprising:
- a processor;
- a memory;
- and
- a computer readable medium coupled to the processor, the computer readable medium comprising code, executable by the processor, for implementing a method comprising:
- receiving a verification request comprising an interaction identifier;
- in response to receiving the verification request, querying a full node for a random sampling of block headers from the full node, by transmitting a random number to the full node, wherein each block header of the random sampling of block headers comprises a previous hash value, a nonce, a timestamp, a Merkle root, and a Merkle mountain range root;
- receiving the random sampling of block headers from the full node, wherein the random sampling is based on the random number;
- obtaining a plurality of Merkle mountain range proofs associated with the random sampling of block headers from the full node;
- verifying the random sampling of block headers by verifying validity of the previous hash value and the nonce of each block header of the random sampling of block headers, and verifying the plurality of Merkle mountain range proofs;
- and
- determining that a blockchain maintained by the full node is valid after verifying the random sampling of block headers.
A full node comprising:
- a processor;
- a memory;
- and
- a computer readable medium coupled to the processor, the computer readable medium comprising code, executable by the processor, for implementing a method comprising:
- receiving a query for a random sampling of block headers including a random number from a client device;
- selecting the random sampling of block headers from a blockchain, wherein the random sampling is based on the random number;
- determining a plurality of verification proofs associated with the random sampling of block headers, wherein the plurality of verification proofs are a plurality of Merkle mountain range proofs;
- and
- transmitting the random sampling of block headers and the plurality of verification proofs to the client device, wherein the client device verifies the random sampling of block headers and the plurality of verification proofs.
Dependencies are inferred from the claim text.