System and method for cryptographically verified data driven contracts
First Claim
Patent Images
1. A system, comprising:
- a blockchain computer system that stores and maintains a blockchain ledger, the blockchain computer system hosting a smart contract that uses the blockchain ledger to cryptographically verify blockchain-based transactions with the smart contract, off-chain data inputs and off-chain resource actions;
an off-chain computer system that is not part of the blockchain system and does not store or maintain the blockchain ledger, the off-chain system having one or more of a data store that stores private consumer data about a user whose access is controlled by the user and an application that is configured to perform an off-chain resource action requested by the blockchain smart contract;
the blockchain computer system having a transaction manager that generates a request for the off-chain computer system from the blockchain smart contract having an authentication token for the smart contract established during a registration process between the off-chain computer system and the smart contract, a timestamp for the request and a correlation identifier that is published to the blockchain ledger, the request being one of a request for off-chain data input and a request for an off-chain resource action;
the off-chain computer system having a transaction manager that is configured to watch the blockchain ledger for the request from the blockchain computer system, to receive the request from the blockchain smart contract, to verify the token and the timestamp of the request from the blockchain smart contract, to perform, when the token is verified, an action using one of the data store and the application based on the received request from the blockchain smart contract, to respond to the request from the blockchain smart contract with a response payload generated by the performed action and a digital signature for the response payload concatenated with the correlation identifier of the request from the blockchain smart contract, the digital signature signed using a private key of the off-chain computer system and to initiate a blockchain transaction including the response payload and the digital signature on the blockchain ledger targeted to the blockchain smart contract; and
the blockchain computer system further configured to verify that the digital signature corresponds to the response payload and the correlation identifier in the response matches the correlation identifier in the request from the blockchain smart contract and verifies that the response is properly signed by the private key of the off-chain computer system.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed that methodologies concerning cryptographically verified blockchain-based contract data inputs and off-chain side-effects. The system and method provide a deterministic and cryptographically verifiable chain of transactions, recorded on a blockchain (distributed ledger) system. This system provides an irrefutable public accounting of the transactions involved in incorporating on-chain contract execution with off-chain data and side-effects (resource actions).
177 Citations
20 Claims
-
1. A system, comprising:
-
a blockchain computer system that stores and maintains a blockchain ledger, the blockchain computer system hosting a smart contract that uses the blockchain ledger to cryptographically verify blockchain-based transactions with the smart contract, off-chain data inputs and off-chain resource actions; an off-chain computer system that is not part of the blockchain system and does not store or maintain the blockchain ledger, the off-chain system having one or more of a data store that stores private consumer data about a user whose access is controlled by the user and an application that is configured to perform an off-chain resource action requested by the blockchain smart contract; the blockchain computer system having a transaction manager that generates a request for the off-chain computer system from the blockchain smart contract having an authentication token for the smart contract established during a registration process between the off-chain computer system and the smart contract, a timestamp for the request and a correlation identifier that is published to the blockchain ledger, the request being one of a request for off-chain data input and a request for an off-chain resource action; the off-chain computer system having a transaction manager that is configured to watch the blockchain ledger for the request from the blockchain computer system, to receive the request from the blockchain smart contract, to verify the token and the timestamp of the request from the blockchain smart contract, to perform, when the token is verified, an action using one of the data store and the application based on the received request from the blockchain smart contract, to respond to the request from the blockchain smart contract with a response payload generated by the performed action and a digital signature for the response payload concatenated with the correlation identifier of the request from the blockchain smart contract, the digital signature signed using a private key of the off-chain computer system and to initiate a blockchain transaction including the response payload and the digital signature on the blockchain ledger targeted to the blockchain smart contract; and the blockchain computer system further configured to verify that the digital signature corresponds to the response payload and the correlation identifier in the response matches the correlation identifier in the request from the blockchain smart contract and verifies that the response is properly signed by the private key of the off-chain computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
providing a blockchain computer system that stores and maintains a blockchain ledger, the blockchain computer system hosting a smart contract that uses the blockchain ledger to cryptographically verify blockchain-based transactions with the smart contract, off-chain data inputs and off-chain resource actions; providing an off-chain computer system that is not part of the blockchain system and does not store or maintain the blockchain ledger, the off-chain system having one or more of a data store that stores private consumer data about a user whose access is controlled by the user and an application that is configured to perform an action requested by the blockchain smart contract; generating, by the blockchain computer system, a request for the off-chain computer system from the blockchain smart contract having an authentication token for the smart contract established during a registration process between the off-chain computer system and the smart contract, a timestamp for the request and a correlation identifier that is published to the blockchain ledger, the request being one of a request for off-chain data input and a request for an off-chain resource action; receiving, by the off-chain computer system, the request from the blockchain smart contract; verifying, by the off-chain computer system, the token and the timestamp of the request from the blockchain smart contract; performing, by the off-chain computer system when the token is verified, an action using one of the data store and the application based on the received request from the blockchain smart contract; generating, by the off-chain computer system, a response to the request from the blockchain smart contract with a response payload generated by the performed action and a digital signature for the response payload concatenated with the correlation identifier of the request from the blockchain smart contract, the digital signature signed using a private key of the off-chain computer system; initiating, by the off-chain computer system, a blockchain transaction including the response payload and the digital signature on the blockchain ledger targeted to the blockchain smart contract; and verifying, by the blockchain smart contract, that the digital signature corresponds to the response payload and the correlation identifier in the response matches the correlation identifier in the request from the blockchain smart contract and that the response is properly signed by the private key of the off-chain computer system. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
a blockchain computer system that stores and maintains a blockchain ledger, the blockchain computer system hosting a smart contract that uses the blockchain ledger to cryptographically verify blockchain-based transactions with the smart contract, off-chain data inputs and off-chain resource actions; the blockchain smart contract being configured to generate a request for an off-chain computer system having an authentication token for the smart contract established during a registration process between the off-chain computer system and the smart contract, a timestamp for the request and a correlation identifier that is published to the blockchain ledger, the request being one of a request for off-chain data input and a request for an off-chain resource action; the off-chain computer system having a transaction manager that is configured to watch the blockchain ledger for the request from the blockchain computer system, to-receive the request from the blockchain smart contract, to verify the token and the timestamp of the request from the blockchain smart contract, to perform, when the token is verified, an action using one of the data store and the application based on the received request from the blockchain smart contract, to respond to the request from the blockchain smart contract with a response payload generated by the performed action and a digital signature for the response payload concatenated with the correlation identifier of the request from the blockchain smart contract, the digital signature signed using a private key of the off-chain computer system and to imitate a blockchain transaction including the response payload and the digital signature on the blockchain ledger targeted to the blockchain smart contract; and the blockchain computer system further configured to verify the off-chain computer system response based on signed data including verifying that the digital signature corresponds to the response payload and the correlation identifier in the response matches the correlation identifier in the request from the blockchain smart contract and verifies that the response is properly signed by the private key of the off-chain computer system. - View Dependent Claims (17, 18, 19, 20)
-
Specification