Method for creating a hierarchical threshold signature digital asset wallet
OwnerChiu Hung Hunginventor
Life of this patent
Estimating the term…
Abstract
A method for creating a hierarchical threshold signature digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol includes steps of generating a public key by users and the digital asset wallet service platform, securing and controlling a portion of shares, sending a transaction signing request, validating the transaction signing request, creating a signature of the signed transaction, and uploading the signed transaction to the corresponding digital asset blockchain network and monitoring the execution of the signed transaction.
Claims9
A method for creating a hierarchical threshold digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol, the method comprising:
- generating a public key by a user on a user device (102) and a digital asset wallet service platform (101) using a hierarchical threshold key generation protocol (400);
- securing and controlling a portion of shares by the user and the digital asset wallet service platform (101) in one or more of m disjoint subsets for generating of a signature of a signed digital asset transaction;
- sending a transaction signing request by the user through a wallet service API (201) to the digital asset wallet service platform (101) for transferring digital assets outside the hierarchical threshold digital asset wallet;
- validating the transaction signing request by determining whether the transaction signing request adheres to a predefined access policy;
- facilitating the user device (102) and the digital asset wallet service platform (101) on a successful validation to jointly run a hierarchical threshold signature protocol (500);
- creating a signature of a signed transaction using the hierarchical threshold signature protocol (500);
- and
- uploading the signed transaction to a corresponding digital asset blockchain network and monitoring execution of the signed transaction;
- wherein the method allows a plurality of users to jointly generate the public key using the hierarchical threshold key generation protocol (400) comprising steps of:
- broadcasting the public key (Ei) for a homomorphic encryption by the user (Pi) and wherein Pi=Pi∈U);
- constructing two random polynomial values (f_i and f_i′) and broadcasting (C_ij);
- computing the shares (shi-j and sh′i-j) corresponding to each user (Pi∈U) and sending the shares (shi-j and sh′i-j) through a secure channel;
- checking the shares (shi-j and sh′i-j) for consistency by verifying for i=1, . . . , n (i≠j);
- computing (xi) by each user (Pi∈U) by adding a received private share and xi=Σjshj→i;
- broadcasting a broadcast value (Ail) by each user (Pi∈U) for added private shares;
- checking the broadcast value (Ail) by each user (Pi∈U) to verify (Gshi→j) value;
- associating a RSA modulus (Ni=piqi) with the public key (Ei);
- and
- setting the public key to y=Πiyi by each user (Pi∈U);
- wherein each user (Pi∈U) proves in a Zero-knowledge that user knows xi using a Schonorr's protocol and piqi using a proof of knowledge of integer factorization.
A method for creating a hierarchical threshold digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol, the method comprising:
- generating a public key by a user on a user device (102) and a digital asset wallet service platform (101) using a hierarchical threshold key generation protocol (400);
- securing and controlling a portion of shares by the user and the digital asset wallet service platform (101) in one or more of m disjoint subsets for generating of a signature of a signed digital asset transaction;
- sending a transaction signing request by the user through a wallet service API (201) to the digital asset wallet service platform (101) for transferring digital assets outside the hierarchical threshold digital asset wallet;
- validating the transaction signing request by determining whether the transaction signing request adheres to a predefined access policy;
- facilitating the user device (102) and the digital asset wallet service platform (101) on a successful validation to jointly run a hierarchical threshold signature protocol (500);
- creating a signature of a signed transaction using the hierarchical threshold signature protocol (500);
- and
- uploading the signed transaction to a corresponding digital asset blockchain network and monitoring execution of the signed transaction, wherein the method further allows plurality of users to create a joint threshold digital signature using the signature protocol, wherein the method comprising:
- selecting a set of users (S⊆[1 . . . n]) by user (Pi∈U) to participate in the signature protocol;
- computing [Ci,Di] by selecting random values (ki,γi) by each user (Pi∈U), and [Ci,Di]=Com(gγi);
- broadcasting Ci;
- running two multiplicative-to-additive (MtA) share conversion sub-protocol by a pair of user (Pi,Pj);
- broadcasting δi by every pair of the user (Pi∈U) and broadcasting δ;
- broadcasting Di by each user (Pi∈U);
- computing si=mki+rσi by each user (Pi∈U);
- selecting random values li,ρi by each user (Pi∈U) and compute [Ĉi,{circumflex over (D)}i];
- broadcasts Ĉi and {circumflex over (D)}i by each user (Pi∈U);
- computing Ui=Vρi and Ti=Δρi by each user (Pi∈U) and commits [{tilde over (C)}i,{tilde over (D)}i]=Com(Ui,Ti) and broadcast {tilde over (C)}i;
- broadcasting {tilde over (D)}i by each user (Pi∈U) to decommit to and broadcasting si and computing s by each user (Pi∈U);
- wherein when (r,s) is a valid signature then the user (Pi∈U) accepts and ends the signature protocol.
Dependencies are inferred from the claim text.