Taking snapshots of blockchain data

US11194792B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11194792-B2
Application numberUS-202017085152-A
CountryUS
Kind codeB2
Filing dateOct 30, 2020
Priority dateNov 29, 2019
Publication dateDec 7, 2021
Grant dateDec 7, 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 computer-implemented method for blockchain data storage includes generating, by one or more processing devices, a snapshot of a current state tree associated with a fixed depth Merkle tree (FDMT) during creation of a block of a blockchain, wherein the current state tree stores state information corresponding to a newest block of the blockchain; and storing, by the one or more processing devices, the snapshot of the current state tree.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for blockchain data storage comprising: generating, by one or more processing devices and by executing a checkpoint function in a key-value database, a snapshot of a current state tree associated with a fixed depth Merkle tree (FDMT) during creation of a block of a blockchain, wherein a checkpoint in the checkpoint function comprises a point in time of generation of the snapshot, wherein the current state tree comprises state information corresponding to a newest block of the blockchain, wherein the current state tree comprises a plurality of first key-value pairs (KVPs), wherein a key of a key-value pair (KVP) in the plurality of first KVPs comprises a node identifier (ID) corresponding to a node of the current state tree and a block ID corresponding to the newest block, wherein the FDMT comprises a historic state tree comprising state information corresponding to every block of the blockchain, wherein the historic state tree comprises a plurality of second KVPs, and wherein a key of a KVP in the plurality of second KVPs comprises a hash value of a corresponding value of the KVP; storing, by the one or more processing devices, the snapshot of the current state tree; adding, by the one or more processing devices and as an ID of the snapshot of the current state tree, the block ID corresponding to the newest block; receiving, by the one or more processing devices, a request to retrieve the state information corresponding to the newest blocks; determining, by the one or more processing devices and based on the ID of the snapshot, that the snapshot of the current state tree exists; and providing, by the one or more processing devices, the state information based on the snapshot of the current state tree. 2. The computer-implemented method of claim 1 , wherein the current state tree is associated with a contract account of the blockchain, and wherein the current state tree is a tree that encodes storage content of the contract account. 3. The computer-implemented method of claim 2 , wherein the snapshot includes a Merkle path associated with the contract account and included in a world state tree associated with the newest block. 4. The computer-implemented method of claim 1 , further comprising: deleting the historic state tree after the snapshot is stored. 5. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations for blockchain data storage, the operations comprising: generating, by executing a checkpoint function in a key-value database, a snapshot of a current state tree associated with a fixed depth Merkle tree (FDMT) during creation of a block of a blockchain, wherein a checkpoint in the checkpoint function comprises a point in time of generation of the snapshot, wherein the current state tree comprises state information corresponding to a newest block of the blockchain, wherein the current state tree comprises a plurality of first key-value pairs (KVPs), wherein a key of a key-value pair (KVP) in the plurality of first KVPs comprises a node identifier (ID) corresponding to a node of the current state tree and a block ID corresponding to the newest block, wherein the FDMT comprises a historic state tree comprising state information corresponding to every block of the blockchain, wherein the historic state tree comprises a plurality of second KVPs, and wherein a key of a KVP in the plurality of second KVPs comprises a hash value of a corresponding value of the KVP; storing the snapshot of the current state tree; adding, as an ID of the snapshot of the current state tree, the block ID corresponding to the newest block; receiving a request to retrieve the state information corresponding to the newest block; determining, based on the ID of the snapshot, that the snapshot of the current state tree exists; and providing the state information based on the snapshot of the current state tree. 6. The non-transitory, computer-readable medium of claim 5 , wherein the current state tree is associated with a contract account of the blockchain, and wherein the current state tree is a tree that encodes storage content of the contract account. 7. The non-transitory, computer-readable medium of claim 6 , wherein the snapshot includes a Merkle path associated with the contract account and included in a world state tree associated with the newest block. 8. The non-transitory, computer-readable medium of claim 5 , wherein the operations further comprise: deleting the historic state tree after the snapshot is stored. 9. A computer-implemented system, comprising: one or more computers; and one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations for blockchain data storage, the one or more operations comprising: generating, by executing a checkpoint function in a key-value database, a snapshot of a current state tree associated with a fixed depth Merkle tree (FDMT) during creation of a block of a blockchain, wherein a checkpoint in the checkpoint function comprises a point in time of generation of the snapshot, wherein the current state tree comprises state information corresponding to a newest block of the blockchain, wherein the current state tree comprises a plurality of first key-value pairs (KVPs), wherein a key of a key-value pair (KVP) in the plurality of first KVPs comprises a node identifier (ID) corresponding to a node of the current state tree and a block ID corresponding to the newest block, wherein the FDMT comprises a historic state tree comprising state information corresponding to every block of the blockchain, wherein the historic state tree comprises a plurality of second KVPs, and wherein a key of a KVP in the plurality of second KVPs comprises a hash value of a corresponding value of the KVP; storing the snapshot of the current state tree; adding, as an ID of the snapshot of the current state tree, the block ID corresponding to the newest block; receiving a request to retrieve the state information corresponding to the newest block; determining, based on the ID of the snapshot, that the snapshot of the current state tree exists; and providing the state information based on the snapshot of the current state tree. 10. The computer-implemented system of claim 9 , wherein the current state tree is associated with a contract account of the blockchain, and wherein the current state tree is a tree that encodes storage content of the contract account. 11. The computer-implemented system of claim 10 , wherein the snapshot includes a Merkle path associated with the contract account and included in a world state tree associated with the newest block. 12. The computer-implemented system of claim 9 , wherein the one or more operations further comprise: deleting the historic state tree after the snapshot is stored.

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Updating · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Updates performed during online database operations; commit processing · CPC title

  • Trees, e.g. B+trees · 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 US11194792B2 cover?
A computer-implemented method for blockchain data storage includes generating, by one or more processing devices, a snapshot of a current state tree associated with a fixed depth Merkle tree (FDMT) during creation of a block of a blockchain, wherein the current state tree stores state information corresponding to a newest block of the blockchain; and storing, by the one or more processing devic…
Who is the assignee on this patent?
Alipay Hangzhou Inf Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F16/2379. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 07 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).