Sealed distributed ledger system

US11362807B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11362807-B2
Application numberUS-201916540824-A
CountryUS
Kind codeB2
Filing dateAug 14, 2019
Priority dateAug 14, 2019
Publication dateJun 14, 2022
Grant dateJun 14, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system for ensuring privacy of transactions is provided. The system may be performed by a computing system during execution of trusted code within a secure enclave of the computing system. The system receives an indication of a transaction. The system validates the transaction. The system encrypts the validated transaction using an encryption key of the trusted code. The system requests untrusted code of the computing system to store the encrypted validated transaction in a portion of a data store. The untrusted code cannot decrypt the encrypted validated transaction that is stored in the data store. Rather, only the trusted code can decrypt the encrypted validated transaction.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method performed by a computing system during execution of trusted code of a secure enclave of the computing system for ensuring privacy of transactions, the method comprising: receiving an indication of a transaction; validating the transaction; encrypting the validated transaction using an encryption key of the trusted code; requesting untrusted code of the computing system to store the encrypted validated transaction in a portion of a data store wherein the untrusted code cannot decrypt the encrypted validated transaction that is stored in the data store; receiving a request from other trusted code of a secure enclave of another computing system to provide the transaction; and in response to receiving the request from the other trusted code, requesting the untrusted code to provide the encrypted validated transaction to the trusted code; and upon being provided the encrypted validated transaction, decrypting the encrypted validated transaction using a decryption key of the trusted code that corresponds to the encryption key. 2. The method of claim 1 wherein the other trusted code sends the request to provide the transaction during validation of another transaction. 3. The method of claim 1 further comprising encrypting the decrypted validated transaction using a send encryption key and sending the encrypted validated transaction to the other trusted code so that the other trusted code can decrypt the encrypted validated transaction using a send decryption key corresponding to the send encryption key. 4. The method of claim 3 wherein the send encryption key and the send decryption key are a symmetric keypair. 5. The method of claim 3 wherein the send encryption key and the send decryption key are a public/private keypair. 6. The method of claim 3 wherein the trusted code and the other trusted code establish a secure connection and wherein the encrypted validated transaction is sent via the secure connection. 7. A method performed by a computing system during execution of trusted code within a secure enclave of the computing system for ensuring privacy of transactions, the method comprising: receiving an indication of a transaction; validating the transaction; encrypting the validated transaction using an encryption key of the trusted code; and requesting untrusted code of the computing system to store the encrypted validated transaction in a portion of a data store; wherein the untrusted code cannot decrypt the encrypted validated transaction that is stored in the data store, wherein the transaction includes an input state that is an output state of another transaction, wherein the validating of the transaction comprises: requesting the untrusted code to provide the other transaction; and receiving an encrypted form of the other transaction, and wherein the untrusted code retrieves the encrypted form of the other transaction from the data store and provides the encrypted form to the trusted code, and the trusted code decrypts the encrypted form. 8. A method performed by a computing system during execution of trusted code of a secure enclave of the computing system for ensuring privacy of transactions, the method comprising: receiving an indication of a transaction; validating the transaction; encrypting the validated transaction using an encryption key of the trusted code; and requesting untrusted code of the computing system to store the encrypted validated transaction in a portion of a data store; wherein the untrusted code cannot decrypt the encrypted validated transaction that is stored in the data store, wherein the transaction includes an input state that is an output state of another transaction, and wherein the validating of the transaction comprises: requesting the untrusted code to provide the other transaction; receiving from the untrusted code an indication that the other transaction is not stored in the data store; and requesting other trusted code of a secure enclave of another computing system to provide the other transaction, wherein an encrypted form of the other transaction is provided by the other trusted code. 9. The method of claim 8 wherein the encryption key is a private key of a public/private keypair. 10. The method of claim 8 wherein the transaction has an output state and further comprising sending the output state to the untrusted code. 11. A method performed by a computing system during execution of untrusted code for supporting secure storage of transactions, the computing system being a node that maintains a portion of a sealed distributed ledger, the method comprising: receiving an encrypted transaction from trusted code of a secure enclave of the computing system, the encrypted transaction encrypted with an encryption key of the trusted code; storing the encrypted transaction in the portion of the sealed distributed ledger; receiving from the trusted code a request for the encrypted transaction; retrieving the encrypted transaction from the portion of the sealed distributed ledger; providing the encrypted transaction to the trusted code; receiving from the trusted code a request for another transaction; and when the other transaction is not stored in the portion of the sealed distributed ledger, notifying the trusted code that the other transaction is not stored in the portion of the sealed distributed ledger; wherein the trusted code requests other trusted code of a secure enclave of another node to provide the other transaction. 12. One or more computing systems that, during execution of trusted code within a secure enclave of the one or more computing systems, ensure privacy of transactions, the one or more computing systems comprising: one or more computer-readable storage mediums storing computer-executable instructions for controlling the one or more computing systems to: encrypt a validated transaction using an encryption key of the trusted code; request untrusted code of the one or more computing systems to store the encrypted validated transaction in a portion of a data store, wherein the untrusted code cannot decrypt the encrypted validated transaction; receive a request from other trusted code of a secure enclave of another computing system to provide the transaction; in response to receiving the request from the other trusted code, request the untrusted code to provide the encrypted validated transaction to the trusted code; and upon being provided the encrypted validated transaction, decrypt the encrypted validated transaction using a decryption key of the trusted code that corresponds to the encryption key; and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums. 13. The one or more computing systems of claim 12 wherein the other trusted code sends the request to provide the transaction during validation of another transaction. 14. One or more computing systems that, during execution of trusted code within a secure enclave of the one or more computing systems, ensure privacy of transactions, the one or more computing systems comprising: one or more computer-readable storage mediums storing computer-executable instructions for controlling the one or more computing systems to: encrypt a validated transaction using an encryption key of the trusted code; request untrusted code of the one or more computing systems to store the encrypted validated transaction in a portion of a data store, wherein the untrusted code cannot decrypt the encrypted validated transaction that is stored in the data store; encrypt the v

Assignees

Inventors

Classifications

  • implemented as replicated file system · CPC title

  • by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • G06F21/62Primary

    Protecting access to data via a platform, e.g. using keys or access control rules · CPC title

  • involving digital signatures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11362807B2 cover?
A system for ensuring privacy of transactions is provided. The system may be performed by a computing system during execution of trusted code within a secure enclave of the computing system. The system receives an indication of a transaction. The system validates the transaction. The system encrypts the validated transaction using an encryption key of the trusted code. The system requests untru…
Who is the assignee on this patent?
R3 Ltd, R3 Llc
What technology area does this patent fall under?
Primary CPC classification G06F21/62. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 14 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).