Checkpoints for permissionless blockchains
US-2018152289-A1 · May 31, 2018 · US
US11036395B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11036395-B2 |
| Application number | US-201916245268-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 11, 2019 |
| Priority date | Oct 18, 2018 |
| Publication date | Jun 15, 2021 |
| Grant date | Jun 15, 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.
A method for pruning a blockchain of a blockchain network includes creating an active blocks commitments Merkle tree from hashes of active blocks and creating an active smart contracts commitments Merkle tree from hashes of active smart contracts. The Merkle trees are created after an amount of blocks created in the blockchain has reached a threshold set by a pruning threshold parameter stored in the blockchain network. Hashes of the roots of the Merkle trees are stored in a header of a new block as a new genesis block. The new genesis block is broadcast to the blockchain network. A local copy of the blockchain is pruned at a pruning point in accordance with the pruning threshold parameter based on the blockchain network having reached consensus on the new genesis block.
Opening claim text (preview).
What is claimed is: 1. A method for pruning a blockchain of a blockchain network, the method comprising: creating an active blocks commitments Merkle tree from hashes of active blocks and creating an active smart contracts commitments Merkle tree from hashes of active smart contracts, the Merkle trees being created after an amount of blocks created in the blockchain has reached a threshold set by a pruning threshold parameter stored in the blockchain network; storing hashes of the roots of the Merkle trees in a header of a new block as a new genesis block; broadcasting the new genesis block to the blockchain network; and pruning a local copy of the blockchain at a pruning point in accordance with the pruning threshold parameter based on the blockchain network having reached consensus on the new genesis block. 2. The method according to claim 1 , wherein the local copy of the blockchain is stored in a local disk space of a node of the blockchain network, and wherein the pruning the local copy of the blockchain comprises compressing blocks of the blockchain stored in the local disk space and located in the blockchain prior to the pruning point using a compression algorithm or applying deduplication techniques to the blocks of the blockchain stored in the local disk space and located in the blockchain prior to the pruning point. 3. The method according to claim 1 , wherein the local copy of the blockchain is stored in a local disk space of a node of the blockchain network, and wherein the pruning the local copy of the blockchain comprises moving blocks of the blockchain stored in the local disk space and located in the blockchain prior to the pruning point out of the local disk space to external storage. 4. The method according to claim 1 , further comprising using the pruned local copy of the blockchain for validating future transactions. 5. The method according to claim 1 , wherein the pruning threshold parameter is stored in a core algorithm of the blockchain network and defines an amount of blocks to keep after the pruning and a minimum amount of blocks between pruning events. 6. The method according to claim 5 , wherein a counter is used to track the amount of blocks created in the blockchain, the counter being reset after each of the pruning events. 7. The method according to claim 6 , wherein the pruning events occur at regular intervals and each node of the blockchain network commits to a set of active blocks and active smart contracts used respectively to create the active blocks commitments Merkle tree and the active smart contracts commitments Merkle tree at each of the pruning events. 8. The method according to claim 1 , further comprising storing the active blocks commitments Merkle tree and the active smart contracts commitments Merkle tree together with a Merkle tree for transactions in a body of the new genesis block. 9. The method according to claim 1 , wherein the active blocks commitments Merkle tree and the active smart contracts commitments Merkle tree are created by a node of the blockchain network immediately upon reaching the threshold such that the new genesis block is broadcast to the blockchain by the node before another block, which was not broadcasted to the blockchain network prior to reaching the threshold, is able to be broadcast by another node of the blockchain network. 10. The method according to claim 1 , further comprising using the new genesis block and an amount of blocks to keep after the pruning defined by the pruning threshold parameter as a new blockchain to be used for validating transactions, and thereafter appending new blocks having the validated transactions on the new genesis block in the new blockchain. 11. The method according to claim 1 , wherein some or all nodes of the blockchain network perform the pruning, and wherein all of the nodes commit to a set of active blocks and active smart contracts used respectively to create the active blocks commitments Merkle tree and the active smart contracts commitments Merkle tree upon the blockchain network reaching consensus on the new genesis block. 12. A miner node of a blockchain network comprising one or more computational processors with a local disk space containing a copy of a blockchain of the blockchain network, the computational processors, alone or in combination, being configured to provide for execution of a method comprising: creating an active blocks commitments Merkle tree from hashes of active blocks and creating an active smart contracts commitments Merkle tree from hashes of active smart contracts, the Merkle trees being created after an amount of blocks created in the blockchain has reached a threshold set by a pruning threshold parameter stored in the blockchain network; storing hashes of the roots of the Merkle trees in a header of a new block as a new genesis block; broadcasting the new genesis block to the blockchain network; and pruning a local copy of the blockchain at a pruning point in accordance with the pruning threshold parameter based on the blockchain network having reached consensus on the new genesis block. 13. The miner node according to claim 12 , wherein the pruning the local copy of the blockchain comprises compressing blocks of the blockchain stored in the local disk space and located in the blockchain prior to the pruning point using a compression algorithm or applying deduplication techniques to the blocks of the blockchain stored in the local disk space and located in the blockchain prior to the pruning point. 14. The miner node according to claim 12 , being further configured to use the pruned local copy of the blockchain for validating future transactions. 15. A non-transitory, computer-readable medium having instructions thereon which, after implementation on one or more computational processors with a local disk space containing a copy of a blockchain of a blockchain network, the computational processors, alone or in combination, provide for execution of a method comprising: creating an active blocks commitments Merkle tree from hashes of active blocks and creating an active smart contracts commitments Merkle tree from hashes of active smart contracts, the Merkle trees being created after an amount of blocks created in the blockchain has reached a threshold set by a pruning threshold parameter stored in the blockchain network; storing hashes of the roots of the Merkle trees in a header of a new block as a new genesis block; broadcasting the new genesis block to the blockchain network; and pruning a local copy of the blockchain at a pruning point in accordance with the pruning threshold parameter based on the blockchain network having reached consensus on the new genesis block.
using hash chains, e.g. blockchains or hash trees · CPC title
Hash-based (content-based indexing of textual data G06F16/31) · CPC title
using cryptographic hash functions · CPC title
Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32) · CPC title
De-duplication techniques · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.