IP Library Granted Patent US 11,488,144
Granted Patent B2
US 11,488,144 · App. 16/625,546 · Granted Nov 1, 2022

System and method of multi-round token distribution using a blockchain network

Inventors: Daniel Joseph (London, GB); Silvia Bartolucci (London, GB)
G06Q20/3674G06Q20/3676G06Q20/3827G06Q20/3829G06Q20/401H04L9/3215H04L9/3239H04L9/3236H04L9/50H04L2209/56
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,488,144
App. No.
16/625,546
Granted
Nov 1, 2022
Kind
B2
Abstract

A computer-implemented method to participate in a token transfer process for transferring a first quantity of token from a sender node to a recipient node using a blockchain is disclosed. The token transfer process includes a plurality of participating nodes and execution of a set of indirect token transactions between multiple pairs of the participating nodes. The method is implemented at a participating node and includes: obtaining a subset of the set of indirect token transactions, the subset including only those transactions for which the participating node is either an input node or an output node, wherein the set of indirect token transactions is generated based on the first quantity of tokens and a predefined number of transaction rounds in the token transfer process; for each indirect token transaction in the subset, collaborating with a respective second participating node included in the indirect token transaction to generate a commitment channel for the indirect token transaction between the participating node and the second participating node; and collaborating with all other participating nodes in executing the indirect token transactions of the subset using the generated commitment channels.

Claims (25)

1. A computer-implemented method to participate in a token transfer process for transferring a first quantity of tokens from a sender node to a recipient node using a blockchain, the token transfer process including a plurality of participating nodes and execution of a set of indirect token transactions between multiple pairs of the plurality of participating nodes, the sender node and the recipient node being included in the token transfer process as participating nodes, the method, implemented at a participating node, comprising:

obtaining a subset of the set of indirect token transactions, the subset including those transactions for which the participating node is either an input node or an output node, wherein the set of indirect token transactions is generated based on the first quantity of tokens and a predefined number of transaction rounds in the token transfer process;

for each indirect token transaction in the subset, collaborating with a respective second participating node included in the indirect token transaction to generate a commitment channel for the indirect token transaction between the participating node and the second participating node;

collaborating with all other participating nodes in executing the indirect token transactions of the subset using the generated commitment channels;

wherein generating the commitment channel for the indirect token transaction comprises:

collaborating with the second participating node to: generate a first blockchain transaction (Tc) for committing an indirect quantity of tokens to transfer to an output address of the indirect token transaction;

generating a second blockchain transaction (Tr o) that returns the committed indirect quantity of tokens to an input address of the indirect token transaction;

and generate a third blockchain transaction (T) for executing transfer of the committed indirect quantity of tokens to the output address of the indirect token transaction; and

obtaining a key share (ki) of a first private key (k), the first private key being unknown to all of the participating nodes; and collaborating in deriving a first public key (Q) corresponding to the first private key (k) using secret share joining.

2. The method claimed in claim 1 , wherein the first blockchain transaction (Tc) is submitted to the blockchain after the second blockchain transaction (Tro) is signed by an output node of the indirect token transaction.

3. The method claimed in claim 1 , wherein the third blockchain transaction (T) includes an unlocking script containing a secret value (sv) that is based on the first private key (k).

4. The method claimed in claim 3 , wherein collaborating with all other participating nodes in executing the indirect token transactions of the subset comprises collaborating with all other participating nodes in deriving the first private key (k) using the key share.

5. The method claimed in claim 3 , wherein the secret value is the sum of the first private key (k) and a random number provided by an output node of the indirect token transaction.

6. The method claimed in claim 1 , further comprising verifying the validity of the key share (kL) and its compatibility with the first public key (Q) using a publicly verifiable secret sharing scheme (PVSS).

7. The method claimed in claim 1 , wherein collaborating in deriving the first public key (Q) comprises calculating a term of a first Lagrange polynomial interpolation that includes the key share, and summing the term with terms of the first Lagrange polynomial provided by all other participating nodes.

8. The method claimed in claim 1 , wherein the set of indirect token transactions is further based on a predefined number of transactions per transaction round.

9. The method claimed in claim 1 , wherein the participating nodes include a plurality of sender-recipient pairs and wherein the set of indirect token transactions is generated based on respective quantities of tokens associated with the plurality of sender-recipient pairs.

10. The method claimed in claim 1 , wherein for each indirect token transaction of the set, an indirect quantity of tokens for the indirect token transaction is less than a threshold value that is dependent on committed quantity of tokens made available by a transferor.

11. A computing device to participate in a token transfer process including a plurality of participating nodes, the computing device being one of the participating nodes, the computing device comprising:

a processor;

memory;

a network interface to provide network connectivity; and

a blockchain application containing computer-executable instructions that, when executed by the processor, cause the processor to carry out the method claimed in claim 1 .

12. A non-transitory processor-readable medium storing processor-executable instructions to participate in a token transfer process including a plurality of participating nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 1 .

13. The method claimed in claim 1 , wherein the second blockchain transaction (T r,0 ) includes a transaction parameter (nLockTime) specifying a point in time after which the second blockchain transaction becomes eligible for submission to the blockchain.

Assignments (3)
CHANGE OF NAME Recorded Apr 25, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063445/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2022
From: JOSEPH, DANIEL; BARTOLUCCI, SILVIA
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060738/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2022
From: JOSEPH, DANIEL; BARTOLUCCI, SILVIA
To: NCHAIN HOLDINGS LTD.
Reel/Frame 061100/0318 →
Priority Claims (2)
GB 1709868 · Jun 20, 2017 · national
GB 1709871 · Jun 20, 2017 · national
Continuity (1)
Related Publication 20210184855A1 · Jun 17, 2021
Cited By (2)
US 12,277,548 US 12,602,681