WO2024066019A1 - Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs - Google Patents

Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs Download PDF

Info

Publication number
WO2024066019A1
WO2024066019A1 PCT/CN2022/135463 CN2022135463W WO2024066019A1 WO 2024066019 A1 WO2024066019 A1 WO 2024066019A1 CN 2022135463 W CN2022135463 W CN 2022135463W WO 2024066019 A1 WO2024066019 A1 WO 2024066019A1
Authority
WO
WIPO (PCT)
Prior art keywords
consensus
node
state
multiple transactions
data
Prior art date
Application number
PCT/CN2022/135463
Other languages
English (en)
Chinese (zh)
Inventor
卓海振
Original Assignee
蚂蚁区块链科技(上海)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 蚂蚁区块链科技(上海)有限公司 filed Critical 蚂蚁区块链科技(上海)有限公司
Publication of WO2024066019A1 publication Critical patent/WO2024066019A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Definitions

  • the embodiments of this specification belong to the field of blockchain technology, and in particular, relate to a transaction execution method, a consensus node, and a blockchain system in a blockchain system.
  • Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc.
  • data blocks are combined into a chain data structure in a sequential manner according to time order, and a distributed ledger that cannot be tampered with or forged is guaranteed by cryptography. Due to the characteristics of decentralization, information cannot be tampered with, and autonomy, blockchain has also received more and more attention and application.
  • the full node is generally used as the minimum facility to participate in the consensus. The full node needs to include the full amount of data to support the consensus function.
  • the purpose of the present invention is to provide a light consensus node and transaction execution solution in a blockchain system, which can greatly save storage resources in the blockchain system and improve system efficiency.
  • the present specification provides a transaction execution method in a blockchain system, the blockchain system comprising a first consensus node and a second consensus node, the first consensus node storing state data, the state data comprising a plurality of states, the second consensus node storing verification data, the verification data corresponding to the plurality of states, the method being executed by the second consensus node, comprising:
  • the consensus proposal including a read set of multiple transactions to be executed and an arrangement order of the multiple transactions, the read set including a first state read according to the multiple transactions;
  • the verification data is updated according to the write set.
  • a second aspect of the present specification provides a transaction execution method in a blockchain system, the blockchain system comprising a first consensus node and a second consensus node, the first consensus node storing state data, the state data comprising a plurality of states, the second consensus node storing verification data, the verification data corresponding to the plurality of states, the method comprising:
  • the first consensus node sends a consensus proposal to the second consensus node, wherein the consensus proposal includes a read set of multiple transactions to be executed and an arrangement order of the multiple transactions, and the read set includes a first state read according to the multiple transactions;
  • the second consensus node executes the multiple transactions in parallel according to the read set and the arrangement order to obtain a write set, where the write set includes a second state for updating the state data; based on the result of the verification, consensus is reached on the consensus proposal; and when the consensus is successful, the verification data is updated according to the write set.
  • a third aspect of the present specification provides a blockchain system, including a first consensus node and a second consensus node, wherein the first consensus node stores state data, wherein the state data includes a plurality of states, and the second consensus node stores verification data, wherein the verification data corresponds to the plurality of states.
  • the first consensus node is used to send a consensus proposal to the second consensus node, wherein the consensus proposal includes a read set of multiple transactions to be executed and an arrangement order of the multiple transactions, and the read set includes a first state read according to the multiple transactions;
  • the second consensus node is used to verify the read set based on the verification data, and at the same time, execute the multiple transactions in parallel according to the read set and the arrangement order to obtain a write set, wherein the write set includes a second state for updating the state data; based on the result of the verification, reach a consensus on the consensus proposal; and if the consensus is successful, update the verification data according to the write set.
  • a fourth aspect of the present specification provides a consensus node in a blockchain system, the blockchain system comprising a first consensus node and a second consensus node, the first consensus node storing state data, the state data comprising a plurality of states, the second consensus node storing verification data, the verification data corresponding to the plurality of states, the second consensus node comprising:
  • a receiving unit configured to receive a consensus proposal from the first consensus node, wherein the consensus proposal includes a read set of multiple transactions to be executed and an arrangement order of the multiple transactions, wherein the read set includes a first state read according to the multiple transactions;
  • a parallel processing unit configured to execute the plurality of transactions in parallel according to the read set and the arrangement order while verifying the read set based on the verification data, to obtain a write set, wherein the write set includes a second state for updating the state data;
  • a consensus unit configured to reach a consensus on the consensus proposal according to a result of the verification
  • An updating unit is used to update the verification data according to the write set when the consensus succeeds.
  • a fifth aspect of the present specification provides a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute the method described in the first aspect.
  • a sixth aspect of this specification provides a consensus node, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method described in the first aspect is implemented.
  • LVP obtains a consensus proposal including a read set and an arrangement order of multiple transactions from FVP, so that the multiple transactions can be executed in parallel while verifying the read set based on the verification data, which greatly saves the hardware cost and time cost of data storage and improves the performance and efficiency of the blockchain system.
  • FIG1 shows a diagram of a blockchain architecture in one embodiment
  • FIG. 2 is a schematic diagram of the consensus process in the PBFT consensus algorithm
  • FIG3 is a schematic diagram of the structure of blockchain data storage of consensus nodes in the related art
  • FIG4 is a schematic diagram of the structure of an MPT tree
  • FIG5 is a schematic diagram of a state hash value tree and a storage hash value tree in an LVP in an embodiment of this specification;
  • FIG6 is a schematic diagram of a state hash value tree in an embodiment of this specification.
  • FIG7 is a flow chart of a transaction execution method in an embodiment of the present specification.
  • FIG8 is a flow chart of a transaction execution method in another embodiment of the present specification.
  • FIG9 is a structural diagram of a light consensus node in a blockchain system in an embodiment of this specification.
  • FIG1 shows a diagram of a blockchain architecture in an embodiment.
  • a blockchain 100 includes N nodes, and FIG1 schematically shows nodes 1 to 8.
  • the lines between the nodes schematically represent a P2P (Peer to Peer) connection, and the connection may be, for example, a TCP connection, etc., for transmitting data between nodes.
  • P2P Peer to Peer
  • Transactions in the blockchain field can refer to task units executed and recorded in the blockchain.
  • Transactions usually include a send field (From), a receive field (To), and a data field (Data).
  • the From field indicates the account address that initiates the transaction (i.e., initiates a transfer task to another account)
  • the To field indicates the account address that receives the transaction (i.e., receives the transfer)
  • the Data field includes the transfer amount.
  • the blockchain can provide the function of smart contracts.
  • Smart contracts on the blockchain are contracts that can be triggered and executed by transactions on the blockchain system.
  • Smart contracts can be defined in the form of code. Calling a smart contract in the blockchain is to initiate a transaction pointing to the smart contract address, so that each node in the blockchain can run the smart contract code in a distributed manner.
  • Bob sends a transaction containing information about creating a smart contract (i.e., deploying a contract) to the blockchain shown in Figure 1.
  • the data field of the transaction includes the code of the contract to be created (such as bytecode or machine code), and the to field of the transaction is empty to indicate that the transaction is used to deploy a contract.
  • the contract address "0x6f8ae93" of the contract is determined.
  • Each node adds a contract account corresponding to the contract address of the smart contract to the state database, allocates the state storage corresponding to the contract account, and stores the contract code.
  • the hash value of the contract code is saved in the state storage of the contract, so that the contract is successfully created.
  • each node in the blockchain can execute the transaction separately, thereby executing the contract separately, and updating the status database based on the execution of the contract.
  • the consensus mechanism in the blockchain is a mechanism for blockchain nodes to reach a consensus on block information (or block data) across the entire network, which can ensure that the latest block is accurately added to the blockchain.
  • the current mainstream consensus mechanisms include: Proof of Work (POW), Proof of Stake (POS), Delegated Proof of Stake (DPOS), Practical Byzantine Fault Tolerance (PBFT) algorithm, etc.
  • PW Proof of Work
  • POS Proof of Stake
  • DPOS Delegated Proof of Stake
  • PBFT Practical Byzantine Fault Tolerance
  • consensus proposal usually after a preset number of consensus nodes reach an agreement on the data to be treated as consensus (i.e., consensus proposal), the consensus on the consensus proposal is determined to be successful.
  • each node in the blockchain can generate the same state in the blockchain by executing the same transaction, so that each node in the blockchain stores the same state database.
  • FIG2 is a schematic diagram of the consensus process in the PBFT consensus algorithm.
  • the consensus process can be divided into four stages: request, pre-prepare (PP), prepare (P) and commit (C).
  • a blockchain includes four consensus nodes, node n1-node n4, wherein node n1 is, for example, a master node, and node n2-node n4 are, for example, slave nodes.
  • f 1 malicious nodes can be tolerated in node n1-node n4.
  • a user of the blockchain can send a request to node n1 through his user device, and the request is, for example, in the form of a blockchain transaction.
  • node n1 can package the multiple transactions into a consensus proposal, and send the consensus proposal and the signature of node n1 on the consensus proposal to other consensus nodes (i.e., node n2-node n4) for generating blocks.
  • the consensus proposal may include information such as the transaction body of the multiple transactions and the submission order of the multiple transactions.
  • each slave node can sign the consensus proposal and send it to each other node.
  • each consensus node signs the consensus proposal in the submission phase and sends it to other consensus nodes.
  • each consensus node can determine that the submission phase is completed and the consensus is successful. For example, after receiving and verifying the signatures of the submission phase of nodes n2 and n3, node n1 determines that the submission phase is completed, so that node n1 can execute the multiple transactions according to the consensus proposal, generate and store blocks (such as block N) including the multiple transactions, update the world state according to the execution results of the multiple transactions, and return the execution results of the multiple transactions to the user device.
  • blocks such as block N
  • nodes n2 and n3 execute the multiple transactions, update the world state according to the execution results of the multiple transactions, and generate and store block N.
  • nodes n1-n4 can still achieve consensus on the consensus proposal successfully and complete the execution of the block in the presence of a malicious node.
  • FIG3 is a schematic diagram of the structure of the blockchain data storage of the consensus node in the related art.
  • the block header of each block includes several fields, such as the previous block hash previous_Hash (Prev Hash in the figure), the random number Nonce (in some blockchain systems, this Nonce is not a random number, or in some blockchain systems, the Nonce in the block header is not enabled), the timestamp Timestamp, the block number Block Num, the state tree root hash State_Root, the transaction tree root hash Transaction_Root, the receipt tree root hash Receipt_Root, etc.
  • the previous block hash previous_Hash Prev Hash in the figure
  • the random number Nonce in some blockchain systems, this Nonce is not a random number, or in some blockchain systems, the Nonce in the block header is not enabled
  • the timestamp Timestamp the block number Block Num
  • the state tree root hash State_Root the transaction tree root hash Transaction_Root
  • the Prev Hash in the block header of the next block points to the previous block (such as block N), which is the block hash value of the previous block (i.e., the hash value of the block header).
  • the next block on the blockchain is locked to the previous block through the block header.
  • state_root is the hash value of the root of the state trie consisting of the states of all accounts in the current block, such as the Merkle Patricia Tree (MPT Tree).
  • the MPT tree is a tree structure that combines the Merkle tree and the Patricia tree (a compressed prefix tree, a more space-saving Trie tree, a dictionary tree).
  • the Merkle Tree algorithm calculates a hash value for each leaf node, and then connects two nodes to calculate the hash again until the top Merkle root.
  • Ethereum uses an improved MPT tree, which is a 16-way tree structure.
  • the state tree contains key-value pairs (key and value pairs) of the storage content corresponding to each account in the Ethereum network.
  • the "key" in the state tree can be a 160-bit identifier (the address of the Ethereum account), and the characters contained in this account address are distributed in each node in the path from the root node of the state tree to the leaf node.
  • the leaf nodes of the MPT state tree (such as node t4 and node t5) also include the Value of each account.
  • the account is a user account (also known as an external account), such as account A in FIG3, the Value of the account includes a counter (Nonce) and a balance (Balance).
  • the Value of the account includes a counter (Nonce), a balance (Balance), a contract code hash value (CodeHash) and a storage tree root hash value (Storage_root).
  • the counter for an external account, represents the number of transactions sent from the account address; for a contract account, it is the number of contracts created by the account.
  • FIG. 4 is a schematic diagram of the structure of the MPT tree. Assume that the node marked "t2" in Figure 4 corresponds to the node t2 in the state tree in Figure 3, and the node marked "t4" corresponds to the leaf node t4 in the state tree in Figure 3. As shown in Figure 4, the states included in each leaf node in Figure 4 are respectively represented as state1, state2, state3, and state4, and each state is also the Value of each account.
  • each node between the leaf node where state1 is located and the root node includes the characters "f", "5" and "324", so that the account address corresponding to state1 can be obtained as "f5324".
  • the child nodes of the node including “5” include leaf nodes.
  • the following formula (1) can be used for calculation:
  • hash(324,74) hash(hash(324,hash(state1)),hash(74,hash(a,c))) (1)
  • the hash value of the node in the state tree is a hash value calculated based on all the data of the node, and the hash value included in the node that is not a leaf node and a non-root node in the state tree is a hash value obtained by concatenating the hash values of all its child nodes and hashing them.
  • the hash value included in each node between the leaf node and the root node can be calculated from bottom to top in the state tree, so that the calculated hash value of node t2 in Figure 3 can be concatenated with the hash value of node t3, and the concatenated data is hashed to generate the hash value of node t1.
  • the hash value of node t1 is the state root of the state tree, which is recorded in the State_Root field of block N.
  • a branch node may be included, which may be connected to multiple child nodes, and the branch node includes a hash value of the data in each child node connected to it, that is, the branch node includes multiple hash values corresponding to multiple main nodes, and the leaf node is connected after the branch node.
  • This variation also includes an extension node, which may be connected before or after the branch node, and the extension node has a child node, and the extension node includes the hash value of all data in the child nodes connected to it.
  • the hash value of the root node can also be recursively obtained based on the nodes of each layer.
  • the embodiment scheme of this specification is also applicable to this MPT tree variation.
  • This contract account generally has some states, which are defined by the state variables in the smart contract and generate new values when the smart contract is created and executed.
  • the relevant states of the contract are stored in the storage trie
  • Figure 3 schematically shows the storage trie of the contract corresponding to account B.
  • the hash value of the root node st1 of the storage tree is stored in the above storage_root, so that all states of the contract are locked to the Value (i.e., account state) of the contract account in the state tree through the root hash.
  • the storage tree can also have an MPT tree structure.
  • each node in the path from the root node to the leaf node can include characters for addressing the variable name, and the leaf node stores the value of the variable, so that the key-value mapping from the variable name (also called the state address) to the state value is stored in the storage tree.
  • the leaf nodes st2 and st3 of the storage tree include the Value of variable a, the Value of variable b, etc.
  • the characters included in each node in the node path from the root node to the leaf node st2 in the storage tree constitute the variable name of variable a, and the variable name can similarly be composed of hexadecimal characters.
  • the calculation of the hash value of each node in the storage tree can refer to the method for calculating the hash value of the node in the state tree. Specifically, when calculating the hash value of a leaf node in the storage tree, the hash value of the partial key included in the leaf node and the state in the leaf node are spliced, and then the hash value of the spliced data is calculated to obtain the hash value of the leaf node.
  • the data in the node is directly spliced, and then the hash value of the spliced data is calculated to obtain the hash value of the node.
  • the FVP node includes tree-like state data, the leaf nodes of which include the state of the account or contract variable, each node in the path from the root node to the leaf node in the state data includes the key of the state, and the parent node in the state data includes a hash value calculated based on the data in its child nodes.
  • the nodes in the blockchain reach a consensus on the next batch of transactions, and execute block N+1 after the consensus is passed, thereby generating state data corresponding to block N+1 similarly to the execution of block N, and the state data includes a state tree and storage trees corresponding to each contract.
  • the data of the state data of block N+1 that is repeated with the state data of block N can refer to the data in block N without repeated storage. In this way, when each consensus node stores complete block data and state data, a large storage space is required.
  • the embodiment of this specification provides a light consensus node (Light Validating Peer, LVP), in which only part of the state data is saved, for example, the hash value data in the state tree and the storage tree is saved, but the Value (i.e., each state) of each account or variable in the state tree and the storage tree is not saved.
  • LVP Light Validating Peer
  • the blockchain also includes a full consensus node (Full Validating Peer, FVP) that is the same as the consensus node in the related art.
  • FIG5 is a schematic diagram of the state hash value tree and the storage hash value tree in the LVP in the embodiment of this specification.
  • FIG5 is a schematic diagram of the state hash value tree in FIG5.
  • the leaf node in the state hash value tree, includes the last character of the account address and the state hash value of the corresponding leaf node in the state tree.
  • the leaf node t4 in the state hash value tree includes the hash (state1) of "state1" in the leaf node t4 in the state tree.
  • the hash values included in each node other than the leaf node and the root node in the state hash value tree can be generated using the same calculation method as in the state tree.
  • the hash (324, 74) in the node including "5" in Figure 6 can be calculated by the above formula (1).
  • the storage hash value tree can also have a structure similar to the structure shown in Figure 6.
  • the data included in the state hash value tree and the storage hash value tree other than the leaf node in Figure 5 is consistent with the corresponding nodes in the state tree and storage tree in Figure 3, so the root hash value of the node t1 in Figure 5 is consistent with the root hash value of the node t1 in Figure 3.
  • the state hash value tree and storage hash value tree shown in Figures 5 and 6 can be used to verify the read set received from the FVP, so these data can be collectively referred to as verification data. It can be understood that the verification data is not limited to including the structure shown in Figure 5 or Figure 6.
  • the verification data may at least include the hash value of the state of each leaf node in the state tree and the storage tree.
  • the verification data may at least include the hash value of the state of each leaf node in the state tree and the storage tree.
  • it is only necessary to delete the state in the leaf node in the MPT tree variant, that is, the hash value tree after the deletion can be used as the verification data in the LVP node.
  • the following will use the state data and verification data shown in Figures 3-6 as examples to describe the consensus and transaction execution scheme in the embodiments of this specification.
  • FIG7 is a flow chart of a transaction execution method in an embodiment of the present specification.
  • the method may be executed by a FVP (schematically shown as an FVP in FIG7 ) and one or more LVPs as a master node in a blockchain system, and FIG7 shows an LVP as an example.
  • the blockchain system may include at least one FVP, and the at least one FVP may jointly determine an FVP as a master node, and nodes other than the master node in the blockchain system are slave nodes.
  • the master node may initiate a consensus proposal to reach a consensus on the consensus proposal together with the slave nodes.
  • step S701 the FVP obtains read sets corresponding to multiple transactions.
  • FVP1 in the blockchain system is the master node
  • FVP1 is used as an example in the following description.
  • FVP1 can receive transactions sent by users from user clients or other FVPs.
  • the transaction can be a transfer transaction, or a transaction that calls a contract, etc.
  • FVP1 After receiving a certain amount of transactions, FVP1 can select multiple transactions from the received transactions for consensus to generate a new block.
  • FVP1 obtains the read sets corresponding to the multiple transactions.
  • the read set includes the states of the accounts and/or contract variables read from the state data according to the read operations included in the multiple transactions.
  • the read set is also the states of the accounts and/or contract variables that need to be read from the state data when the multiple transactions are executed, wherein the state data includes, for example, the state tree and storage tree shown in FIG3.
  • FVP1 can obtain the read sets of multiple transactions, and then merge the read sets of each transaction, that is, select the key-value pairs of the variables read from the state data when each variable (including account and contract variables) is read for the first time from the read sets of multiple transactions, so as to obtain the read sets corresponding to multiple transactions.
  • one of the multiple transactions includes an update to the balance of account A (for example, reducing a preset amount)
  • the transaction needs to first read the value of account A (that is, including Nonce and Balance) when it is executed, and then obtain the new value of account A according to the read value of account A.
  • the Nonce value is added by 1, and the Balance value is reduced by a preset amount to obtain the updated Nonce value and Balance value of account A, which constitute the updated Value of account A. Therefore, the read set of the transaction includes the key-value pairs of account A read, and the write set of the transaction includes the key-value pairs of account A written.
  • the read set of the multiple transactions includes the Key-Value pair of account A read from the status data, where the Key is the account address of account A, and the Value is the status of account A, which includes the Nonce value and Balance value in the leaf node corresponding to account A.
  • one of the multiple transactions includes an update operation on variable a in the contract corresponding to account B. Since writing to variable a will result in an update to Storage_root in account B, the transaction also includes a write operation on account B.
  • the read set of the transaction needs to include the Key-Value pair of account B and the key-value pair of variable a. Assuming that the reading of account B and variable a by the transaction is the first reading from the state data, the read sets of multiple transactions also include the key-value pair of account B and the key-value pair of variable a read from the state data based on the transaction.
  • the key in the Key-Value pair of account B is the account address of account B, and the Value is the state of account B, which includes the values of the Nonce, Balance, CodeHash and Storage_root fields in the leaf node corresponding to account B.
  • the key in the Key-Value pair of variable a is the variable name of variable a, and the Value is the state value of variable a.
  • the updated Storage_root can be calculated according to the updated value of variable a and merged with the Nonce, Balance, and CodeHash of account B in the read set to obtain the updated value of account B.
  • the updated value of variable a and the updated value of account B will be recorded in the write set of the transaction for updating the status data.
  • FVP1 can perform static analysis on each transaction, analyze the transaction body of the transaction and the contract code of the contract called in the transaction, so as to determine the account and/or variable name, i.e., key, that each transaction needs to read when executing, and read the value corresponding to the key from the state data through the obtained key, so as to generate the read set corresponding to the multiple transactions.
  • FVP1 can pre-execute the multiple transactions, FVP1 can pre-execute the multiple transactions according to the preset arrangement order of the multiple transactions, or FVP1 can pre-execute the multiple transactions according to the order in which the transactions are received, and determine the arrangement order of the multiple transactions in the consensus proposal according to the pre-execution order of the transactions.
  • FVP1 When FVP1 reads the value of an account or contract variable for the first time during the pre-execution of multiple transactions, it reads it from the state data and generates a read set of the multiple transactions based on the value of the account or contract variable read for the first time.
  • FVP1 caches the value of the account or contract variable read for the first time, and when the value of the account or contract variable read for the first time is updated during the pre-execution of the multiple transactions, the value of the account or contract variable is updated in the cache, and when the value of the account or contract variable is read again during the pre-execution of the multiple transactions, the value of the account or contract variable in the cache is read, wherein the value of the account or contract variable read again does not need to be written into the read set of the multiple transactions.
  • step S703 the FVP sends a consensus proposal to the LVP, where the consensus proposal includes the read sets of the multiple transactions.
  • the FVP1 can generate a consensus proposal for consensus on the order of arrangement of the multiple transactions.
  • the consensus proposal may include a transaction list of the multiple transactions, and the transaction list includes transaction bodies of multiple transactions arranged in sequence.
  • the consensus proposal also includes the read sets of the multiple transactions obtained above.
  • the read set can be verified in the PP stage, that is, it can be determined whether FVP1 is malicious in the PP stage. If it is determined that FVP1 is malicious in the PP stage, the consensus process can be terminated in advance, so that there is no need to carry out the subsequent preparation stage and submission stage, which saves computing resources and improves the system efficiency in the blockchain.
  • the consensus proposal may include transaction identifiers of multiple transactions arranged in sequence (such as hash values of each transaction) and the above-mentioned read set.
  • FVP1 or other FVPs that receive transactions from user devices may broadcast the transaction bodies of the multiple transactions to other consensus nodes through broadcasting, thereby reducing the amount of data in the consensus proposal and saving the amount of calculation used for signing during the consensus process.
  • step S705 the LVP verifies whether the read set is correct based on the verification data.
  • the state tree in FIG. 3 and the hash value of each state in the storage tree, as well as the index data to the hash value are stored in LVP as verification data.
  • LVP can use the hash values of each state to verify each state in the read set.
  • the read set includes the Value of account A.
  • LVP can obtain the state hash value of account A from the verification data and use the state hash value to verify the Value of account A, that is, verify whether the Value of account A in the read set corresponds to the state hash value of account A stored locally. If so, it can be determined that the Value of account A in the read set is the correct state.
  • LVP can obtain the state hash value of account B and the state hash value of variable a from the verification data to verify the Value of account B and the Value of variable a in the read set, respectively.
  • the state hash value tree and storage hash value tree as shown in FIG. 5 are stored in LVP as verification data.
  • LVP can perform Simplified Payment Verification (SPV) on each state in the read set based on the state hash value tree and the storage hash value tree.
  • SPV Simplified Payment Verification
  • the read set includes the Value of account A.
  • LVP can calculate the hash value (e.g., hash1) of the Value of account A in the read set, and calculate the hash value of each node layer by layer based on the values of other leaf nodes in the state hash value tree (i.e., the state hash value) and hash1 until the root hash value of the state hash value tree (e.g., root1) is calculated, and it is determined whether root1 is consistent with the root hash value of the state hash value tree stored in LVP. If they are consistent, the Value of account A in the read set is considered to be correct. In the case where the read set includes the Value of account B and the Value of variable a, LVP can similarly perform SPV verification on the Value of account B and the Value of variable a based on the state hash value tree and the storage hash value tree.
  • the read set can be similarly verified based on the verification data, which will not be repeated here.
  • block headers of each block can also be stored in LVP.
  • the block header can include the root hash value of the state tree, the root hash value of the transaction tree, and the root hash value of the receipt tree.
  • the block header can be used to perform SPV verification on transaction, receipt and other data, and can be used to generate the block header of the next block.
  • step S705 While executing step S705, LVP executes step S707 in parallel, executing multiple transactions according to the read set.
  • the LVP may include a storage device and an execution device, and the storage device and the execution device execute step S705 and step S707 in parallel. This implementation will be described in detail below with reference to FIG. 8 .
  • LVP can execute multiple transactions in the consensus proposal based on the read set and arrangement order in the consensus proposal. Specifically, when LVP needs to read the status of an account or variable in the process of executing a transaction, if it is the first read of the account or variable, the status of the account or variable can be found from the read set, and the transaction is executed based on the status of the account or variable. According to the write operation on the account or contract variable in the transaction, the write set of the transaction is obtained, and the write set includes the key-value pair of the account or the key-value pair of the contract account and the contract variable, which is used to update the status in the status data.
  • LVP can cache the status, and when executing the write to the account or contract variable, update the status of the account or contract variable in the cache, so as to be used for the subsequent reading of the status of the account or contract variable in the process of executing the transaction. Since the status of the account or variable in the read set has been verified, that is, it is the current correct status of the account or variable, the execution result obtained by executing the transaction based on the status in the read set is consistent with the execution result obtained by FVP executing the transaction based on the status in the status data.
  • LVP first reads the value of account A from the read set of multiple transactions (assuming the read value is V1), and updates V1 according to the transaction to obtain the updated value of account A (assuming the value is V2), where V2 includes the updated Nonce value and the updated Balance value, so that the updated key-value pair of account A can be written in the write set of the transaction.
  • one of the multiple transactions includes the writing of variable a of the contract corresponding to account B
  • LVP first reads the value of account B (assumed to be V3) and the value of variable a (assumed to be V4) from the read set of multiple transactions, processes V4 according to the transaction, obtains the updated value of variable a (assumed to be V5), calculates the hash value of V5, substitutes it into the storage hash value tree in Figure 5, calculates the hash value of the root node st1, takes the hash value of the root node st1 as the updated storage_root of account B, and combines the Nonce, Balance and CodeHash of account B in the read set of the transaction to calculate the updated value of account B (assumed to be V6), so that the updated key-value pair of account B and the updated key-value pair of variable a can be included in the write set of the transaction.
  • step S709 the consensus nodes (including FVP and LVP) complete the consensus process for multiple transactions.
  • LVP verifies the read set received from FVP based on the verification data stored locally. If the verification is successful, that is, the read set is verified to be the correct read set, so that LVP can subsequently perform node functions similar to FVP based on the read set, such as executing transactions, generating blocks, etc. After the verification is successful, LVP can complete the consensus process for multiple transactions, including completing the PP stage, P stage, and C stage as shown in Figure 2. If the verification fails, it can be determined that the master node may be malicious. LVP can end the consensus process as soon as possible and start the process of replacing the master node, thereby improving the efficiency of the blockchain system.
  • step S711 after each consensus node (including FVP and LVP) in the blockchain system completes the execution of the multiple transactions, a consensus may be reached on the execution results of the multiple transactions.
  • the consensus nodes can similarly reach consensus on the execution results of multiple transactions through the consensus process shown in FIG2. Specifically, after executing multiple transactions and obtaining the write sets and receipts of each transaction, each consensus node can calculate the state tree root hash values, transaction tree root hash values, and receipt tree root hash values corresponding to the multiple transactions based on the transaction bodies, write sets, and receipts of the multiple transactions.
  • the block hash i.e., the block header hash value of block B1 corresponding to the multiple transactions is calculated based on the state tree root hash values, transaction tree root hash values, receipt tree root hash values, and the block hash of the previous block (i.e., the block header hash value, as shown in Prev Hash in FIG3).
  • FVP1 can send a consensus proposal to other consensus nodes in the PP phase, and the consensus proposal includes the block hash of block B1.
  • LVP can compare whether the block hash received from FVP1 is consistent with the block hash of block B1 calculated by itself. If they are consistent, the block hash is signed and sent to other consensus nodes. After completing the PP stage, P stage, and C stage in Figure 3, the consensus on the block hash is completed. After the consensus nodes complete the consensus on the block hash, it can be ensured that the execution results of multiple transactions by each consensus node are consistent, so that each node can update the storage according to the execution results of multiple transactions.
  • step S713 LVP updates the verification data according to the write sets of multiple transactions.
  • LVP after obtaining the write sets of each transaction, LVP obtains the write sets corresponding to the multiple transactions (e.g., wset1) according to the write sets of each transaction, and the write set wset1 includes the key-value pairs of the accounts or the key-value pairs of the contract accounts and contract variables that will be used to update the state data according to the write operations of the multiple transactions.
  • LVP can update the verification data in LVP based on the hash values of each state in wset1.
  • the verification data in LVP includes the hash value of the state of each account and each contract variable. Assuming that the write set wset1 includes the key-value pair of account A to be written, LVP can find the storage location of the value hash value corresponding to the key in the verification data based on the key of account A in wset1, and write the hash value of the state corresponding to the key in wset1 to the storage location.
  • LVP first calculates the updated state hash value based on the updated value of variable a, and updates the state hash value of variable a in the verification data. Afterwards, LVP calculates the updated state hash value based on the updated value of account B, and updates the state hash value of account B in the verification data.
  • the verification data in the LVP includes a state hash value tree and a storage hash value tree as shown in FIG5 , and the LVP may first update the state hash values in the leaf nodes corresponding to the multiple states in the write set in the state hash value tree and the storage hash value tree as described in the previous embodiment. Then, based on the updated leaf nodes, the hash values included in the nodes at each level in the state hash value tree and the storage hash value tree may be updated upward until the hash values of the root nodes of the state hash value tree and the storage hash value tree are updated.
  • the block header can include the root hash value of the state tree, the root hash value of the transaction tree, and the root hash value of the receipt tree.
  • the block header can be used to perform SPV verification on data such as transactions and receipts, and can be used to generate the block header of the next block.
  • FVP1 While LVP is updating the storage, FVP1 is also updating the storage according to the execution results of multiple transactions. Specifically, FVP1 updates the state tree and storage tree shown in Figure 3 according to the write sets of multiple transactions, and stores the block B1 corresponding to the multiple transactions, which includes a block header and a block body.
  • the block body includes, for example, transaction bodies, receipts, and other data of multiple transactions.
  • LVP obtains a consensus proposal including a read set and an arrangement order of multiple transactions from FVP, so that the multiple transactions can be executed in parallel while verifying the read set based on the verification data, which greatly saves the hardware cost and time cost of data storage and improves the performance and efficiency of the blockchain system.
  • FIG8 is a flow chart of a transaction execution method in another embodiment of the present specification.
  • the LVP may include a consensus device, a storage device, and an execution device, which may be separate units in a single computing device, or may be multiple separate computing devices.
  • the storage device stores data such as verification data and block headers in the LVP.
  • step S801 the FVP obtains read sets corresponding to multiple transactions.
  • This step can refer to the description of step S701 above, and will not be repeated here.
  • step S803 the FVP sends a consensus proposal to the consensus device of the LVP, where the consensus proposal includes the above read set.
  • step S805 the consensus device sends the read set to the storage device.
  • step S807 the consensus device sends a transaction list and a read set to the execution device, wherein the transaction list includes a transaction body of multiple transactions arranged in sequence.
  • step S809 the storage device verifies whether the read set is correct based on the verification data.
  • the verification process in this step can refer to the description of step S705 above, which will not be repeated here.
  • step S809 While the storage device executes step S809, the execution device executes step S811 in parallel, executing multiple transactions according to the read set.
  • the execution device can obtain the execution result of each transaction by executing each transaction according to the read set.
  • the execution result includes, for example, the write set and receipt of each transaction.
  • step S813 if the verification is successful, the storage device returns the verification result of the verification to the consensus device.
  • step S815 the consensus devices of each consensus node (including FVP and LVP) complete the consensus on the consensus proposal.
  • step S817 the execution device returns the execution results of the multiple transactions to the consensus device.
  • step S819 the consensus device generates block hash values corresponding to the multiple transactions according to the execution results of the multiple transactions. This step can refer to the relevant description in the description of step S711 above, and will not be repeated here.
  • step S821 the consensus nodes (including FVP and LVP) reach a consensus on the block hash value, that is, the consensus devices of each consensus node reach a consensus on the block hash value.
  • step S823 when the consensus on the block hash value is successful, the consensus device sends the generated block header and updated verification data to the storage device.
  • the updated verification data may include, for example, the state hash value tree shown in FIG5 and the updated node value in the storage hash value tree.
  • step S825 the storage device stores the block header and updates the verification data.
  • FIG9 is a structural diagram of a light consensus node in a blockchain system in an embodiment of the present specification, wherein the blockchain system includes a first consensus node and a second consensus node, wherein the first consensus node stores state data, wherein the state data includes multiple states, and the second consensus node stores verification data, wherein the verification data corresponds to the multiple states, and wherein the second consensus node includes:
  • a receiving unit 91 is configured to receive a consensus proposal from the first consensus node, wherein the consensus proposal includes a read set of multiple transactions to be executed and an arrangement order of the multiple transactions, and the read set includes a first state read according to the multiple transactions;
  • a parallel processing unit 92 configured to execute the plurality of transactions in parallel according to the read set and the arrangement order while verifying the read set based on the verification data, to obtain a write set, wherein the write set includes a second state for updating the state data;
  • a consensus unit 93 configured to reach a consensus on the consensus proposal according to the verification result
  • the updating unit 94 is used to update the verification data according to the write set when the consensus succeeds.
  • the embodiments of the present specification also provide a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed in a computer, the computer is caused to execute the method shown in FIG. 7 or FIG. 8 .
  • the embodiments of this specification also provide a consensus node, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method shown in FIG. 7 or FIG. 8 is implemented.
  • a programmable logic device such as a field programmable gate array (FPGA)
  • FPGA field programmable gate array
  • HDL Hardware Description Language
  • HDL Very-High-Speed Integrated Circuit Hardware Description Language
  • ABEL Advanced Boolean Expression Language
  • AHDL Altera Hardware Description Language
  • HDCal Joint CHDL
  • JHDL Java Hardware Description Language
  • Lava Lava
  • Lola MyHDL
  • PALASM RHDL
  • VHDL Very-High-Speed Integrated Circuit Hardware Description Language
  • Verilog Verilog
  • the controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer readable medium storing a computer readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory.
  • a computer readable program code e.g., software or firmware
  • the controller may be implemented in the form of a logic gate, a switch, an application specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the means for implementing various functions included therein may also be considered as a structure within the hardware component. Or even, the means for implementing various functions may be considered as both a software module for implementing the method and a structure within the hardware component.
  • the systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions.
  • a typical implementation device is a server system.
  • the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
  • one or more embodiments of the present specification provide method operation steps as described in the embodiments or flow charts, more or less operation steps may be included based on conventional or non-creative means.
  • the order of steps listed in the embodiments is only one way of executing the order of many steps, and does not represent the only execution order.
  • the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment).
  • each module can be implemented in the same or more software and/or hardware, or the module implementing the same function can be implemented by a combination of multiple sub-modules or sub-units, etc.
  • the device embodiments described above are only schematic.
  • the division of the units is only a logical function division. There may be other division methods in actual implementation.
  • multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • each process and/or box in the flowchart and/or block diagram, as well as the combination of the process and/or box in the flowchart and/or block diagram can be implemented by computer program instructions.
  • These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
  • These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
  • a computing device includes one or more processors (CPU), input/output interfaces, network interfaces, and memory.
  • processors CPU
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
  • RAM random access memory
  • ROM read-only memory
  • flash RAM flash memory
  • Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information.
  • Information can be computer readable instructions, data structures, program modules or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
  • computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
  • one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, one or more embodiments of the present specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • One or more embodiments of the present specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules.
  • program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.
  • One or more embodiments of the present specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network.
  • program modules may be located in local and remote computer storage media, including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs. Le système de chaîne de blocs comprend un premier nœud de consensus et un second nœud de consensus, le premier nœud de consensus stocke des données d'état et les données d'état comprennent une pluralité d'états ; le second nœud de consensus stocke des données de vérification, les données de vérification étant utilisées pour vérifier la pluralité d'états. Le procédé est exécuté par le second nœud de consensus et consiste à : recevoir une proposition de consensus depuis le premier nœud de consensus, la proposition de consensus comprenant un ensemble de lecture d'une pluralité de transactions à exécuter et une séquence d'agencement de la pluralité de transactions, l'ensemble de lecture comprenant un premier état qui est lu selon la pluralité de transactions ; exécuter la pluralité de transactions en parallèle selon l'ensemble de lecture et la séquence d'agencement tout en vérifiant l'ensemble de lecture sur la base des données de vérification afin d'obtenir un ensemble d'écriture, l'ensemble d'écriture comprenant un second état pour mettre à jour les données d'état ; effectuer un consensus sur la proposition de consensus selon le résultat de vérification ; et lorsque le consensus est obtenu, mettre à jour les données de vérification selon l'ensemble d'écriture.
PCT/CN2022/135463 2022-09-30 2022-11-30 Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs WO2024066019A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211217549.7 2022-09-30
CN202211217549.7A CN115577044A (zh) 2022-09-30 2022-09-30 区块链系统中的交易执行方法、共识节点和区块链系统

Publications (1)

Publication Number Publication Date
WO2024066019A1 true WO2024066019A1 (fr) 2024-04-04

Family

ID=84583051

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/135463 WO2024066019A1 (fr) 2022-09-30 2022-11-30 Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs

Country Status (2)

Country Link
CN (1) CN115577044A (fr)
WO (1) WO2024066019A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035475A (zh) * 2020-08-28 2020-12-04 平安科技(深圳)有限公司 区块链的区块存储方法、装置、节点设备及存储介质
CN113744062A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链节点和区块链
US20220006655A1 (en) * 2020-07-03 2022-01-06 Alipay (Hangzhou) Information Technology Co., Ltd. Consensus method of consortium blockchain, and consortium blockchain system
CN114942847A (zh) * 2022-05-30 2022-08-26 蚂蚁区块链科技(上海)有限公司 执行交易的方法和区块链节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220006655A1 (en) * 2020-07-03 2022-01-06 Alipay (Hangzhou) Information Technology Co., Ltd. Consensus method of consortium blockchain, and consortium blockchain system
CN112035475A (zh) * 2020-08-28 2020-12-04 平安科技(深圳)有限公司 区块链的区块存储方法、装置、节点设备及存储介质
CN113744062A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链节点和区块链
CN114942847A (zh) * 2022-05-30 2022-08-26 蚂蚁区块链科技(上海)有限公司 执行交易的方法和区块链节点

Also Published As

Publication number Publication date
CN115577044A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN107577427B (zh) 用于区块链系统的数据迁移方法、设备和存储介质
JP6875557B2 (ja) サービス・データをブロックチェーン・システムに書き込むための方法およびデバイス
EP3561674B1 (fr) Méthode et appareil pour vérifier les données de blocs dans une blockchain
CN114827165B (zh) 对多个交易进行分组的方法和区块链节点
WO2023231336A1 (fr) Procédé d'exécution de transaction et nœud de chaîne de blocs
US20220066803A1 (en) Method for executing smart contract and blockchain node
WO2024066007A1 (fr) Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs
WO2023231337A1 (fr) Procédé d'exécution d'une transaction dans une chaîne de blocs, et nœud maître et nœud esclave de chaîne de blocs
WO2023231335A1 (fr) Procédé d'exécution d'une transaction dans une chaîne de blocs, et nœud maître de chaîne de blocs
US11327732B2 (en) Method for executing smart contract, blockchain node, and storage medium
WO2024066019A1 (fr) Procédé d'exécution de transaction dans un système de chaîne de blocs, nœud de consensus et système de chaîne de blocs
WO2024066006A1 (fr) Procédé de consensus et nœud de consensus dans un système de chaîne de blocs, et système de chaîne de blocs
WO2024066011A1 (fr) Procédé de conversion de type de nœud de consensus, et nœud de consensus
WO2024066010A1 (fr) Procédé et appareil de traitement de transaction dans un système de chaîne de blocs, et système de chaîne de blocs
WO2024066014A1 (fr) Procédé et nœud d'exécution de transaction de système de chaîne de blocs
WO2024066009A1 (fr) Procédé et appareil de vérification d'état dans un système de chaîne de blocs, et nœud et chaîne de blocs
WO2024066012A1 (fr) Procédé et appareil de conversion de type pair dans un système de chaîne de blocs, et système de chaîne de blocs
CN115150409A (zh) 在区块链系统中执行交易的方法、区块链系统和节点
WO2024092930A1 (fr) Procédé d'exécution de transaction dans un système de chaîne de blocs, et nœud
CN114785800B (zh) 跨链通信方法、装置、存储介质及计算设备
WO2024092932A1 (fr) Procédé d'exécution de transaction et nœud de chaîne de blocs
CN115982781A (zh) 一种在区块链中创建账户的方法和区块链节点
CN115760386A (zh) 区块链系统中的交易执行方法和区块链节点
CN114785800A (zh) 跨链通信方法及装置
CN116881361A (zh) 交易的执行方法、节点和区块链系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22960615

Country of ref document: EP

Kind code of ref document: A1