Apparatus and method for two-way authentication
US-2018063709-A1 · Mar 1, 2018 · US
US10901957B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10901957-B2 |
| Application number | US-201816116191-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2018 |
| Priority date | Aug 29, 2018 |
| Publication date | Jan 26, 2021 |
| Grant date | Jan 26, 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.
An example operation may include one or more of retrieving, into a corrupted node in a blockchain network that is at least one corrupted or forked, a state database checkpoint of a state database created at a block number of a blockchain of the blockchain network, wherein the retrieved state database checkpoint comprises a last known non-corrupted or non-forked checkpoint state, retrieving, into the corrupted node, blocks of the blockchain from the checkpoint block number to a current block number, constructing an initial state database from the retrieved state database checkpoint, and executing, at the corrupted node, the transactions of the retrieved blocks on the initial state database to generate a current state database.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a blockchain network comprising a plurality of peer nodes programmed to store a blockchain and a state database, wherein a peer node, of the plurality of peer nodes, is programmed to: determine that the peer node is at least one of corrupted or forked; retrieve a state database checkpoint of a state database created at a block number of the blockchain, the state database checkpoint comprising a last known non-corrupted or non-forked checkpoint state; retrieve blocks of the blockchain from the block number, at which the state database checkpoint is created, to a current block number; construct an initial state database from the retrieved state database checkpoint; and execute transactions of the retrieved blocks on the initial state database to generate a current state database, wherein one or more key/value pairs of the initial state database are stored in one or more leaf nodes of a merkle tree representing the state database checkpoint. 2. The system of claim 1 , wherein the state database checkpoint is a merkle tree comprising: one or more key/value pairs in one or more leaf nodes of the merkle tree, wherein the peer node is programmed to extract and store the one or more key/value pairs from the one or more leaf nodes of the merkle tree to construct the initial state database. 3. The system of claim 1 , wherein the peer node is programmed to: compare a root hash of the merkle tree with a consensus root hash for the state database checkpoint. 4. The system of claim 1 , wherein the peer node is programmed to: generate the merkle tree representing the state database checkpoint in accordance with a defined merkle tree schema. 5. The system of claim 1 , wherein the peer node is programmed to: receive a consensus merkle tree into the peer node; and compare hash values of one or more level nodes of the consensus merkle tree and a merkle tree generated by the peer node to isolate one or more leaf nodes that contain one or more discrepancies in one or more key/value pairs. 6. The system of claim 1 , wherein the peer node is programmed to request the state database checkpoint and the blocks of the blockchain from an existing node of the blockchain network. 7. The system of claim 1 , wherein the peer node is programmed to generate a state database checkpoint at a next checkpoint interval of a number of blocks of the blockchain and determine the peer node as correctly instantiated if the state database checkpoint matches a consensus state database checkpoint. 8. A method comprising: retrieving, by a node in a blockchain network, the node being at least one of corrupted or forked, a state database checkpoint of a state database created at a block number of a blockchain of the blockchain network, the state database checkpoint comprising a last known non-corrupted or non-forked checkpoint state; retrieving, into the node, blocks of the blockchain from the block number, at which the state database checkpoint is created, to a current block number; constructing an initial state database from the retrieved state database checkpoint; and executing, at the node, transactions of the retrieved blocks on the initial state database to generate a current state database, wherein one or more key/value pairs of the initial state database are stored in one or more leaf nodes of a merkle tree representing the state database checkpoint. 9. The method of claim 8 , wherein the state database checkpoint is a merkle tree comprising: one or more key/value pairs in one or more leaf nodes of the merkle tree, wherein constructing the initial state database comprises extracting and storing the one or more key/value pairs from the one or more leaf nodes of the merkle tree. 10. The method of claim 8 , further comprising: comparing a root hash of the merkle tree with a consensus root hash for the state database checkpoint. 11. The method of claim 8 , further comprising: generating the merkle tree in accordance with a defined merkle tree schema. 12. The method of claim 8 , further comprising: receiving a consensus merkle tree into the node; and comparing hash values of one or more level nodes of the consensus merkle tree and a merkle tree generated by the node to isolate one or more leaf nodes containing one or more discrepancies in one or more key/value pairs. 13. The method of claim 8 , further comprising: requesting, by the node, the state database checkpoint and the blocks of the blockchain from another node of the blockchain network. 14. The method of claim 8 , further comprising: generating, by the node, a state database checkpoint at a next checkpoint interval of a number of blocks of the blockchain and determining the node as correctly restored if the state database checkpoint matches a consensus state database checkpoint. 15. A non-transitory computer readable medium storing one or more instructions that when executed by a processor cause the processor to perform: retrieving, into a node in a blockchain network, the node being at least one of corrupted or forked, a state database checkpoint of a state database created at a block number of a blockchain of the blockchain network, the state database checkpoint comprising a last known non-corrupted or non-forked checkpoint state; retrieving, into the node, blocks of the blockchain from the block number, at which the state database checkpoint is created, to a current block number; constructing an initial state database from the retrieved state database checkpoint; and executing, at the node, transactions of the retrieved blocks on the initial state database to generate a current state database, wherein one or more key/value pairs of the initial state database are stored in one or more leaf nodes of a merkle tree representing the state database checkpoint. 16. The non-transitory computer readable medium of claim 15 , wherein the one or more instructions further cause the processor to perform: constructing the initial state database by extracting and storing one or more key/value pairs from the one or more leaf nodes of a merkle tree representation of the state database checkpoint. 17. The non-transitory computer readable medium of claim 15 , wherein the one or more instructions further cause the processor to perform: requesting, by the node, the state database checkpoint and the blocks of the blockchain from another node of the blockchain network. 18. The non-transitory computer readable medium of claim 15 , wherein the one or more instructions further cause the processor to perform: generating, by the node, a state database checkpoint at a next checkpoint interval of a number of blocks of the blockchain and determining the node as correctly instantiated if the state database checkpoint matches a consensus state database checkpoint.
using hash chains, e.g. blockchains or hash trees · CPC title
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title
Append-only file systems, e.g. using logs or journals to store data · CPC title
received data contents, e.g. message integrity · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.