IP Library Granted Patent US 11,431,477
Granted Patent B2
US 11,431,477 · App. 17/055,066 · Granted Aug 30, 2022

Computer-implemented systems and methods for using a blockchain to perform an atomic swap

Inventor: Craig Steven Wright (London, GB)
Assignee: nChain Holdings Limited
H04L9/0643H04L9/0618H04L9/0656H04L9/085H04L9/0819H04L9/14H04L9/30H04L9/3213H04L9/3239H04L9/3297H04L2209/38
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 11,431,477
App. No.
17/055,066
Granted
Aug 30, 2022
Kind
B2
Abstract

A computer-implemented security method is provided. The method may be implemented on one or more blockchains, such as the Bitcoin Cash blockchain. The method comprises the steps of: converting a first secret value (S 2 ) accessible to a first user into a first derived public key (P 2 ), and transmitting the first derived public key to the second user; converting a second secret value (S 1 ) accessible to a second user into a second derived public key (P 1 ), and transmitting the second derived public key to the first user; calculating a third derived public key (P_AE) based at least in part on the first derived public key; calculating a fourth derived public key (P_BE) based at least in part on the second derived public key; applying a one-way function to each of the first secret value and the second secret value to create respective first and second veiled secret values (H(S 2 ), H(S 1 )); communicating the first veiled secret value from a first user to a second user and the second veiled secret value from the second user to the first user; and constructing first and second blockchain transactions (tx 1 , tx 2 ) each comprising the first veiled secret value and the second veiled secret value, the transactions arranged to be unlockable to transfer control of a respective first or second resource upon provision of both the first secret value and the second secret value to the respective transaction, wherein unlocking of the first blockchain transaction causes the first secret value to be revealed to the second user, and unlocking of the second blockchain transaction causes the second secret value to be revealed to the first user, and wherein revelation of the first secret value to the second user enables the second user to calculate a second private key (S 2 ) corresponding to the third derived public key, and revelation of the second secret value to the first user enables the first user to calculate a first private key (S 1 ) corresponding to the fourth derived public key.

Claims (42)

1. A computer-implemented security method, the method comprising the steps of:

(i) converting a first secret value accessible to a first user into a first derived public key, and transmitting the first derived public key to a second user;

(ii) converting a second secret value accessible to the second user into a second derived public key, and transmitting the second derived public key to the first user;

(iii) calculating a third derived public key based at least in part on the first derived public key;

(iv) calculating a fourth derived public key based at least in part on the second derived public key;

(v) applying a one-way function to each of the first secret value and the second secret value to create respective first and second veiled secret values;

(vi) communicating the first veiled secret value from the first user to the second user and the second veiled secret value from the second user to the first user; and

(vii) constructing first and second blockchain transactions each comprising the first veiled secret value and the second veiled secret value, the first and second blockchain transactions arranged to be unlockable to transfer control of a respective first or second resource upon provision of both the first secret value and the second secret value to a respective blockchain transaction,

wherein unlocking of the first blockchain transaction causes the first secret value to be revealed to the second user, and unlocking of the second blockchain transaction causes the second secret value to be revealed to the first user, and

wherein revelation of the first secret value to the second user enables the second user to calculate a second private key corresponding to the third derived public key, and revelation of the second secret value to the first user enables the first user to calculate a first private key corresponding to the fourth derived public key.

2. A method according to claim 1 , wherein at least one of the first blockchain transaction and the second blockchain transaction is configured to be redeemable only upon application of the first private key and second private key.

3. A method according to claim 2 , further comprising the step of calculating at least one of: (a) a first derived public key based at least in part on a first public key of the first user; and (b) a second derived public key based at least in part of a second public key of the second user, wherein the first derived public key is part of a cryptographic key pair with the first private key and the second derived public key is part of a cryptographic key pair with the second private key.

4. A method according to claim 3 , wherein the step of calculating at least one of: (a) the first derived public key based at least in part on the first public key of the first user; and (b) the second derived public key based at least in part on the second public key of the second user further comprises a combination of the first and second veiled secret values.

5. A method according to claim 4 , wherein the combination of the first and second veiled secret values comprises at least one of a concatenation of the first veiled secret value and the second veiled secret value, and a concatenation of at least one veiled secret value with a random or pseudo-random value.

6. A method according to claim 1 , further comprising the step of constructing at least one of: a third blockchain transaction configured to return control of the first resource to the first user responsive to elapse of a first time period of non-redemption of the first blockchain transaction; and a fourth blockchain transaction configured to return control of the second resource to the second user responsive to elapse of a second time period of non-redemption of the second blockchain transaction.

7. A method according to claim 1 , wherein at least one of the first veiled secret value and the second veiled secret value comprises a combination of at least one of the first secret value and the second secret value with a shared secret value accessible by both the first user and second user.

8. A method according to claim 7 , wherein the shared secret value is established prior to step (i) as a common secret (CS).

9. A method according to claim 1 , further comprising the following steps:

(viii) generating at least one sequence of veiled secret values starting from at least one of the first secret value and the second secret value;

(ix) executing the method of any preceding claim using at least one of the first secret value and the second secret value; and

(x) redeeming at least one blockchain transaction to reveal at least one of the first secret value and the second secret value, thereby causing at least one veiled secret value of the at least one sequence to be revealed.

10. A method according to claim 9 , wherein constructing the first and second blockchain transactions uses at least one veiled secret value revealed in step (x).

11. A system, comprising:

one or more processors; and

memory storing instructions executable by the one or more processors to cause the system to perform the method of claim 1 .

12. A system, comprising:

one or more processors; and

memory storing instructions executable by the one or more processors to cause the system to perform the method of claim 2 .

13. A system, comprising:

one or more processors; and

memory storing instructions executable by the one or more processors to cause the system to perform the method of claim 6 .

14. A system, comprising:

one or more processors; and

memory storing instructions executable by the one or more processors to cause the system to perform the method of claim 7 .

15. A system, comprising:

one or more processors; and

memory storing instructions executable by the one or more processors to cause the system to perform the method of claim 9 .

16. One or more non-transitory computer-readable storage media having stored thereon instructions executable by one or more processors of a computer system to cause the computer system to perform the method of claim 1 .

17. One or more non-transitory computer-readable storage media having stored thereon instructions executable by one or more processors of a computer system to cause the computer system to perform the method of claim 2 .

18. One or more non-transitory computer-readable storage media having stored thereon instructions executable by one or more processors of a computer system to cause the computer system to perform the method of claim 6 .

19. One or more non-transitory computer-readable storage media having stored thereon instructions executable by one or more processors of a computer system to cause the computer system to perform the method of claim 7 .

20. One or more non-transitory computer-readable storage media having stored thereon instructions executable by one or more processors of a computer system to cause the computer system to perform the method of claim 9 .

Assignments (5)
CHANGE OF NAME Recorded Apr 18, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063360/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: WRIGHT, CRAIG S
To: NCHAIN HOLDINGS LTD
Reel/Frame 054366/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LTD
Reel/Frame 054366/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LTD
Reel/Frame 054366/0805 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LTD
Reel/Frame 054366/0832 →
Priority Claims (8)
GB 1807807 · May 14, 2018 · national
GB 1807811 · May 14, 2018 · national
GB 1807813 · May 14, 2018 · national
GB 1807816 · May 14, 2018 · national
WO PCT/IB2018/053346 · May 14, 2018 · international
WO PCT/IB2018/053347 · May 14, 2018 · international
WO PCT/IB2018/053349 · May 14, 2018 · international
WO PCT/IB2018/053350 · May 14, 2018 · international
Continuity (1)
Related Publication 20210218552A1 · Jul 15, 2021
Cited By (1)
US 12,341,908