IP Library › Granted Patent US 10,904,000
Granted Patent B2
US 10,904,000 · App. 15/963,601 · Granted Jan 26, 2021

Cryptlet proofing services

Inventor: John Marley Gray (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L9/30H04L9/3247
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,904,000
App. No.
15/963,601
Filed
Apr 26, 2018
Granted
Jan 26, 2021
Kind
B2
Examiner
SONG, HEE K
Art Unit
2497
USPC
713/171
Abstract

Proof onions for transactions for smart contracts are stored. Details of the transactions are stored on blockchains separate from the proof onions. The proof onions are evidence structures for the steps taken to create any transaction for the smart contract. The proof onions include a plurality of signatures or other cryptographic proofs. A proof request that is associated with at least a first transaction of the transactions is received. A first proof onion of the proof onions that corresponds to the first transaction is retrieved. A plurality of public keys associated with the first proof onion is obtained. The plurality of public keys is used to validate the first proof onion. In response to the validation of the first proof onion, the proof request is responded to with at least an indication of the validity of the first transaction.

Claims (49)

1. An apparatus, comprising:

a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including:

storing proof structures that store layers of cryptographic proof for transactions for smart contracts, wherein details of the transactions are stored on blockchains separate from the proof structures, wherein the proof structures are proof structures for the transactions, wherein the proof structures include a plurality of signatures, wherein the plurality of signatures includes at least one enclave signature from a first enclave, and wherein the first enclave is a secure execution environment;

receiving a proof request that is associated with at least a first transaction of the transactions;

retrieving a first proof structure of the proof structures that corresponds to the first transaction;

obtaining a plurality of public keys associated with the first proof structure;

using the plurality of public keys to validate the first proof structure; and

in response to the validation of the first proof structure, responding to the proof request with at least an indication of the validity of the first transaction.

2. The apparatus of claim 1 , wherein obtaining the plurality of public keys includes requesting the plurality of public keys from a registry based on an identifier and a version of each public key of the plurality of public keys.

3. The apparatus of claim 1 , wherein the proof request includes at least a binding identifier.

4. The apparatus of claim 1 , wherein the proof request includes a transaction hash, wherein retrieving the first proof structure includes locating the first proof structure based on the transaction hash, and wherein the transaction hash is a hash of at least the first proof structure.

5. The apparatus of claim 1 , wherein the first proof structure includes at least three digital signatures.

6. The apparatus of claim 1 , wherein the first proof structure further includes a blockchain-specific signature.

7. The apparatus of claim 1 , wherein the first proof structure further includes a digital signature of a cryptlet in which code for the transaction was executed.

8. The apparatus of claim 1 , the actions further including:

receiving a second proof structure from a contract proxy;

calculating a hash based at least in part on the second proof structure;

storing the second proof structure;

indexing the second proof structure based on the hash; and

communicating the hash to the contract proxy.

9. An apparatus, comprising:

a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including:

receiving a transaction encapsulated by a proof structure that stores layers of cryptographic proof, wherein the proof structure is a proof structure for the transaction, wherein the proof structure includes a plurality of signatures, wherein the plurality of signatures includes at least one enclave signature from a first enclave, and wherein the first enclave is a secure execution environment;

sending the proof structure to a proofing service;

receiving, from the proofing service, a transaction hash that is a hash of at least the proof structure;

appending the transaction hash to the transaction; and

causing the transaction, including the appended transaction hash, to be recorded on a ledger that is separate from the proofing service.

10. The apparatus of claim 9 , the actions further including:

receiving a receipt from the ledger;

sending the receipt to the proofing service; and

receiving a confirmation of the receipt from the proofing service.

11. The apparatus of claim 9 , wherein the first proof structure includes at least three digital signatures.

12. The apparatus of claim 9 , wherein the first proof structure further includes a blockchain-specific signature.

13. The apparatus of claim 9 , wherein the first proof structure further includes a digital signature of a cryptlet in which code for that transaction was executed.

14. A method, comprising:

storing proof structures for transactions for smart contracts;

in response to a proof request that is associated with at least a first transaction of the transactions, providing a first proof structure that corresponds to the first transaction;

via at least one processor, revalidating the first proof structure; and

in response to the revalidation of the first proof structure, providing at least an indication of the validity of the first transaction, wherein details of the transactions are stored on blockchains separate from the proof structures, and wherein the proof structures include a plurality of signatures.

15. The method of claim 14 , wherein the proof request includes a transaction hash, wherein revalidating the first proof structure includes retrieving the first proof structure, wherein retrieving the first proof structure includes locating the first proof structure based on the transaction hash, and wherein the transaction hash is a hash of at least the first proof structure.

16. The method of claim 14 , the actions further including:

receiving a second proof structure from a contract proxy;

calculating a hash based at least in part on the second proof structure;

storing the second proof structure;

indexing the second proof structure based on the hash; and

communicating the hash to the contract proxy.

17. The method of claim 14 , wherein the plurality of signatures includes at least one enclave signature from a first enclave, and wherein the first enclave is a secure execution environment.

18. The method of claim 17 , wherein the first proof structure further includes a blockchain-specific signature.

19. The method of claim 17 , wherein the first proof structure further includes a digital signature of a cryptlet in which code for the transaction was executed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2018
From: GRAY, JOHN MARLEY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 045647/0713 →
Continuity (1)
Related Publication 20190334715A1 · Oct 31, 2019
Cited By (2)
US 12,238,078 US 12,719,688