US 11,875,340 B2
Method and system for secure data record distribution using a blockchain
Martin Sewell, London (GB); Daniel Joseph, London (GB); and Craig Steven Wright, London (GB)
Assigned to nChain Licensing AG, Zug (CH)
Appl. No. 16/603,550
Filed by nChain Licensing AG, Zug (CH)
PCT Filed Apr. 6, 2018, PCT No. PCT/IB2018/052406
§ 371(c)(1), (2) Date Oct. 7, 2019,
PCT Pub. No. WO2018/185724, PCT Pub. Date Oct. 11, 2018.
Claims priority of application No. 1705621 (GB), filed on Apr. 7, 2017.
Prior Publication US 2021/0090072 A1, Mar. 25, 2021
Int. Cl. G06Q 20/36 (2012.01); G06Q 20/06 (2012.01); G06Q 20/38 (2012.01); H04L 9/06 (2006.01); H04L 9/08 (2006.01); H04L 9/30 (2006.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
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
OG exemplary drawing
 
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.