IP Library Granted Patent US 11,838,407
Granted Patent B2
US 11,838,407 · App. 17/898,158 · Granted Dec 5, 2023

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

Inventor: Craig Steven Wright (London, GB)
Assignee: nChain Licensing AG
H04L9/0643H04L9/0618H04L9/0656H04L9/085H04L9/0819H04L9/14H04L9/30H04L9/3213H04L9/3239H04L9/3297H04L9/50
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,838,407
App. No.
17/898,158
Granted
Dec 5, 2023
Kind
B2
Abstract

A computer-implemented security may be implemented on a blockchain comprising applying a one-way function to a first secret value to create a first veiled secret value; communicating the first veiled secret value to a user; receiving a second veiled secret value from the user, wherein the second veiled secret value is created by applying a one-way function to the second secret value; and constructing a first blockchain transaction comprising the first veiled secret value and the second veiled secret value, the first blockchain transaction arranged to be unlockable to transfer control of a first resource upon provision of both the first secret value and the second secret value to a respective blockchain transaction.

Claims (42)

1. A computer-implemented security method, the method comprising the steps of, at a first user:

(i) converting a first secret value accessible to a first user into a first derived public key, and transmitting, via a communication channel accessible by means of a shared secret value accessible by both the first user and second user, the first derived public key to a second user;

(ii) receiving, via the communication channel, a second derived public key based on a second secret value accessible to the second user;

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

(iv) applying a one-way function to the first secret value to create a first veiled secret value;

(v) communicating the first veiled secret value to the second user via the communication channel;

(vi) receiving a second veiled secret value from the second user via the communication channel, wherein the second veiled secret value is created by applying a one-way function to the second secret value; and

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

wherein unlocking of the first blockchain transaction causes the first secret value to be revealed to the second user, and unlocking of a 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 a fourth derived public key, wherein the fourth derived public key is based at least in part on the second derived public key.

2. The 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. The method according to claim 2 , further comprising the step of calculating at least one of: (a) the first derived public key based at least in part on a first public key of the first user; and (b) the third derived public key based at least in part of a second public key of the second user, wherein the fourth derived public key is part of a first cryptographic key pair with the first private key and the third derived public key is part of a second cryptographic key pair with the second private key.

4. The method according to claim 3 , wherein the step of calculating at least one of: (a) the fourth derived public key based at least in part on the first public key of the first user; and (b) the third 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. The 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. The 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 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. The 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. The method according to claim 7 , wherein the shared secret value is established prior to step (i) as a common secret (CS).

9. The 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. The 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 063361/0038 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2022
From: WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060931/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2022
From: WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060931/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2022
From: WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060931/0932 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2022
From: WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060932/0025 →
Priority Claims (4)
GB 1807807 · May 14, 2018 · national
GB 1807811 · May 14, 2018 · national
GB 1807813 · May 14, 2018 · national
GB 1807816 · May 14, 2018 · national
Continuity (2)
Continuation 17055066
Related Publication 20230137104A1 · May 4, 2023