CPC G06Q 20/3674 (2013.01) [G06Q 20/3676 (2013.01); G06Q 20/3827 (2013.01); G06Q 20/3829 (2013.01); G06Q 20/401 (2013.01); H04L 9/3215 (2013.01); H04L 9/3239 (2013.01); H04L 9/3236 (2013.01); H04L 9/50 (2022.05); H04L 2209/56 (2013.01)] | 8 Claims |
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 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;
wherein generating the commitment channel for each indirect token transaction comprises:
calculating a value for the commitment channel derived from a first public key (Q), wherein each participating node has a key share of a first private key (k) corresponding to the first public key:
collaborating with the second participating node to, using the value, 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,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.
|