IP Library › Granted Patent US 11,177,938
Granted Patent B2
US 11,177,938 · App. 16/389,517 · Granted Nov 16, 2021

Database composite endorsement

Inventors: Hong Wei Sun (Beijing, CN); Yan Rong Shen (Beijing, CN); Xi Xue Jia (Beijing, CN); Shuai Wang (Beijing, CN); Bin Jia (Hursley, GB)
Assignee: International Business Machines Corporation
H04L9/0637G06F9/466G06F30/20H04L9/0643H04L67/1074H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,177,938
App. No.
16/389,517
Granted
Nov 16, 2021
Kind
B2
Abstract

An example operation may include one or more of submitting, by a blockchain client, a transaction proposal to a blockchain network, endorsing, by one or more endorser nodes or peers, the transaction proposal, endorsing comprising updating an in-process world state list, providing one or more composite endorsements, each comprising a base result and a forecasted result corresponding to the transaction proposal, submitting an endorsed transaction in response to the one or more composite endorsements, validating, by a committer node or peer, the endorsed transaction, committing the endorsed transaction to the blockchain network, and removing the committed transaction from the in-process world state list.

Claims (61)

1. An endorser node of a blockchain network, the endorser node comprising:

a hardware-implemented processor to receive one or more instructions from a memory to configure the processor to:

receive a transaction proposal, associated with a transaction, from a client of the blockchain network;

generate a base result and a forecasted result from the transaction proposal;

store the transaction, the base result, and the forecasted result in an in-process world state list of the endorser node;

send a composite endorsement comprising the base result and the forecasted result to the client to endorse the transaction and to send the endorsed transaction to a committer node of the blockchain network to validate the endorsed transaction and to commit the endorsed transaction to a shared ledger of the blockchain network; and

remove the transaction from the in-process world state list in response to the committal of the endorsed transaction.

2. The endorser node of claim 1 , wherein, when the hardware-implemented processor is configured to generate the base result and the forecasted result, the hardware-implemented processor is further configured to:

generate the base result based on a simulation of the transaction proposal using a world state of the shared ledger; and

generate the forecasted result based on a simulation of the transaction proposal using the in-process world state list.

3. The endorser node of claim 2 , wherein, when the hardware-implemented processor is configured to store the transaction, the base result, and the forecasted result in the in-process world state list, the hardware-implemented processor is configured to:

store the transaction, the base result, and the forecasted result in chronological order without updating a key in the world state.

4. The endorser node of claim 2 , wherein the hardware-implemented processor is configured to:

identify that the endorser node cannot endorse the transaction proposal; and

in response to the identification, the hardware-implemented processor is further configured to:

remove a current world state of the shared ledger and obtain a correct world state of the shared ledger from another endorser node of the blockchain network.

5. The endorser node of claim 2 , wherein the in-process world state list comprises uncommitted transactions endorsed by the endorser node and a corresponding forecasted value for each endorsed uncommitted transaction.

6. The endorser node of claim 5 , wherein the hardware-implemented processor is configured to:

determine the corresponding forecasted value by a previous transaction that modifies a same world state key as the transaction proposal.

7. The endorser node of claim 2 , wherein, when the hardware-implemented processor is configured to remove the endorsed transaction from the in-process world state, the hardware-implemented processor is configured to:

receive a notification from the committer node to remove the committed endorsed transaction from the in-process world state based on a determination by the committer node that either of the base result or the forecasted result matches the world state of the shared ledger.

8. A method, comprising:

receiving, by an endorser node of a blockchain network, a transaction proposal, associated with a transaction, from a client of the blockchain network;

generating, by the endorser node, a base result and a forecasted result from the transaction proposal;

storing, by the endorser node, the transaction, the base result, and the forecasted result in an in-process world state list of the endorser node;

sending, by the endorser node, a composite endorsement comprising the base result and the forecasted result to the client to create an endorsed transaction using the composite endorsement and to send the endorsed transaction to a committer node of the blockchain network to validate the endorsed transaction and to commit the endorsed transaction to a shared ledger of the blockchain network; and

removing, by the endorser node, the transaction from the in-process world state list in response to the committal of the endorsed transaction.

9. The method of claim 8 , wherein the generating the base result and the forecasted result further comprises:

generating the base result by simulating the transaction proposal using a world state of the shared ledger; and

generate the forecasted result by simulating the transaction proposal using the in-process world state list.

10. The method of claim 9 , wherein the storing the transaction, the base result, and the forecasted result in the in-process world state list further comprises:

storing the transaction, the base result, and the forecasted result in chronological order without updating a key in the world state.

11. The method of claim 9 , further comprising:

identifying that the endorser node cannot endorse the transaction proposal; and

in response to the identifying, the method further comprises:

removing a current world state of the shared ledger and obtain a correct world state of the shared ledger from another endorser node of the blockchain network.

12. The method of claim 9 , wherein the in-process world state list comprises uncommitted transactions endorsed by the endorser node and a corresponding forecasted value for each endorsed uncommitted transaction.

13. The method of claim 12 , further comprising:

determining the corresponding forecasted value by a previous transaction that modifies a same world state key as the transaction proposal.

14. The method of claim 9 , wherein the removing the endorsed transaction from the in-process world state further comprises:

receiving a notification from the committer node to remove the committed endorsed transaction from the in-process world state based on a determination by the committer node that either of the base result or the forecasted result matches the world state of the shared ledger.

15. A non-transitory computer readable medium comprising one or more instructions that when executed by a processor of an endorser node of a blockchain network cause the processor to perform:

receiving a transaction proposal, associated with a transaction, from a client of the blockchain network;

generating a base result and a forecasted result from the transaction proposal;

storing the transaction, the base result, and the forecasted result in an in-process world state list of the endorser node;

sending a composite endorsement comprising the base result and the forecasted result to the client to create an endorsed transaction using the composite endorsement and to send the endorsed transaction to a committer node of the blockchain network to validate the endorsed transaction and to commit the endorsed transaction to a shared ledger of the blockchain network and

removing the transaction from the in-process world state list in response to the committal of the endorsed transaction.

16. The non-transitory computer readable medium of claim 15 , wherein the storing the transaction, the base result, and the forecasted result in the in-process world state list further comprises:

storing the transaction, the base result, and the forecasted result in chronological order without updating a key in a world state; and

wherein the one or more instructions further cause the processor to perform:

identifying that the endorser node cannot endorse the transaction proposal; and

in response to the identifying, the one or more instructions further cause the processor to perform:

removing a current world state of the shared ledger and obtain a correct world state of the shared ledger from another endorser node of the blockchain network.

17. The non-transitory computer readable medium of claim 15 , wherein the generating the base result and the forecasted result further comprises:

generating the base result by simulating the transaction proposal using a world state of the shared ledger; and

generate the forecasted result by simulating the transaction proposal using the in-process world state list.

18. The non-transitory computer readable medium of claim 16 , wherein the in-process world state list comprises uncommitted transactions endorsed by the endorser node and a corresponding forecasted value for each endorsed uncommitted transaction.

19. The non-transitory computer readable medium of claim 18 , wherein the one or more instructions further cause the processor to perform:

determining the corresponding forecasted value by a previous transaction that modifies a same world state key as the transaction proposal.

20. The non-transitory computer readable medium of claim 15 , wherein the removing the endorsed transaction from the in-process world state further comprises:

receiving a notification from the committer node to remove the committed endorsed transaction from the in-process world state based on a determination by the committer node that either of the base result or the forecasted result matches a world state of the shared ledger.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2019
From: SUN, HONG WEI; SHEN, YAN RONG; JIA, XI XUE; WANG, SHUAI; JIA, BIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048941/0267 →
Continuity (1)
Related Publication 20200336294A1 · Oct 22, 2020