IP Library › Granted Patent US 10,963,400
Granted Patent B2
US 10,963,400 · App. 15/730,209 · Granted Mar 30, 2021

Smart contract creation and monitoring for event identification in a blockchain

Inventors: Pralhad D. Deshpande (Singapore, SG); Raghav Sood (Singapore, SG)
Assignee: International Business Machines Corporation
G06F12/1408G06F21/10G06F21/62G06Q10/10G06Q20/3829H04L9/3239H04L63/0442G06F2212/1052H04L2209/38H04L2209/603
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,963,400
App. No.
15/730,209
Granted
Mar 30, 2021
Kind
B2
Abstract

An example operation may include one or more of identifying a smart contract, processing the smart contract to create a smart contract definition, determining whether the smart contract has been accepted by identified parties, when the smart contract has been accepted by the identified parties, generating a smart contract definition hash, and forwarding the smart contract definition hash to one or more blockchains.

Claims (64)

1. A method comprising:

identifying, by peers of a blockchain network, a smart contract, the smart contract being signed by parties to the smart contract prior to being enacted on by a blockchain of the blockchain network;

creating, from terms parsed from the smart contract, a transition matrix identifying states of the smart contract and a variable representation a corresponding event for each state;

creating, from the parsed terms, a contract alphabet indicating an event corresponding to each variable in the transition matrix;

generating a hash of a smart contract definition based on the smart contract being accepted by the parties; and

forwarding the hash of the smart contract definition to the blockchain.

2. The method of claim 1 , further comprising:

identifying that the blockchain is to be monitored for an updated event;

identifying, form the smart contract, that an event on the blockchain is to be monitored;

reading a new block on the blockchain;

identifying the updated event from the new block; and

executing a state transition of the transition matrix based on the updated event to execute the state transition of the transition matrix.

3. The method of claim 2 , further comprising:

identifying a party required to be notified of the updated event; and

transmitting a notification of the updated event to the required party.

4. The method of claim 3 , further comprising:

identifying an external data source to monitor;

determining a policy to use when monitoring the event on the blockchain;

determining which of one or more blockchains to write the updated event; and

when the policy has been satisfied, writing the updated event to the one or more blockchains.

5. The method of claim 4 , wherein the policy requires a minimum number of external data sources to confirm the update event.

6. An apparatus in a blockchain network, the apparatus comprising:

a processor; and

a memory configured to store one or more instructions that when executed by the processor cause the processor to:

identify a smart contract that is signed by parties to the smart contract prior to being enacted on by a blockchain of the blockchain network,

create, from terms parsed from the smart contract, a transition matrix identifying states of the smart contract and a variable representing a corresponding event for each state,

create, from the parsed terms, a contract alphabet indicating an event corresponding to each variable in the transition matrix,

generate a hash of the transition matrix and of the contract alphabet based on the smart contract being accepted by the parties,

forward the hash to the blockchain.

7. The apparatus of claim 6 , wherein the processor is further configured to:

identify that the blockchain is to be monitored for an updated event;

identify, form the smart contract, that an event on the blockchain is to be monitored;

read a new block on the blockchain;

identify the updated event from the new block; and

executing a state transition of the transition matrix based on the updated event to execute the state transition of the transition matrix.

8. The apparatus of claim 7 , wherein the process is further configured to:

identify a party required to be notified of the updated event; and

transmit a notification of the updated event to the required party.

9. The apparatus of claim 8 , wherein the process is further configured to:

identify an external data source to monitor;

determine a policy to use when monitoring the event on the blockchain;

determine which of one or more blockchains to write the updated event; and

when the policy has been satisfied, writing the updated event to the one or more blockchains.

10. The apparatus of claim 9 , wherein the policy requires a minimum number of external data sources to confirm the update event.

11. A non-transitory computer readable storage medium configured to store one or more instructions that when executed by a processor cause the processor to perform:

identifying, by peers of a blockchain network, a smart contract, the smart contract being signed by parties to the smart contract prior to being enacted on by a blockchain of the blockchain network;

creating, from terms parsed from the smart contract, a transition matrix identifying states of the smart contract and a variable representation a corresponding event for each state;

creating, from the parsed terms, a contract alphabet indicating an event corresponding to each variable in the transition matrix;

generating a of the transition matrix and of the contract alphabet based on the smart contract being accepted by the parties; and

forwarding the hash to the blockchain.

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

identifying that the blockchain is to be monitored for an updated event;

identifying, form the smart contract, that an event on the blockchain is to be monitored;

reading a new block on the blockchain;

identifying the updated event from the new block; and

executing a state transition of the transition matrix based on the updated event to execute the state transition of the transition matrix.

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

identifying a party required to be notified of the updated event; and

transmitting a notification of the updated event to the required party.

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

identifying one or more external data sources to monitor;

determining a policy to use when monitoring the event on the blockchain;

determining which of one or more blockchains to write the updated event; and

when the policy has been satisfied, writing the updated event to the one or more blockchains, and wherein the policy requires a minimum number of external data sources to confirm the updated event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: DESHPANDE, PRALHAD D.; SOOD, RAGHAV
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043839/0940 →
Continuity (1)
Related Publication 20190108140A1 · Apr 11, 2019
Cited By (1)
US 12,254,467