Secure processing of electronic transactions by a decentralized, distributed ledger system

US2017352012A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017352012-A1
Application numberUS-201615364213-A
CountryUS
Kind codeA1
Filing dateNov 29, 2016
Priority dateApr 18, 2016
Publication dateDec 7, 2017
Grant date

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 method and system are provided to support a decentralized distributed ledger in which transactions are recorded by parties to the transactions without the use of a blockchain. A distributed ledger system provides a protocol framework that supports the development of protocol flows. A protocol flow is computer code that controls the performance of a transaction by the party or parties to the transaction. Protocol flows can be developed for different types of transactions. The distributed ledger system allows transactions to be proposed, accepted, and notarized by a notary and stored without the use of a blockchain ledger. The distributed ledger system can avoid the expense of the computational and storage resources needed to redundantly verify a transaction and store evidence on the many nodes of a blockchain distributed ledger.

First claim

Opening claim text (preview).

1 . A computing system for proposing a transaction between parties, the computing system comprising: a computer-readable storage medium storing computer-executable instructions of a protocol flow for controlling the computing system to: propose a transaction between a first party and a second party by: generating a proposed transaction that specifies a state that includes at least an input state and an output state, and specifies an identifier of a notary, the state having contract code for verifying the proposed transaction complies with terms of a contract; signing the proposed transaction with a signature of the first party; and sending the proposed transaction to the second party; receive an accepted transaction that indicates acceptance of the proposed by the second party; verify that the notarized transaction has been accepted by the second party and has been notarized by ensuring the accepted transaction matches the proposed transaction and that the notarized transaction has been signed by the second party and the notary; and record the notarized transaction in a decentralized storage so that the notarized transaction is accessible by the first party; and a processor that executes the computer-executable instructions stored in the computer-readable storage medium. 2 . The computing system of claim 1 wherein the decentralized storage allows notarized transactions to be recorded by the parties to the notarized transactions as proof of the notarized transactions without the need for third parties to record the notarized transactions. 3 . The computing system of claim 1 wherein a signature is a hash of a transaction that is signed using a private key of a signer. 4 . The computing system of claim 1 wherein the proposed transaction is between the first party, the second party, and a third party and wherein the computer-executable instructions further control the computing system to verify that the notarized transaction has been accepted by the third party by ensuring that the notarized transaction has been signed by the third party. 5 . The computing system of claim 1 wherein the computer-executable instructions further include instructions of a protocol framework that control the computing system to: generate checkpoints during execution of the protocol flow, each checkpoint including state of the protocol flow at the time of the checkpoint; and store the checkpoints persistently so that if execution of the protocol flow is suspended, execution can be resumed from the latest checkpoint. 6 . The computing system of claim 5 wherein the generating of the checkpoints is transparent to the protocol flow. 7 . The computing system of claim 1 wherein the computer-executable instructions further include instructions of a protocol framework that control the computing system to track a status of the protocol flow for reporting to the first party. 8 . The computing system of claim 1 wherein the computer-executable instructions further include instructions of a protocol framework that control the computing system to prior to execution of the instructions of the protocol flow, rewrite the instructions of the protocol flow so that the protocol flow is resumable. 9 . The computing system of claim 1 wherein the proposed transaction includes multiple input states and multiple output states. 10 . The computing system of claim 1 wherein the transaction further includes a command as an input parameter to the contract code. 11 . The computing system of claim 10 wherein the command has one or more associated identification of parties and wherein verification of the proposed transaction by the contract code ensures that the proposed transaction has been signed by the identified parties. 12 . The computing system of claim 11 wherein the identification of a party is a public key. 13 . The computing system of claim 1 wherein the transaction further includes an attachment with content that is accessible by the contract code. 14 . The computing system of claim 1 wherein the processor executes the instructions by executing a virtual machine the executes bytecodes of the instructions. 15 . The computing system of claim 13 wherein the virtual machine is a Java virtual machine. 16 . The computing system of claim 1 wherein the computer-executable instructions further include instructions that control the computing system to receive a request to provide a notarized transaction on which the proposed transaction depends, retrieve the notarized transaction on which the proposed transaction depends from the decentralized storage, and provide the retrieved transaction to the second party. 17 . The computing system of claim 1 wherein the computer-executable instructions further include instructions of the protocol flow to further control the computing system to request assistance for the protocol flow when an error condition is detected. 18 . The computing system of claim 1 wherein the computer-executable instructions further include instructions of a protocol framework that controls the computing system to securely and reliably send messages between a node of the first party and a node of the second party. 19 . The computing system of claim 18 wherein the computer-executable instructions further include instructions of the protocol framework to further control the computing system to provide receipts to confirm delivery of messages. 20 . A computing system for accepting a proposed transaction between parties, the computing system comprising: a computer-readable storage medium storing computer-executable instructions of a protocol flow for controlling the computing system to: receive a proposed transaction between a first party and a second party, the proposed transaction being proposed and signed by the first party and specifying state that includes at least an input state or an output state, and specifies an identifier of a notary, the state having contract code for verifying the proposed transaction complies with terms of a contract; verify the proposed transaction has been signed by the first party; verify the proposed transaction by verifying that the input state is valid and executing the contract code of the state to ensure that the proposed transaction complies with the terms of the contract; generate an accepted transaction by signing the proposed transaction with a signature of the second party and coordinating with the notary identified in the transaction to have the accepted transaction notarized to generate a notarized transaction; send the notarized transaction to the first party; record the notarized transaction in a decentralized storage so that the notarized transaction is accessible by the second party; and a processor that executes the computer-executable instructions stored in the computer-readable storage medium. 21 . The computing system of claim 20 wherein the decentralized storage allows notarized transactions to be recorded by the parties to the notarized transaction as proof of the notarized transactions without the need for third parties to record the notarized transactions. 22 . The computing system of claim 20 wherein a signature is a hash of a transaction that is signed using a private key of a signer. 23 . The computing system of claim 20 wherein the computer-executable instructions further include instructions of a protocol framework that control the computing system to generate checkpoints dur

Assignees

Inventors

Classifications

  • Keeping log of transactions for guaranteeing non-repudiation of a transaction · CPC title

  • Currency conversion · CPC title

  • involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title

  • Financial cryptography, e.g. electronic payment or e-cash · CPC title

  • using cryptographic hash functions · 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 US2017352012A1 cover?
A method and system are provided to support a decentralized distributed ledger in which transactions are recorded by parties to the transactions without the use of a blockchain. A distributed ledger system provides a protocol framework that supports the development of protocol flows. A protocol flow is computer code that controls the performance of a transaction by the party or parties to the t…
Who is the assignee on this patent?
R3 Ltd
What technology area does this patent fall under?
Primary CPC classification G06Q20/065. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).