EP-3797499-B1 - AUTOCOMMIT TRANSACTION MANAGEMENT IN A BLOCKCHAIN NETWORK
Inventors
- IRAZABAL, JERONIMO
- GARAGIOLA, ANDRES
- MASINI, Diego, Angel
- PONCELEON, DULCE
Dates
- Publication Date
- 20260513
- Application Date
- 20190513
Claims (15)
- A method (400) for providing a one-step transaction submission in a blockchain network, comprising: sending a transaction proposal (410), by a client node, to one or more peers of a plurality of peers; simulating a transaction (430) associated with the transaction proposal, by at least one peer of the plurality of peers, and communicating results of the simulation (440) to other peers, so that all endorser peers out of the plurality of peers eventually receive the results; then evaluating (450), by an endorser peer of the plurality of peers, whether an endorsement policy has been fulfilled; and when the endorsement policy has been fulfilled, sending the transaction (460) to at least one orderer node to be committed to a ledger, by the endorser peer.
- The method of claim 1, further comprising: widespreading the transaction proposal, by the plurality of peers, using an underlying protocol.
- The method of claim 2, wherein the underlying protocol is a gossip protocol.
- The method of claim 1, further comprising: communicating results of the simulation, by the at least one peer of the plurality of peers, to other peers so all endorsers associated with a given chaincode eventually receive the results.
- The method of claim 1, wherein the sending of the transaction to the at least one orderer node when the endorsement policy has been fulfilled is random in order to support byzantine behavior by the at least one orderer node.
- The method of claim 1, wherein the blockchain network supports a plurality of transaction modes, and which transaction mode is used is set globally, on each peer, in the transaction proposal itself, or a combination thereof.
- The method of claim 1, wherein the endorsement policy determines a number of peers that must agree on transaction results, which set of peers must agree on the transaction results, or both.
- The method of claim 1, wherein a transaction flow of the one-step transaction submission process is fault tolerant to provide similar or identical security guarantees to a transaction flow in which the client is responsible for gathering results from the peers and determining when the policy has been fulfilled.
- A system (100), comprising: a client node (110); a plurality of peers comprising at least one endorser node (120, 122, 124); and at least one orderer node (130, 132), wherein the client node is configured to send transaction proposals to one or more peers of the plurality of peers, and the plurality of peers are configured to: simulate a transaction associated with the transaction proposed and communicate results of the simulation to other peers, then evaluate whether an endorsement policy has been fulfilled, and when the endorsement policy has been fulfilled, send the transaction to the at least one orderer node (130, 132) to be committed to a ledger.
- The system of claim 9, wherein the plurality of peers are further configured to widespread the transaction proposal used with a gossip protocol.
- The system of claim 9, where the plurality of peers are further configured to communicate results of the simulation to other peers so all endorsers associated with a given chaincode eventually receive the results.
- The system of claim 9, wherein the transaction is sent to the at least one orderer node when the endorsement policy has been fulfilled is random in order to support byzantine behavior by the at least one orderer node.
- The system of claim 9, wherein the system supports a plurality of transaction modes, and which transaction mode is used is set globally, on each peer, in the transaction proposal itself, or a combination thereof.
- The system of claim 9, wherein the endorsement policy determines a number of peers that must agree on transaction results, which set of peers must agree on the transaction results, or both.
- A non-transitory computer readable medium having stored therein program instructions, that when executed by at least one processor, cause the at least one processor to perform the steps of any of claims 1 to 8.
Description
Technical Field This application generally relates to transaction management, and more particularly, to autocommit transaction management in a blockchain network. BACKGROUND The flow to submit a transaction in a blockchain network may involve several steps for the client, especially when the invoked smart-contract has an associated policy that must be fulfilled before being committed to the ledger. This is the case in Hyperledger® Fabric v1, where a client first needs to send a transaction proposal to one or multiple peers (peers are specified in the endorsing policy), collect the results, determine whether the endorsing policy has been satisfied, and then submit the transaction to one or multiple orderer nodes. While the provision of the client Software Development Kit (SDK) for a blockchain platform simplifies those tasks from the application code interacting with a blockchain network, the communication overhead and processing tasks are not avoidable. The situation becomes critical when communication and processing resources are limited (e.g., for Internet-of-Things (IoT) devices). Accordingly, an improved transaction management approach that overcomes these deficiencies may be beneficial. Anonymous, "Ledger - hyperledger-fabricdocs master documentation" describes the ledger of Hyperledger Fabric, including its transaction flow. Anonymous, "Transaction Flow - hyperledger-fabricdocs master documentation" describes the transaction flow of Hyperledger Fabric. Tackmann Björn et al, "Secure Event Tickets on a Blockchain", describes a ticket system based on Hyperledger Fabric V1, including a smart contract that manages tickets assets on the blockchain. Marko Vukolic, "Rethinking Permissioned Blockchains", describes that current blockchain platforms, especially the recent permissioned systems, have architectural limitations, such as smart contracts running sequentially. CN 108009917 A describes a transaction verification and registration method of digital currency which comprises the central node authorizing one or more institutions to perform transaction verification. SUMMARY The invention is defined in the independent claims. Advantageous features are described in the dependent claims. Certain embodiments of the present application may provide solutions to the problems and needs ir the art that have not yet been fully identified, appreciated, or solved by conventional blockchain transaction management technologies. For example, some embodiments of the present application pertain to autocommit transaction management in a blockchain network. One example embodiment may provide a method that includes a method for providing a one-step transaction submission in a blockchain network. The method may include one or more of sending a transaction proposal, by a client node, to one or more peers of a plurality of peers, simulating a transaction associated with the transaction proposal, by at least one peer of the plurality of peers, evaluating, by an endorser peer, whether an endorsement policy has been fulfilled, and when the endorsement policy has been fulfilled, sending the transaction to at least one orderer node to be committed to a ledger, by the endorser peer. Another example embodiment may provide a system that includes a client node, a plurality of peers, and at least one endorser node. The client node is configured to send transaction proposals to one or more peers of the plurality of peers. The plurality of peers are configured to perform one or more of simulate a transaction associated with the transaction proposal, evaluate whether an endorsement policy has been fulfilled, and/or when the endorsement policy has been fulfilled, send the transaction to the at least one orderer node to be committed to a ledger. A further example embodiment may provide a non-transitory computer readable medium having stored therein program instructions, that when executed by at least one processor, cause the processor to perform one or more of receive a transaction proposal from a client node, simulate a transaction associated with the transaction proposal, evaluate whether an endorsement policy has been fulfilled, and/or when the endorsement policy has been fulfilled, send the transaction to at least one orderer node to be committed to a ledger. BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which: FIG. 1 illustrates a network diagram of a network of blockchain nodes implementing a schema, according to example embodiments.FIG. 2 illustrates an example peer node blockchain architecture configuration for an asset sharing scenario, according to example embodiments.FIG. 3 is a diagram illustrating a permissioned blockchain network, according to example embodiments.FIG. 4 illustrates a flow diagram of an example method of providing autocommit transaction management in a blockchain network.FIG. 5A illustrates an example physic