IP Library Granted Patent US 11,088,857
Granted Patent B2
US 11,088,857 · App. 16/786,970 · Granted Aug 10, 2021

Blockchain timestamp agreement

Inventors: Sachiko Yoshihama (Kawasaki, JP); Tatsushi Inagaki (Yokohama, JP); Yohei Ueda (Tokyo, JP); Kohichi Kamijoh (Tokyo, JP); Hiroaki Nakamura (Tokyo, JP)
Assignee: International Business Machines Corporation
H04L9/3297G06F16/1805G06F16/1834G06F16/27G06Q20/382H04L9/0643H04L29/06H04L43/0852H04L43/106H04L2209/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,088,857
App. No.
16/786,970
Granted
Aug 10, 2021
Kind
B2
Abstract

An example operation may include one or more of receiving a blockchain request from a client application, determining a network latency between the client application and the endorsing node based on a network path between the client application and the endorsing node, extracting a timestamp from the blockchain request, determining whether the extracted timestamp is invalid based on the network latency between the client application and the endorsing node, and in response to determining that the timestamp is valid, generating an endorsement for the blockchain request and transmitting the endorsement to the client application.

Claims (44)

1. An endorsing node, comprising:

a processor configured to determine a network latency between a client application and an endorsing node based on a network path between the client application and the endorsing node, extract a timestamp from a blockchain request, in response to a determination that the timestamp is valid, generate an endorsement for the blockchain request and transmit the endorsement to the client application.

2. The endorsing node of claim 1 , wherein the processor is further configured to:

determine whether the extracted timestamp is invalid based on the network latency, between the client application and the endorsing node; and

decline to endorse the blockchain request in response to a determination that the timestamp is invalid.

3. The endorsing node of claim 1 , wherein the network latency is determined by a monitoring thread that runs on the endorsing node and periodically measures the network latency between the endorsing node and each of multiple client applications within a blockchain network.

4. The endorsing node of claim 1 , wherein the network latency is retrieved from an in-memory storage of the endorsing node.

5. The endorsing node of claim 1 , wherein the processor is configured to estimate a timestamp for the blockchain request based on the network latency and determine whether the extracted timestamp is within a predefined threshold of the estimated timestamp to determine whether the extracted time stamp is valid.

6. The endorsing node of claim 1 , wherein the processor is configured to determine whether the extracted timestamp is too early.

7. The endorsing node of claim 1 , wherein the processor is further configured to simulate the blockchain request and generate the endorsement in response to a determination that the timestamp is valid and the blockchain request is simulated successfully.

8. A method of an endorsing node, comprising:

determining a network latency between a client application and an endorsing node based on a network path between the client application and the endorsing node;

extracting timestamp from a blockchain request;

in response to a determination that the timestamp is valid, generating an endorsement for the blockchain request; and

transmitting the endorsement to the client application.

9. The method of claim 8 , further comprising:

determining whether the extracted timestamp is invalid based on the network latency between the client application and the endorsing node; and

declining to endorse the blockchain request in response to a determination that the timestamp is invalid.

10. The method of claim 8 , wherein the network latency is determined by a monitoring thread running on the endorsing node that periodically measures the network latency between the endorsing node and each of multiple client applications within a blockchain network.

11. The method of claim 8 , wherein the network latency is retrieved from an in-memory storage of the endorsing node.

12. The method of claim 9 , wherein the determining whether the extracted timestamp is invalid comprises estimating a timestamp for the blockchain request based on the network latency and determining whether the extracted timestamp is within a predefined threshold of the estimated timestamp.

13. The method of claim 9 , wherein the determining whether the extracted timestamp is invalid comprises determining whether the extracted timestamp is too early.

14. The method of claim 8 , further comprising simulating the blockchain request and generating the endorsement in response to the timestamp being determined as valid and the blockchain request being simulated successfully.

15. A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform a method comprising:

determining a network latency between a client application and an endorsing node based on a network path between the client application and the endorsing node;

extracting a timestamp from a blockchain request;

in response to a determination that the timestamp is valid, generating an endorsement for the blockchain request; and

transmitting the endorsement to the client application.

16. An endorsing node, comprising:

a processor configured to extract a timestamp from a blockchain request, determine the extracted timestamp is incorrect based on a network latency determined between a client application and the endorsing node by the endorsing node, determine a correct timestamp for the blockchain request, modify the blockchain request via replacement of the extracted timestamp with the correct timestamp, and transmit the blockchain request with the corrected timestamp to the client application.

17. The endorsing node of claim 16 , wherein the processor is further configured to determine the network latency between the client application and the endorsing node based on a network path between the peer node and the endorsing node.

18. The endorsing node of claim 16 , wherein the processor is configured to estimate a timestamp for the blockchain request based on the network latency and determine whether the extracted timestamp is within a predefined threshold of the estimated timestamp to determine whether the extract timestamp is incorrect.

19. The endorsing node of claim 18 , wherein the processor is configured to replace the extracted timestamp with the estimated timestamp.

20. The endorsing node of claim 16 , wherein the processor is configured to determine whether the extracted timestamp is too early.

21. A method of an endorsing node, comprising:

extracting a timestamp from a blockchain request;

determining the extracted timestamp is incorrect based on a network latency determined between a client application and the endorsing node by the endorsing node;

determining a correct timestamp for the blockchain request;

modifying the blockchain request via replacement of the extracted timestamp with the correct timestamp; and

transmitting the blockchain request with the corrected timestamp to the client application.

22. The method of claim 21 , further comprising determining the network latency between the client application and the endorsing node based on a network path between the client application and the endorsing node.

23. The method of claim 21 , wherein the determining whether the extracted timestamp is incorrect comprises estimating a timestamp for the blockchain request based on the network latency and determining whether the extracted timestamp is within a predefined threshold of the estimated timestamp.

24. The method of claim 23 , wherein the modifying comprises replacing the extracted timestamp with the estimated timestamp.

25. The method of claim 21 , wherein the determining whether the extracted timestamp is incorrect comprises determining whether the extracted timestamp is too early.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2024
From: GREEN MARKET SQUARE LIMITED
To: WORKDAY, INC.
Reel/Frame 067801/0892 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: GREEN MARKET SQUARE LIMITED
To: WORKDAY, INC.
Reel/Frame 067556/0783 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GREEN MARKET SQUARE LIMITED
Reel/Frame 058888/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2020
From: YOSHIHAMA, SACHIKO; INAGAKI, TATSUSHI; UEDA, YOHEI; KAMIJOH, KOHICHI; NAKAMURA, HIROAKI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051775/0074 →