Method and apparatus for storing blockchain state data and electronic device

US11113272B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11113272-B2
Application numberUS-202016775155-A
CountryUS
Kind codeB2
Filing dateJan 28, 2020
Priority dateJul 31, 2019
Publication dateSep 7, 2021
Grant dateSep 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 method of storing blockchain state data, including: after execution of a transaction in a target block is completed, based on a latest account state of a target account related to the transaction in the target block after update, generating updated data nodes corresponding to the current Merkle state tree of the target block and, based on generated historical data nodes and data nodes other than the reused data nodes corresponding to the target account on the historical Merkle state tree of the previous block of the target block, creating the historical Merkle state tree for the target block.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of storing blockchain state data, comprising: after execution of a transaction in a target block in a blockchain is completed, based on a latest account state of a target account related to the transaction after execution of the transaction, modifying and updating, by a blockchain node device, data nodes corresponding to the target account on a current Merkle state tree of a previous block adjacent to the target block, to obtain a current Merkle state tree of the target block, wherein the current Merkle state tree of the target block is formed by latest account states of blockchain accounts of the blockchain; based on a historical account state of the target account before execution of the transaction, generating, by the blockchain node device, historical data nodes corresponding to a historical Merkle state tree of the target block, wherein the historical Merkle state tree of the target block is formed by historical account states of blockchain accounts of the blockchain; and based on (i) the generated historical data nodes and (ii) data nodes other than data nodes corresponding to the target account on a historical Merkle state tree of the previous block adjacent to the target block, creating, by the blockchain node device, the historical Merkle state tree of the target block, wherein the current Merkle state tree of the target block and the historical Merkle state tree of the target block are distinct Merkle state trees and are stored in a database, wherein at least some data stored in the historical Merkle state tree of the target block is blockchain account data not stored in the current Merkle state tree of the target block, wherein the current Merkle state tree of the previous block adjacent to the target block and the historical Merkle state tree of the previous block adjacent to the target block are distinct Merkle state trees and are stored in the database, and wherein at least some data stored in the historical Merkle state tree of the previous block adjacent to the target block is blockchain account data not stored in the current Merkle state tree of the previous block to the target block. 2. The computer-implemented method of claim 1 , wherein data nodes on the current Merkle state tree of the target block are organized into a data structure of a B+ tree and stored in the database; and wherein data nodes on the historical Merkle state tree of the target block are organized into a data structure of a Log-Structured Merge tree and stored in the database. 3. The computer-implemented method of claim 1 , wherein the database is a Key-Value database; wherein data nodes on the current Merkle state tree of the target block and data nodes on the historical Merkle state tree of the target block are stored in the database in the form of Key-Value pairs; wherein a key of each data node on the current Merkle state tree of the target block is a node ID of the data node; and wherein a key of each data node on the historical Merkle state tree of the target block is a hash value of data content contained in the data node. 4. The computer-implemented method of claim 1 , wherein the database is a LevelDB database or a database based on a LevelDB architecture. 5. The computer-implemented method of claim 4 , wherein the database is a Rocksdb database based on the LevelDB architecture. 6. The computer-implemented method of claim 1 , wherein the current Merkle state tree of the target block and the historical Merkle state tree of the target block each have a structure of a Merkle state tree variant having a tree structure incorporating a Trie dictionary tree. 7. The computer-implemented method of claim 1 , wherein the current Merkle state tree of the target block and the historical Merkle state tree of the target block are each a Merkle Patricia Tree state tree. 8. The computer-implemented method of claim 1 , wherein data of data nodes on the current Merkle state tree of the target block is stored separately from data of data nodes on the historical Merkle state tree of the target block. 9. The computer-implemented method of claim 1 , wherein data of data nodes on the current Merkle state tree of the target block is stored separately from data of data nodes on the historical Merkle state tree of the previous block adjacent to the target block. 10. A non-transitory, computer-readable medium storing one or more instructions that, when executed by a computer system of a blockchain node device, cause the blockchain node device to perform operations for storing blockchain data, the operations comprising: after execution of a transaction in a target block in a blockchain is completed, based on a latest account state of a target account related to the transaction after execution of the transaction, modifying and updating data nodes corresponding to the target account on a current Merkle state tree of a previous block adjacent to the target block, to obtain a current Merkle state tree of the target block, wherein the current Merkle state tree of the target block is formed by latest account states of blockchain accounts of the blockchain; based on a historical account state of the target account before execution of the transaction, generating historical data nodes corresponding to a historical Merkle state tree of the target block, wherein the historical Merkle state tree of the target block is formed by historical account states of blockchain accounts of the blockchain; and based on (i) the generated historical data nodes and (ii) data nodes other than data nodes corresponding to the target account on a historical Merkle state tree of the previous block adjacent to the target block, creating the historical Merkle state tree of the target block, wherein the current Merkle state tree of the target block and the historical Merkle state tree of the target block are distinct Merkle state trees and are stored in a database, wherein at least some data stored in the historical Merkle state tree of the target block is blockchain account data not stored in the current Merkle state tree of the target block, wherein the current Merkle state tree of the previous block adjacent to the target block and the historical Merkle state tree of the previous block adjacent to the target block are distinct Merkle state trees and are stored in the database, and wherein at least some data stored in the historical Merkle state tree of the previous block adjacent to the target block is blockchain account data not stored in the current Merkle state tree of the previous block to the target block. 11. The non-transitory, computer-readable medium of claim 10 , wherein data nodes on the current Merkle state tree of the target block are organized into a data structure of a B+ tree and stored in the database; and wherein data nodes on the historical Merkle state tree of the target block are organized into a data structure of a Log-Structured Merge tree and stored in the database. 12. The non-transitory, computer-readable medium of claim 10 , wherein the database is a Key-Value database; wherein data nodes on the current Merkle state tree of the target block and data nodes on the historical Merkle state tree of the target block are stored in the database in the form of Key-Value pairs; wherein a key of each data node on the current Merkle state tree of the target block is a node ID of the data node; and wherein a key of each data node on the historical Merkle state tree of the target block is a hash value of data content contained in the data node. 13. The non-transitory, computer-readable medium of claim 10 , wherein the database is a LevelDB dat

Assignees

Inventors

Classifications

  • Hierarchy of users of accounts · CPC title

  • Trees, e.g. B+trees · CPC title

  • using mutual authentication without cards, e.g. challenge-response · CPC title

  • using e-cash · CPC title

  • insuring higher security of transaction · 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 US11113272B2 cover?
A method of storing blockchain state data, including: after execution of a transaction in a target block is completed, based on a latest account state of a target account related to the transaction in the target block after update, generating updated data nodes corresponding to the current Merkle state tree of the target block and, based on generated historical data nodes and data nodes other t…
Who is the assignee on this patent?
Advanced New Technologies Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F16/2246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).