IP Library Granted Patent US 10,108,954
Granted Patent B2
US 10,108,954 · App. 15/237,415 · Granted Oct 23, 2018

System and method for cryptographically verified data driven contracts

Inventors: Tim Dunlevy (San Mateo, CA); Theodore C. Tanner, Jr. (San Mateo, CA)
Assignee: PokitDok, Inc.
G06Q20/36G06F19/00G06Q20/363G16H10/00G06Q2220/00
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,108,954
App. No.
15/237,415
Granted
Oct 23, 2018
Kind
B2
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).

Claims (38)

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.

2. The system claim 1 , wherein the blockchain smart contract is configured to register with the off-chain computer system.

3. The system of claim 1 , wherein the action is one of retrieving a piece of requested data from the data store of the off-chain computer system and performing an action using the application of the off-chain computer system.

4. The system of claim 1 , wherein the blockchain smart contract is a healthcare wallet.

5. The system of claim 4 , wherein the healthcare wallet is one of a consumer wallet and a provider wallet.

6. The system of claim 1 , wherein the application of the off-chain computer system is a healthcare transaction processor that receives a request to process a healthcare transaction from the blockchain smart contract.

7. The system of claim 6 , wherein the healthcare transaction is one of an eligibility transaction, a claims transaction, an enrollment transaction, a referral transaction and a payment transaction.

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.

9. The method of claim 8 further comprising registering the blockchain smart contract with the off-chain computer system.

10. The method of claim 9 , wherein registering the blockchain smart contract with the off-chain computer system further comprises sending, by the blockchain smart contract, an address of the blockchain smart contract, creating, by the off-chain computer system, a token for the received address of the blockchain smart contract, signing, by the off-chain computer system, the token and sending, by the off-chain computer system, the signed token to the blockchain smart contract.

11. The method of claim 8 , wherein the action is one of retrieving a piece of requested data from the data store of the off-chain computer system and performing an action using the application of the off-chain computer system.

12. The method of claim 8 , wherein the blockchain smart contract is a healthcare wallet.

13. The method of claim 12 , wherein the healthcare wallet is one of a consumer wallet and a provider wallet.

14. The method of claim 8 , wherein the application of the off-chain computer system is a healthcare transaction processor that receives a request to process a healthcare transaction from the blockchain smart contract.

15. The method of claim 14 , wherein the healthcare transaction is one of an eligibility transaction, a claims transaction, an enrollment transaction, a referral transaction and a payment transaction.

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.

17. The system claim 16 , wherein the blockchain smart contract is configured to register with the off-chain computer system.

18. The system of claim 16 , wherein the action is one of retrieving a piece of requested data from the data store of the off-chain computer system and performing an action using the application of the off-chain computer system.

19. The system of claim 16 , wherein the blockchain smart contract is a healthcare wallet.

20. The system of claim 19 , wherein the healthcare wallet is one of a consumer wallet and a provider wallet.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0032 →
SECURITY INTEREST Recorded Dec 12, 2019
From: CHANGE HEALTHCARE HOLDINGS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 051279/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: POKITDOK, INC.
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 048195/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2017
From: DUNLEVY, TIM; TANNER, THEODORE C., JR.
To: POKITDOK, INC.
Reel/Frame 040832/0774 →
Continuity (2)
Provisional Application 62354561 · Jun 24, 2016
Related Publication 20170372300A1 · Dec 28, 2017
Cited By (13)
US 12,192,371 US 12,200,107 US 12,225,107 US 12,231,535 US 12,231,566 US 12,250,209 US 12,341,906 US 12,511,314 US 12,518,278 US 12,519,848 US 12,580,782 US 12,597,066 US 12,647,291