IP Library Granted Patent US 12,028,322
Granted Patent B2
US 12,028,322 · App. 17/257,805 · Granted Jul 2, 2024

Computer-implemented system and methods for off-chain exchange of transactions pertaining to a distributed ledger

Inventors: Silvia Bartolucci (London, GB); Pauline Bernat (London, GB)
Assignee: nChain Licensing AG
H04L63/061G06F16/2365G06Q20/108G06Q20/401H04L9/14
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 12,028,322
App. No.
17/257,805
Granted
Jul 2, 2024
Kind
B2
Abstract

This specification describes a system and method that enables multiple blockchain users to exchange their transactions before diffusion over the blockchain network in order to blur the link between the IP address of the transaction generated by a user and the user's blockchain address in the transaction. The system and method provides a technical solution to exchange transactions directly off-chain. Participants in the method agree to make deposits and alter their transaction in such a way that a refund and compensation scheme put in place automatically relies on the confirmations in the blockchain of the transactions exchanged among participants thus providing increased security as well as anonymity. The method scales for an arbitrary number (n>2) of participants.

Claims (42)

1. A computer-implemented method for exchanging blockchain transactions between n>2 participants and subsequently broadcasting the blockchain transactions over a blockchain network for storage on a blockchain, the computer-implemented method comprising:

generating and exchanging cryptographic keys and associated blockchain addresses between participants;

modifying each of the blockchain transactions to be exchanged between participants by including a refund output in each blockchain transaction to be claimed by the participant in charge of broadcasting the transaction;

constructing one or more deposit transactions using the cryptographic keys and the associated blockchain addresses and submitting the one or more deposit transactions to the blockchain, the one or more deposit transactions being constructed to refund a participant who correctly broadcasts another participants blockchain transaction and compensate a participant if their blockchain transaction is not correctly broadcast;

signing and exchanging the modified blockchain transactions between the participants;

constructing refund transactions using for inputs the outputs of the one or more deposit transactions and the refund outputs of the modified blockchain transactions;

constructing compensation transactions using for inputs the outputs of the one or more deposit transactions;

broadcasting the compensation transactions and the modified blockchain transactions; and

broadcasting the refund transactions upon confirmation of the modified blockchain transactions on the blockchain,

wherein if a participant's modified blockchain transaction is not confirmed on the blockchain the participant claims an associated unspent output in the compensation transaction.

2. The computer-implemented method according to claim 1 , wherein generating and exchanging cryptographic keys and associated blockchain addresses between participants comprises:

each participant U i generates two private-public key pairs (k i 1 , P i 1 ) and (k i 2 , P i 2 );

the participants are randomised to realise an ordered set {U 0 , U 1 , . . . , U n−2 , U n−1 };

each participant U i exchanges the two public keys, P i 1 and P i 2 , with two other participants (U n−1 and U n+1 );

each participant U i creates a pair of blockchain addresses (α i , β i ) using their public keys, P i 1 and P i 2 , and the ones provided by the two other participants; and

each participant U i exchanges the pair of blockchain addresses (α i , β i ) with the two other participants.

3. The computer-implemented method according to claim 1 , wherein one of the blockchain addresses (α i ) created by each participant requires a signature from both the participant (U i ) and another participant (U i+1 ).

4. The computer-implemented method according to claim 1 , wherein one of the blockchain addresses (β i ) created by each participant (U i ) requires only a signature from another participant (U i−1 ).

5. The computer-implemented method according to claim 1 , wherein each participant U i generates a private-public key pair (y i , Q i ) and publishes a public key of the private-public key pair, the participants being able to communicate with each other via an encrypted channel using the private-public key pair (y 1 , Q i ).

6. The computer-implemented method according to claim 1 , wherein the one or more deposit transactions are constructed such that outputs of the one or more deposit transactions are shuffled or randomized relative to inputs of the one or more deposit transactions.

7. The computer-implemented method according to claim 1 , wherein the participants make their deposit in a common deposit transaction.

8. The computer-implemented method according to claim 1 , wherein each participant creates an individual deposit transaction.

9. The computer-implemented method according to claim 1 , wherein the deposit transactions are Pay To Script Hash (P2SH) deposit transactions.

10. The computer-implemented method according to claim 1 , wherein each deposit is constructed such that it is sent to one of the blockchain addresses generated and exchanged by the participants or, after a time ΔT E , to a blockchain address of the participant who made the deposit if their blockchain transaction is not confirmed on the blockchain.

11. The computer-implemented method according to claim 1 , wherein the deposit transaction for the participants is constructed by one of the participants.

12. The computer-implemented method according to claim 1 , wherein modifying each of the blockchain transactions to be exchanged comprises locking the refund output under a public key provided by another participant and the modified transaction is signed and sent to said other participant.

13. The computer-implemented method according to claim 1 , wherein each participant U i constructs their refund transaction R x i using for inputs the output O i in the one or more deposit transactions and the refund output sent to the public address β i−1 in the blockchain transaction T x i−1 generated by participant U i−1 such that participant U i 's refund will inherently depend on them submitting participant U i−1 's blockchain transaction T x i−1 for inclusion into the blockchain.

14. The computer-implemented method according to claim 13 , wherein two inputs in the constructed transaction R x i require the signature of U i and U i−1 as follows:

input x (O i ) requires the signature of participant U i and participant U i−1 ; and

input d (β i−1 ) only requires the signature of U i .

15. The computer-implemented method according to claim 13 , wherein participant U i sends their refund transaction R x i to participant U i−1 who signs it and sends it back to participant U i who also then signs the transaction R x i .

16. The computer-implemented method according to claim 1 , wherein each participant U i constructs their compensation transactions C x i using the output sent to O i+1 in the one or more deposit transactions and participant U i sends the constructed transaction C x i to participant U i+1 who signs it and return it to participant U i where input x (O i+1 ) in C x i requires the signature of both U i and U i+1 .

17. The computer-implemented method according to claim 1 , wherein the compensation transactions have outputs which are locked for a time ΔT S that defines the maximum time allowed for the participants to broadcast the exchanged blockchain transactions and see these confirmed on the blockchain network.

18. The computer-implemented method according to claim 1 , wherein broadcasting the compensation transactions and the blockchain transactions comprises each participant U i broadcast two transactions C x i and T x i−1 in that order.

19. The computer-implemented method according to claim 1 , wherein broadcasting the refund transactions upon confirmation of the blockchain transactions on the blockchain comprises each participant U i broadcasting refund transaction R x i thereby claiming their deposit.

20. The computer-implemented method according to claim 1 , wherein a participant can only claim the unspent output in the compensation transaction when their blockchain transaction is not confirmed on the blockchain after a time ΔT S .

21. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed, configure one or more processors to perform the method of claim 1 .

22. An electronic device comprising:

an interface device;

one or more processor(s) coupled to the interface device; and

a memory coupled to the one or more processor(s), the memory having stored thereon computer executable instructions which, when executed, configure the one or more processor(s) to perform the method claim 1 .

23. A node of a blockchain network, the node configured to perform the method of claim 1 .

Assignments (2)
CHANGE OF NAME Recorded May 2, 2024
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 067306/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2021
From: BERNAT, PAULINE; BARTOLUCCI, SILVIA
To: NCHAIN HOLDINGS LTD
Reel/Frame 054803/0621 →
Priority Claims (1)
GB 1810981 · Jul 4, 2018 · national
Continuity (1)
Related Publication 20210297397A1 · Sep 23, 2021