# US 12,602,681 B2 · System and method of multi-round token distribution using a blockchain network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,681 B2
- Document ID: US12602681B2
- Status: Granted
- Kind: B2
- Application number: 18/776,050
- Filed: 2024-07-17
- Published: 2025-03-13
- Granted: 2026-04-14
- Earliest claimed: 2017-06-20
- Assignees: nChain Licensing AG
- Applicants: nChain Licensing AG
- Inventors: Daniel Joseph; Silvia Bartolucci
- Web page: https://patentgrep.com/patent/US12602681B2

## CPC

- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q 20/3674: {involving authentication}
- G06Q 20/3676: {Balancing accounts}
- G06Q 20/3827: {Use of message hashing}
- G06Q 20/3829: {involving key management}
- G06Q 20/401: {Transaction verification}
- H04L 9/3215: {using a plurality of channels (network architectures or network communication protocols using different networks H04L63/18)}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06Q 2220/00: Business processing using cryptography
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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 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 a first plurality of indirect token transactions for which the participating node is an input node, and a second plurality of indirect token transactions for which the participating node is 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;
identifying a plurality of input addresses for the participating node, one for each of the first plurality of indirect token transactions, and a plurality of output addresses for the participating node, one for each of the second plurality of indirect token transactions;
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;
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, by collaboratively:
generating 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,0) that returns the committed indirect quantity of tokens to an input address of the indirect token transaction, and
generating a third blockchain transaction (Tt) for executing transfer of the committed indirect quantity of tokens to the output address of the indirect token transaction; and
collaborating with all other participating nodes in executing the indirect token transactions of the subset using the generated commitment channels.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 4)

The method claimed in claim 4, 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.

### Claim 6 (depends on 4)

The method claimed in claim 4, 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.

### Claim 7 (depends on 1)

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

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 1)

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 the transferor.

### Claim 12 (depends on 1)

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.

### Claim 13 (depends on 1)

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;
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.
