CPC G06Q 20/3678 (2013.01) [G06Q 20/0658 (2013.01); G06Q 20/3825 (2013.01); H04L 9/0618 (2013.01); H04L 9/085 (2013.01); H04L 9/0825 (2013.01); H04L 9/3026 (2013.01); H04L 9/3265 (2013.01); H04L 9/50 (2022.05)] | 14 Claims |
1. A computer-implemented method to participate in a data record distribution process using a blockchain, the data record distribution process including multiple input addresses and multiple output addresses, each address being controlled by a respective input node or output node, the computer-implemented method, implemented at one of a plurality of input nodes, comprising:
obtaining a first public key associated with the output nodes;
obtaining a key share of a second private key associated with the input nodes, wherein the second private key is unknown to any of the input nodes and wherein each of the input nodes has a respective key share of the second private key;
obtaining a threshold number of first terms by calculating a first term and receiving further first terms from other input nodes, each first term being a term of a first Lagrange polynomial interpolation that includes a key share of the respective node;
deriving a second public key corresponding to the second private key by summing said first terms;
obtaining a threshold number of second terms by calculating a second term and receiving further second terms from the other input nodes, each second term being a term of a second Lagrange polynomial interpolation that includes the key share of the respective node and the first public key;
deriving a third private key by summing said second terms; and
generating a first blockchain transaction that receives data records from the multiple input addresses and that has a stealth address as an output address, wherein the stealth address is based on the first public key and the third private key.
|