P
US11544786B2ActiveUtilityPatentIndex 65

Systems and methods for provably fair atomic swaps of private digital assets

Assignee: JPMORGAN CHASE BANK NAPriority: Jan 9, 2020Filed: Jan 9, 2020Granted: Jan 3, 2023
Est. expiryJan 9, 2040(~13.5 yrs left)· nominal 20-yr term from priority
Inventors:DIAMOND BENJAMIN E
H04L 9/0643G06Q 40/04G06F 21/64H04L 9/3218
65
PatentIndex Score
5
Cited by
15
References
18
Claims

Abstract

Embodiments may include a two-round-trip protocol by which two parties can securely conduct an already-agreed-upon exchange of digital assets (i.e., in the provable absence of settlement risk). For example, in the first round of the protocol, each party may send to a specially designed “settlement contract” the “statement” corresponding to the party's portion of the proposed bilateral transaction (e.g., how much asset the party will transfer, and to whom), as well as a hash of the party's “proof”. Between rounds, each party checks that the other party's statement transfers to the party the agreed-upon amount. The settlement contract may then lock the proof hashes against future misuse, and in particular against use by unauthorized parties. In the second round, each party sends its proof to the settlement contract. The settlement contract then dispatches both statement-proof pairs and executes the bilateral exchange.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for provably fair atomic swaps of private digital assets, comprising:
 in a distributed ledger network, comprising a distributed ledger, a settlement contract performing the following: 
 defining a data structure comprising a first party field and a second party field on the distributed ledger, each field configured to store at least an asset type, a statement, and a proof; 
 receiving, at a first node associated with a first party and from a first temporary address for the first party to an exchange, an identifier, the first party's asset type, the first party's statement representing its side of the exchange, and a hash of the first party's proof; 
 receiving, at a second node associated with a second party and from a second temporary address for the second party to the exchange, the identifier, the second party's asset type, the second party's statement representing its side of the exchange, and a hash of the second party's proof; 
 locking the hash of the first party's proof against the first temporary address on the distributed ledger; 
 locking the hash of the second party's proof against the second temporary address on the distributed ledger; 
 writing the first party's asset type and the first party's statement in the first party field, and the second party's asset type and the second party's statement in the second party field; 
 receiving, from the first node and from the first party, the identifier and the first party's proof; 
 receiving, from the second node and from the second party, the identifier and the second party's proof; 
 hashing the first party's proof and retrieving a first retrieved temporary address associated with the hash of the first party's proof; 
 verifying that the first retrieved temporary address matches the first temporary address and populating the first party field with the first party's proof; 
 hashing the second party's proof and retrieving a second retrieved temporary address associated with the hash of the second party's proof; 
 verifying that the second retrieved temporary address matches the second temporary address and populating the second party field with the second party's proof; and 
 sending the first party's statement representing its side of the exchange and the first party's proof, and the second party's statement representing its side of the exchange and the second party's proof for execution; 
 wherein the first temporary address and the second temporary address are specific to the exchange and are discarded or disabled following execution of the exchange. 
 
     
     
       2. The method of  claim 1 , wherein the settlement contract is an Ethereum settlement contract. 
     
     
       3. The method of  claim 1 , wherein the steps of receiving, from the first temporary address for a first party to an exchange, the identifier, the first party's asset type, the first party's statement representing its side of the exchange, and the hash of the first party's proof and receiving, from the second temporary address for a second party to the exchange, the identifier, the second party's asset type, the second party's statement representing its side of the exchange, and the hash of the second party's proof occur in any order. 
     
     
       4. The method of  claim 1 , wherein the steps of receiving, from the first party, the identifier and the first party's proof and receiving, from the second party, the identifier and the second party's proof occur in any order. 
     
     
       5. The method of  claim 1 , wherein the asset type comprises an Anonymous Zether contract address. 
     
     
       6. The method of  claim 1 , wherein the first party compares the second party's asset type and the second party's statement to the second party's asset type and an amount in an initial agreement before sending the identifier and the first party's proof. 
     
     
       7. The method of  claim 1 , wherein the second party compares the first party's asset type and the first party's statement to the first party's asset type and an amount in an initial agreement before the identifier and the second party's proof. 
     
     
       8. The method of  claim 1 , wherein the first party and the second party agree to the exchange in a separate communication. 
     
     
       9. The method of  claim 1 , wherein the first temporary address and the second temporary address are Ethereum addresses. 
     
     
       10. A system for provably fair atomic swaps of private digital assets, comprising:
 a distributed ledger network comprising a distributed ledger and a first node associated with a first party and a second node associated with a second party, the first party and the second party being parties to an exchange; 
 a settlement contract defining a data structure comprising a first party field and a second party field, each field configured to store at least an asset type, a statement, and a proof, deployed to the first node and the second node of the distributed ledger; 
 wherein the settlement contract: 
 receives at the first node and from a first temporary address for the first party, an identifier, the first party's asset type, the first party's statement representing its side of the exchange, and a hash of the first party's proof; 
 receives at the second node and from a second temporary address, the identifier, the second party's asset type, the second party's statement representing its side of the exchange, and a hash of the second party's proof; 
 locks the hash of the first party's proof against the first temporary address on the distributed ledger; 
 locks the hash of the second party's proof against the second temporary address on the distributed ledger; 
 writes the first party's asset type and the first party's statement in the first party field, and the second party's asset type and the second party's statement in the second party field; 
 receives, from the first node and from the party, the identifier and the first party's proof; 
 receives, from the second node and from the second party, the identifier and the second party's proof; 
 hashes the first party's proof and retrieving a first retrieved temporary address associated with the hash of the first party's proof; 
 verifies that the first retrieved temporary address matches the first temporary address and populating the first party field with the first party's proof; 
 hashes the second party's proof and retrieving a second retrieved temporary address associated with the hash of the second party's proof; 
 verifies that the second retrieved temporary address matches the second temporary address and populating the second party field with the second party's proof; and 
 sends the first party's statement representing its side of the exchange and the first party's proof, and the second party's statement representing its side of the exchange and the second party's proof for execution; 
 wherein the first temporary address and the second temporary address are specific to the exchange and are discarded or disabled following execution of the exchange. 
 
     
     
       11. The system of  claim 10 , wherein the settlement contract is an Ethereum settlement contract. 
     
     
       12. The system of  claim 10 , wherein the receipt of the first temporary address for a first party to an exchange, the identifier, the first party's asset type, the first party's statement representing its side of the exchange, and the hash of the first party's proof from the first party and the receipt of the identifier, the second party's asset type, the second party's statement representing its side of the exchange, and the hash of the second party's proof from the second party occur in any order. 
     
     
       13. The system of  claim 10 , wherein the receipt of the identifier and the first party's proof from the first party and the receipt of the identifier and the second party's proof from the second party occur in any order. 
     
     
       14. The system of  claim 10 , wherein the asset type comprises an Anonymous Zether contract address. 
     
     
       15. The system of  claim 10 , wherein the first party compares the second party's asset type and the second party's statement to the second party's asset type and an amount in an initial agreement before sending the identifier and the first party's proof. 
     
     
       16. The system of  claim 10 , wherein the second party compares the first party's asset type and the first party's statement to the first party's asset type and an amount in an initial agreement before the identifier and the second party's proof. 
     
     
       17. The system of  claim 10 , wherein the first party and the second party agree to the exchange in a separate communication. 
     
     
       18. The system of  claim 10 , wherein the first temporary address and the second temporary address are Ethereum addresses.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.