Secure and transparent pruning for blockchains

US11036395B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11036395-B2
Application numberUS-201916245268-A
CountryUS
Kind codeB2
Filing dateJan 11, 2019
Priority dateOct 18, 2018
Publication dateJun 15, 2021
Grant dateJun 15, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11036395B2 cover?
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 …
Who is the assignee on this patent?
NEC Laboratories Europe GmbH, Nec Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 15 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).