Patent ID: 11868327
Assignee: JIHENG ZHANG
Field: Digital communication (Electrical engineering)
Classification: CPC G  H | IPC G

Claim 3:
4. A method for adding blocks of a blockchain based on a structured directed acyclic graph (DAG) executed by node devices in a peer-to-peer blockchain network comprising:
receiving new block information sent by one of the node devices;
determining whether the new block information satisfies a set of conditions; and
if the set of conditions is satisfied, adding the new block information to a local database of the node device, a data structure of the local database being established based on the structured DAG, and the structured DAG being used to characterize connection relationship between blocks, and the connection relationship between the blocks including at least a connection relationship between milestone blocks, connection relationship between the blocks created by each of the node devices and connection relationship between the milestone blocks and non-milestone blocks, the milestone blocks being used to confirm information of the new block and corresponding information of blocks directly or indirectly associated therewith,
wherein the determining whether the new block information satisfies the set of conditions comprises:
determining whether the new block information satisfies a syntactical requirement;
if yes, determining whether the hash result of the new block information satisfies a first difficulty condition; and
if yes, determining that the new block information satisfies the set of conditions; and
determining whether the block pointed by the new block is in the local database;
if not, requesting the block from the node device creating the block pointed by the pointer of the new block;
if the transaction information included in the new block information is determined to be identical to a first transaction information in the local transaction pool, removing the first transaction information from the local transaction pool,
wherein the local transaction pool includes transaction information to be processed that is not carried by the block; and
determining whether the new block is a milestone block;
if so, updating a local distributed ledger based on the information of the milestone block and blocks directly or indirectly associated with the milestone block.