IP Library Granted Patent US 10,686,601
Granted Patent B2
US 10,686,601 · App. 16/006,966 · Granted Jun 16, 2020

Consistency and consensus management in decentralized and distributed systems

Inventors: Shamim A. Naqvi (Morristown, NJ); Robert Frank Raucci (New York, NY); Goutham Puppala (Basking Ridge, NJ)
Assignee: SENSORIANT, INC.
H04L9/3218H04L9/083H04L9/3239H04L2209/38H04L2209/46
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 10,686,601
App. No.
16/006,966
Granted
Jun 16, 2020
Kind
B2
Abstract

A method for achieving consensus amongst a distributed and decentralized set of computers, devices or components in a network interacting via messaging is presented. The method does not rely on the availability of an overall ledger that is consulted for every interaction. Rather, the interacting components communicate directly with each other via messages that contain proofs of consistency that may be used to achieve local consistency amongst the interacting components. Local consistency guarantees global consistency. For regulatory and record keeping purposes, use of an overall ledger may be contemplated for regulatory and record keeping purposes. The latter may be updated by the interacting devices via an asynchronous updating mechanism.

Claims (17)

1. A method of performing a transaction between a first communication device and a second communication device over a communication network, comprising:

requesting, with the first communication device, at least a first integer value from the second communications device, the first integer value being generated for use only in the transaction between the first and second communication devices, said first and second communication devices being provisioned with (i) first and second complementary cryptographic keys that are provided by a trusted party, the first key being usable to generate a proof that verifies that computer logic used a given input to produce a given output and the second key being usable to verify that the proof is accurate; (ii) a proof generating engine (PGE) that uses the computer logic and the first key as inputs and provides as outputs a first proof and a token that is an output arising from execution of a computer program (CP); and (ii) a proof verification engine (PVE) that uses the proof, the second key and the token as inputs and output indicating if the proof is accurate;

calculating, with the first communication device, a first value of an irreversible function that uses as an input the first integer value received from the second communication device;

executing in an atomic operation, with the first communication device, the computer logic to generate the token and a first proof and permanently delete the first integer value, the first proof being usable to verify that the computer logic generated the token, the token including (i) a state value that is to be transferred from the first communication device to the second communication device, (ii) a second value of the irreversible function, the second value of the irreversible function being calculated by a third communication device that transferred the state value to the first communication device, wherein the input to the irreversible function when calculating the second value includes a second integer value received by the third communication device from the first communication device and (iii) a product of the first value of the irreversible function and the second value of the irreversible function; and

sending, in one or more data messages, the token and the first proof to the second communication device from the first communication device.

2. The method of claim 1 , wherein calculating the first value of the irreversible function uses as another input to the irreversible function an identifier of the second communication device.

3. The method of claim 1 , wherein calculating the second value of the irreversible function uses as another input to the irreversible function an identifier of the first communication device.

4. The method of claim 1 , wherein the state value is a currency value to be transferred from the first communication device to the second communication device.

5. The method of claim 1 , wherein the first integer value is a randomly generated value generated by the second communication device.

6. The method of claim 1 , wherein the one or more data messages sent by the first communication device to the second communication device further includes a first hash value that is a hash of a combination of a second token generated by the third communication device and sent to the first communication device and a second proof that verifies that the third communication device generated the second token.

7. The method of claim 6 , wherein the one or more data messages sent by the first communication device to the second communication device further includes a second hash value that is a hash of a combination of the token generated by the first communication device and sent to the second communication device, the first proof and the first hash value.

8. The method of claim 1 , wherein the calculating and executing are performed in a trusted execution environment of the first communication device.

9. A method of performing a transaction between a first communication device and a second communication device over a communication network, comprising:

generating, with the second communication device, at least a first integer value, the first integer value being generated for use only in the transaction between the first and second communication devices, said first and second communication devices being provisioned with (i) first and second complementary cryptographic keys that are provided by a trusted party, the first key being usable to generate a proof that verifies that computer logic used a given input to produce a given output token and the second key being usable to verify that the proof is accurate; (ii) a proof generating engine (PGE) that uses the computer logic and the first key as inputs and provides as outputs a proof and the given output token; and (ii) a proof verification engine (PVE) that uses the proof, the second key and the token as inputs and output indicating if the proof is accurate;

sending the first integer value from the second communication device to the first communication device;

receiving at the second communication device, in one or more data messages from the first communication device, the given output token and the proof;

using the first proof, the second key and the token as inputs to the PVE to verify that the computer logic generated the given output token, the token including (i) a state value that is to be transferred from the first communication device to the second communication device, (ii) a first value of an irreversible function, the first value of the irreversible function being calculated by a third communication device that transferred the state value to the first communication device, wherein the input to the irreversible function when calculating the first value includes a second integer value received by the third communication device from the first communication device and (iii) a product of the first value of the irreversible function and a second value of the irreversible function that is calculated by the first communication device using the first integer value as an input value.

Assignments (5)
CHANGE OF NAME Recorded Jun 30, 2022
From: SAFESHARE, INC.
To: SAFELISHARE, INC.
Reel/Frame 060543/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2021
From: SENSORIANT, INC.
To: SAFESHARE, INC.
Reel/Frame 057834/0906 →
TERMINATION OF SECURITY AGREEMENT @ REEL 055997 AND FRAME 0672 Recorded Sep 17, 2021
From: FORTH VENTURES LLC
To: SENSORIANT, INC.
Reel/Frame 057692/0302 →
SECURITY AGREEMENT Recorded Apr 21, 2021
From: SENSORIANT, INC.
To: FORTH VENTURES LLC
Reel/Frame 055997/0672 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2018
From: NAQVI, SHAMIM A.; RAUCCI, ROBERT FRANK; PUPPALA, GOUTHAM
To: SENSORIANT, INC.
Reel/Frame 046072/0110 →
Continuity (5)
Provisional Application 62651410 · Apr 2, 2018
Provisional Application 62626349 · Feb 5, 2018
Provisional Application 62638515 · Mar 5, 2018
Provisional Application 62621487 · Jan 24, 2018
Related Publication 20190229918A1 · Jul 25, 2019