Method and system for parallel processing of smart contracts in permissioned blockchains
Abstract
A method for parallel execution of dispatches in a smart contract in a blockchain includes: receiving, by a blockchain node in a blockchain network, a smart contract; identifying dispatches as inputs for the smart contract; separating the dispatches into sets, where each set includes at least one dispatch where each dispatch includes a common reference value associated with an entry in a prior block in the blockchain; determining one valid dispatch in each set based on predetermined criteria; executing the smart contract using the one valid dispatch for each set; a new block for the blockchain including blockchain data entries generated by execution of the smart contract; and transmitting the generated new block to a plurality of additional nodes in the blockchain network.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for parallel execution of dispatches in a smart contract in a blockchain, comprising:
receiving, by a receiver of a blockchain node in a blockchain network, a smart contract associated with a blockchain;
identifying, by a processor of the blockchain node, a plurality of dispatches as inputs for the smart contract;
separating, by the processor of the blockchain node, the plurality of dispatches into one or more sets of dispatches, where each set of dispatches includes at least one dispatch and where each dispatch in a set of dispatches includes a common reference value associated with an entry in a prior block in the blockchain;
determining, by the processor of the blockchain node, one valid dispatch in each of the one or more sets of dispatches based on predetermined criteria;
executing, by the processor of the blockchain node, the smart contract using the one valid dispatch for each of the one or more sets of dispatches, the one valid dispatch for each of the one or more sets of dispatches being executed in parallel;
generating, by the processor of the blockchain node, a new block for the blockchain, wherein the new block includes one or more blockchain data entries, the one or more blockchain data entries including data generated by execution of the smart contract; and
transmitting, by a transmitter of the blockchain node, the generated new block to a plurality of additional nodes in the blockchain network.
2. The method of claim 1 , wherein the predetermined criteria includes ordering each dispatch in a set of dispatches, and
the one valid dispatch for a set of dispatches is a first dispatch after ordering the set of dispatches.
3. The method of claim 2 , wherein each dispatch in the set of dispatches is ordered based on a hash value included in the respective dispatch.
4. The method of claim 1 , wherein the blockchain is a permissioned blockchain.
5. The method of claim 1 , wherein the common reference value is an identifier of a blockchain transaction in the blockchain.
6. The method of claim 1 , wherein
executing the smart contract using the one valid dispatch generates a new blockchain transaction transferring an asset, and
the data generated by execution of the smart contract includes the new blockchain transaction for each of the one or more sets of dispatches.
7. The method of claim 6 , wherein the asset transferred in a new blockchain transaction for one valid dispatch is identified in the common reference value included in the set of dispatches including the one valid dispatch.
8. A system for parallel execution of dispatches in a smart contract in a blockchain, comprising:
a blockchain network;
a blockchain node included in the blockchain network; and
a plurality of additional nodes in the blockchain network, wherein
the blockchain node includes:
a receiver receiving a smart contract associated with a blockchain; and
a processor configured for:
identifying a plurality of dispatches as inputs for the smart contract,
separating the plurality of dispatches into one or more sets of dispatches, where each set of dispatches includes at least one dispatch and where each dispatch in a set of dispatches includes a common reference value associated with an entry in a prior block in the blockchain,
determining one valid dispatch in each of the one or more sets of dispatches based on predetermined criteria,
executing, the smart contract using the one valid dispatch for each of the one or more sets of dispatches, the one valid dispatch for each of the one or more sets of dispatches being executed in parallel, and
generating a new block for the blockchain, wherein the new block includes one or more blockchain data entries, the one or more blockchain data entries including data generated by execution of the smart contract, and
a transmitter transmitting the generated new block to the plurality of additional nodes.
9. The system of claim 8 , wherein
the predetermined criteria includes ordering each dispatch in a set of dispatches, and
the one valid dispatch for a set of dispatches is a first dispatch after ordering the set of dispatches.
10. The system of claim 9 , wherein each dispatch in the set of dispatches is ordered based on a hash value included in the respective dispatch.
11. The system of claim 8 , wherein the blockchain is a permissioned blockchain.
12. The system of claim 8 , wherein the common reference value is an identifier of a blockchain transaction in the blockchain.
13. The system of claim 8 , wherein
executing the smart contract using the one valid dispatch generates a new blockchain transaction transferring an asset, and
the data generated by execution of the smart contract includes the new blockchain transaction for each of the one or more sets of dispatches.
14. The system of claim 13 , wherein the asset transferred in a new blockchain transaction for one valid dispatch is identified in the common reference value included in the set of dispatches including the one valid dispatch.
15. A method for parallel execution of dispatches in a smart contract in a blockchain, comprising:
receiving, by a receiver of a blockchain node in a blockchain network, a smart contract associated with a blockchain;
identifying, by a processor of the blockchain node, a plurality of dispatches as inputs for the smart contract;
separating, by the processor of the blockchain node, the plurality of dispatches into one or more sets of dispatches, where each set of dispatches includes at least one dispatch and where each dispatch in a set of dispatches includes a common reference value associated with an entry in a prior block in the blockchain;
determining, by the processor of the blockchain node, one valid dispatch in each of the one or more sets of dispatches based on predetermined criteria;
executing, by the processor of the blockchain node, the smart contract using the one valid dispatch for each of the one or more sets of dispatches;
generating, by the processor of the blockchain node, a new block for the blockchain, wherein the new block includes one or more blockchain data entries, the one or more blockchain data entries including data generated by execution of the smart contract; and
transmitting, by a transmitter of the blockchain node, the generated new block to a plurality of additional nodes in the blockchain network,
wherein
the predetermined criteria includes ordering each dispatch in a set of dispatches, and
the one valid dispatch for a set of dispatches is a first dispatch after ordering the set of dispatches.
16. The method of claim 15 , wherein each dispatch in the set of dispatches is ordered based on a hash value included in the respective dispatch.
17. A method for parallel execution of dispatches in a smart contract in a blockchain, comprising:
receiving, by a receiver of a blockchain node in a blockchain network, a smart contract associated with a blockchain;
identifying, by a processor of the blockchain node, a plurality of dispatches as inputs for the smart contract;
separating, by the processor of the blockchain node, the plurality of dispatches into one or more sets of dispatches, where each set of dispatches includes at least one dispatch and where each dispatch in a set of dispatches includes a common reference value associated with an entry in a prior block in the blockchain;
determining, by the processor of the blockchain node, one valid dispatch in each of the one or more sets of dispatches based on predetermined criteria;
executing, by the processor of the blockchain node, the smart contract using the one valid dispatch for each of the one or more sets of dispatches;
generating, by the processor of the blockchain node, a new block for the blockchain, wherein the new block includes one or more blockchain data entries, the one or more blockchain data entries including data generated by execution of the smart contract; and
transmitting, by a transmitter of the blockchain node, the generated new block to a plurality of additional nodes in the blockchain network,
wherein
executing the smart contract using the one valid dispatch generates a new blockchain transaction transferring an asset, and
the data generated by execution of the smart contract includes the new blockchain transaction for each of the one or more sets of dispatches.
18. The method of claim 17 , wherein the asset transferred in a new blockchain transaction for one valid dispatch is identified in the common reference value included in the set of dispatches including the one valid dispatch.
19. A system for parallel execution of dispatches in a smart contract in a blockchain, comprising:
a blockchain network;
a blockchain node included in the blockchain network; and
a plurality of additional nodes in the blockchain network, wherein
the blockchain node includes:
a receiver receiving a smart contract associated with a blockchain; and
a processor configured for:
identifying a plurality of dispatches as inputs for the smart contract,
separating the plurality of dispatches into one or more sets of dispatches, where each set of dispatches includes at least one dispatch and where each dispatch in a set of dispatches includes a common reference value associated with an entry in a prior block in the blockchain,
determining one valid dispatch in each of the one or more sets of dispatches based on predetermined criteria,
executing, the smart contract using the one valid dispatch for each of the one or more sets of dispatches, and
generating a new block for the blockchain, wherein the new block includes one or more blockchain data entries, the one or more blockchain data entries including data generated by execution of the smart contract, and
a transmitter transmitting the generated new block to the plurality of additional node,
wherein
the predetermined criteria includes ordering each dispatch in a set of dispatches, and
the one valid dispatch for a set of dispatches is a first dispatch after ordering the set of dispatches.
20. The system of claim 19 , wherein each dispatch in the set of dispatches is ordered based on a hash value included in the respective dispatch.
21. A system for parallel execution of dispatches in a smart contract in a blockchain, comprising:
a blockchain network;
a blockchain node included in the blockchain network; and
a plurality of additional nodes in the blockchain network, wherein
the blockchain node includes:
a receiver receiving a smart contract associated with a blockchain; and
a processor configured for:
identifying a plurality of dispatches as inputs for the smart contract,
separating the plurality of dispatches into one or more sets of dispatches, where each set of dispatches includes at least one dispatch and where each dispatch in a set of dispatches includes a common reference value associated with an entry in a prior block in the blockchain,
determining one valid dispatch in each of the one or more sets of dispatches based on predetermined criteria,
executing, the smart contract using the one valid dispatch for each of the one or more sets of dispatches, and
generating a new block for the blockchain, wherein the new block includes one or more blockchain data entries, the one or more blockchain data entries including data generated by execution of the smart contract, and
a transmitter transmitting the generated new block to the plurality of additional nodes,
wherein
executing the smart contract using the one valid dispatch generates a new blockchain transaction transferring an asset, and
the data generated by execution of the smart contract includes the new blockchain transaction for each of the one or more sets of dispatches.
22. The system of claim 21 , wherein the asset transferred in a new blockchain transaction for one valid dispatch is identified in the common reference value included in the set of dispatches including the one valid dispatch.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.