A distributed identity private key recovery method based on weighted voting

By introducing a weighted voting mechanism into the decentralized identity management system and taking into account the activity of the principal, the problems of low efficiency and low success rate of private key recovery are solved, achieving faster private key recovery and lower risk of identity loss.

CN120090796BActive Publication Date: 2025-09-19POWERCHINA BEIJING ENG CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510247890.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-04
Publication Date
2025-09-19
Estimated Expiration
2045-03-04

AI Technical Summary

Technical Problem

In decentralized identity management systems, existing private key recovery methods suffer from low efficiency and success rate. In particular, they do not consider the client's activity, resulting in prolonged private key recovery time and a high risk of user identity loss.

Method used

A distributed identity private key recovery method based on weighted voting is adopted. By initializing the principal activity evaluation factor in the user registration phase and performing weighted voting based on the principal activity in the private key recovery phase, the influence of high-activity principals is increased and the dependence on low-activity principals is reduced.

Benefits of technology

It improves the efficiency and success rate of private key recovery, reduces the private key recovery time and the risk of user identity loss, and ensures the efficiency and reliability of the private key recovery process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120090796B_ABST
    Figure CN120090796B_ABST
Patent Text Reader

Abstract

The present invention provides a distributed identity private key recovery method based on weighted voting, which belongs to the field of 5G and information security technology. In the user registration stage, the user uploads the public key to the blockchain and initializes the principal activity evaluation factor on the smart contract; in the private key recovery stage, the principal performs weighted voting based on the principal activity. When the voting result exceeds m' / n', it is considered to have passed the verification and the user's public key in the blockchain is replaced, where m' represents the weighted number of votes of the voting principal, and n' represents the total number of votes that all principals should have after weighting. The present invention pays more attention to highly active principals and reduces dependence on low-activity principals, thereby improving the efficiency of private key recovery while increasing the success rate of user private key recovery and reducing the risk of user identity loss.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of 5G and information security technology, and in particular to a distributed identity private key recovery method based on weighted voting. Background Art

[0002] The rapid development of fifth-generation mobile communication technology (5G) has led to the rapid growth of distributed technologies such as blockchain, giving rise to Web3. Web3 aims to create a more decentralized, secure, and interoperable internet environment. However, existing identity authentication systems rely on centralized authorities, making them unsuitable for distributed Web3 scenarios. Consequently, Decentralized Identity (DID) has emerged. Based on blockchain technology, DID offers a more robust identity management solution that protects user privacy and has garnered widespread attention from both academia and industry.

[0003] A typical distributed identity system structure is as follows Figure 1 As shown, in this system, there are three entities, namely, the certificate issuer, the user and the certificate verifier.

[0004] Certificate issuer: The certificate issuer is generally an authority, and the certificate issuer stores the private key sk locally. I , the identity id I With the public key pk I The mapping is published on the blockchain and is used for certificate verification operations by the verifier.

[0005] User: During the registration phase, the user generates an identity ID u With the public-private key pair (sk u ,pk u ), and their identity id u With the public key pk u The mapping is published on the blockchain. Afterwards, users can apply for a digital certificate from the certificate issuer. The digital certificate is used to prove the user's attributes, such as proving that the user is over 18 years old. After receiving the certificate, the user stores it locally. During the use of the certificate, the user needs to sign the certificate to prove ownership of the certificate and obtain network resources.

[0006] Verifier: Usually a web service, which obtains the public key pk of the certificate issuer and user from the blockchain I With pk u , verify the user certificate, and after successful authentication, provide the user with corresponding network resources.

[0007] Therefore, in the decentralized identity management scenario, the private key is the key element for users to manage their identities. Users prove that they have control over their identities by proving that they have the private key. In a typical centralized identity authentication system, users prove their identities by setting a password (Password) p1. The Web server will store the user password p1 in a secure manner. ′ 1 is used for authentication. In this scenario, the user's password is stored in a centralized server. During the authentication phase, the user provides the password p1, and the Web server compares the password p1 provided by the user with the password p stored in the server. v 1 is compared in a secure manner. If the comparison is successful, the authentication is passed. Since the password is set by the user, it is relatively easy to remember. Even if the user forgets the password, the user can be helped to regain control of the identity by resetting the password. For example, the user resets the password to p2, and the Web server resets p ′ 1 is changed to p ′ 2 users can use p2 for authentication.

[0008] Unlike centralized systems, decentralized systems lack a centralized authority to back up users' private keys. This means that if a user loses their private key, they ultimately lose ownership of their identity and credentials. Unlike user-defined passwords, private keys are typically randomly generated and difficult to remember, putting users at risk of forgetting or losing their private keys.

[0009] Therefore, when a user's private key is lost, how to efficiently and securely help the user regain control of their identity is a key issue. To solve this problem, the mainstream solution is social network private key recovery. In this method, the user pre-designates some trustees, such as relatives and friends. When the private key is lost, the trustees vote on the blockchain to help the user regain control of the identity, such as Figure 2-Figure 3 As shown in Figure 2, social network private key recovery strategies can be divided into two categories based on whether user authentication is required.

[0010] Social network recovery strategies without passwords:

[0011] This type of solution only requires the delegates to vote, such as Figure 2 As shown, the user generates a public-private key pair and sends it to the client. After the client votes successfully, the public key replacement operation is performed. Specifically,

[0012] 1) Registration stage. When registering, the user sets multiple principals. The list of principal addresses is called the principal list D. list , the user writes the mapping between his own identity and the list of principals into the blockchain.

[0013] 2) Private key recovery phase.

[0014] First, when the user loses the private key, the user generates a new public-private key pair (sk new ,pk new ), the new public key pk new The token is sent to the principal in an off-chain manner, and the principal can authenticate the user in an off-chain manner. Afterwards, the principal can vote. If these principals can reach an m-of-n consensus, the mapping between the id and the original public key on the blockchain is replaced with (id, pk new In the m-of-n consensus, n refers to the total number of delegates, and m refers to the number of delegates required for the voting result to be valid. If more than m of these n delegates vote, the voting result is considered valid, and the public key is replaced. The user can then use the new private key to control the identity, including all certificates used by that identity. This method carries the risk of identity theft. Due to the lack of blockchain user authentication, it can lead to collusion attacks by delegates, generating a public-private key pair and conducting joint voting to steal the user's identity.

[0015] Password-based social network recovery strategy:

[0016] In order to solve the identity fraud risk of social network recovery strategies without passwords, password-based social network recovery strategies have been proposed, such as Figure 3 As shown in this scheme, in addition to requiring the principal to reach an m-of-n consensus, it also requires password authentication, that is, the user proves that he holds the password through zero-knowledge proof without revealing the password information. Specifically, 1) When registering, the user uploads D list In addition, the user needs to generate a statement of the password and upload the statement to the blockchain; 2) When the user loses the private key, the user generates a new public-private key pair (pk new ,sk new ,), the new public key pk new The public key is then sent to the principal off-chain, allowing them to authenticate the user. 3) If the off-chain authentication succeeds, the principal signs the user's statement. Once the user receives more than m signatures, a zero-knowledge proof π is generated. π proves two things: that the user possesses the correct password and that the user has received more than m signatures from the principal. π is then submitted to the blockchain via a published transaction. Once the blockchain verifies the public key, the public key is replaced. This method introduces password authentication, allowing private key recovery only if the user provides the correct password. This helps users recover their private keys while effectively reducing the risk of identity theft caused by collusion attacks by the principal.

[0017] In social network-based private key recovery methods, users can recover their private keys with the help of a trustee, thereby regaining control of their identity. However, since the trustee may be offline, this method suffers from low private key recovery efficiency and a high risk of user identity loss.

[0018] 1) Inefficient private key recovery. This is because traditional solutions use an equal-weight voting mechanism that doesn't consider the activity of delegates. Restoring a private key typically requires consensus among multiple delegates. If some delegates are slow to respond or absent, recovery may take longer.

[0019] 2) The success rate of private key recovery is low. If the majority of the user's designated principals are offline for an extended period or lose access, the private key cannot be recovered, and the user may permanently lose control of their identity. Summary of the Invention

[0020] In order to solve the technical problems existing in the prior art, the present invention provides a distributed identity private key recovery method based on weighted voting, which pays more attention to high-activity principals and reduces dependence on low-activity principals, thereby improving the efficiency of private key recovery while increasing the success rate of user private key recovery and reducing the risk of user identity loss.

[0021] The present invention provides a distributed identity private key recovery method based on weighted voting, comprising the following steps:

[0022] During the user registration phase, the user uploads their public key to the blockchain and initializes the principal activity evaluation factor on the smart contract;

[0023] During the private key recovery phase, the principal performs weighted voting based on the principal's activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification and the user's public key in the blockchain is replaced. Among them, m′ represents the weighted number of votes of the voting principal, and n′ represents the total number of votes that all principals should have after weighting.

[0024] Preferably, the specific process of user registration includes:

[0025] User generated identity id u , generate a public key and private key pair (pk u ,sk u ), specify multiple principals, and the principal list composed of multiple principal identity identifiers is recorded as in, Represents the identity of the i-th client, and n is the number of clients;

[0026] The user generates a password pwd and a statement stt corresponding to the password;

[0027] The user enters the user identity and public key pku 、Client List D list Upload to the blockchain with the password pwd;

[0028] For each client Initialize the principal activity evaluation factor on the smart contract and set User ID u With the client The number of transfers, where [] represents the index operation of the mapping, and || represents the string concatenation operation; set

[0029] Preferably, the specific process of private key recovery is as follows:

[0030] The user generates a new public key and private key pair locally, denoted as pk new ,sk new , notify the client of the new public-private key pair in an off-chain manner;

[0031] The user generates a zero-knowledge proof (non-interactive proof) of π, proves to the blockchain that the user has the correct password without revealing the password, and publishes π to the blockchain by publishing a transaction;

[0032] All nodes in the blockchain verify the legitimacy of π;

[0033] After the verification is passed, the principal conducts a weighted vote based on the principal's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification and the user's public key in the blockchain is replaced.

[0034] Preferably, the client performs weighted voting based on the client's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification. The specific process includes the following:

[0035] The client receives the new public key pk from the user new Afterwards, the user is authenticated off-chain;

[0036] After successful authentication, voting is performed with user ID u With the new public key pk new As input, generate voting transactions and publish them on the blockchain;

[0037] After the blockchain receives the voting transaction issued by the principal, it calculates the principal’s activity level;

[0038] If the voting result based on activity is greater than or equal to m' / n', the principal who exceeds the threshold is considered to have voted, the principal is considered to have passed the verification, and the private key recovery request is verified.

[0039] Preferably, factors influencing the client's activity include the client's interactivity, influence, contribution and participation.

[0040] Preferably, the interactivity is defined as the number of transfer transactions between the user and the principal. The more transfer transactions there are between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

[0041] Preferably, influence is defined as the total number of times the principal assumes the role of principal in the entire distributed identity authentication system. The more times the principal assumes the role of principal, the more active the principal is.

[0042] Preferably, the contribution is defined as the total number of times the principal helps other users recover their private keys in the entire distributed identity authentication system. The more times the principal helps other users recover their private keys, the more active the principal is.

[0043] Preferably, participation is defined as the total number of times the principal calls the identity management smart contract. The more calls, the more times the principal participates in identity management, and the more active the principal is.

[0044] Preferably, the delegators perform weighted voting based on their activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification, specifically including:

[0045] The following formula is used to calculate the client's activity:

[0046]

[0047] Blockchain judgment Is it greater than or equal to m' / n'? If it is greater than or equal to m' / n', it is considered that the client who exceeds the threshold has voted, and the client is considered to have passed the verification;

[0048] in,

[0049] Indicates the principal Corresponding degree of interaction;

[0050] Indicates the principal corresponding influence;

[0051] Indicates the principal Corresponding contribution;

[0052] Indicates the principal Corresponding participation;

[0053] α1, α2, α3, and α4 are the weights of interaction, influence, contribution, and participation, respectively;

[0054] A i For the client activity level;

[0055] A j is the jth voting client; A k is the kth non-voting principal;

[0056] D1 represents the set of delegates who have voted, and D2 represents the set of delegates who have not voted.

[0057] Compared with the prior art, the present invention has the following beneficial effects:

[0058] 1. The present invention adopts an activity-based voting mechanism. Highly active delegators have a greater impact on voting results. Highly active delegators are more likely to be online, which allows them to complete voting operations more quickly when the user's private key is lost. This reduces the recovery delay caused by waiting for voting, thereby reducing the time overhead of private key recovery and improving the efficiency of private key recovery.

[0059] 2. This invention prioritizes highly active delegators through differentiated weight distribution, effectively reducing the risk of user identity loss, improving the success rate of private key recovery, and reducing failures due to offline delegators. Traditional equal-weight voting mechanisms can cause recovery operations to suspend due to some delegators being offline for extended periods of time. This invention effectively addresses this issue. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 The figure in the figure is a typical framework diagram of a distributed identity authentication system in the prior art;

[0061] Figure 2 The middle is a schematic diagram of a social network recovery strategy for a decentralized system without introducing a password in the prior art;

[0062] Figure 3 Schematic diagram of a password-based social network recovery strategy for a decentralized system in the prior art;

[0063] Figure 4 This is a schematic diagram of a private key recovery strategy design according to an embodiment of the present invention;

[0064] Figure 5 This is a flow chart of a distributed identity private key recovery method based on weighted voting according to an embodiment of the present invention. DETAILED DESCRIPTION

[0065] The specific embodiments of the present invention are described in detail below.

[0066] like Figure 4-Figure 5 As shown, the present invention provides a distributed identity private key recovery method based on weighted voting, comprising the following steps:

[0067] During the user registration phase, the user uploads their public key to the blockchain and initializes the principal activity evaluation factor on the smart contract;

[0068] During the private key recovery phase, the principal performs weighted voting based on the principal's activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification and the user's public key in the blockchain is replaced. Among them, m′ represents the weighted number of votes of the voting principal, and n′ represents the total number of votes that all principals should have after weighting.

[0069] According to a specific embodiment of the present invention, the specific process of user registration includes:

[0070] User generated identity id u , generate a public key and private key pair (pk u ,sk u ), specify multiple principals, and the principal list composed of multiple principal identity identifiers is recorded as in, Represents the identity of the i-th client, and n is the number of clients;

[0071] The user generates a password pwd and a statement stt corresponding to the password;

[0072] The user enters the user identity and public key pk u 、Client List D list Upload to the blockchain with the password pwd;

[0073] For each client Initialize the principal activity evaluation factor on the smart contract and set User ID u With the client The number of transfers, where [] represents the index operation of the mapping, and || represents the string concatenation operation; set

[0074] According to a specific embodiment of the present invention, the specific process of private key recovery is as follows:

[0075] The user generates a new public key and private key pair locally, denoted as pk new ,sk new , notify the client of the new public-private key pair in an off-chain manner;

[0076] The user generates a zero-knowledge proof (non-interactive proof) of π, proves to the blockchain that the user has the correct password without revealing the password, and publishes π to the blockchain by publishing a transaction;

[0077] All nodes in the blockchain verify the legitimacy of π;

[0078] After the verification is passed, the principal conducts a weighted vote based on the principal's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification and the user's public key in the blockchain is replaced.

[0079] Zero-knowledge proof is a cryptographic principle that can prove the authenticity of a statement without revealing any specific information. In blockchain identity authentication, zero-knowledge proofs can be used to verify a user's identity without revealing their personal information. For example, a user can use a zero-knowledge proof to prove they are over 18 years old without revealing their specific date of birth. This approach effectively protects user privacy while ensuring the validity of identity verification.

[0080] According to a specific embodiment of the present invention, the client performs weighted voting based on the client's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification. The specific process includes the following:

[0081] The client receives the new public key pk from the user new Afterwards, the user is authenticated off-chain;

[0082] After successful authentication, voting is performed with user ID u With the new public key pk new As input, generate voting transactions and publish them on the blockchain;

[0083] After the blockchain receives the voting transaction issued by the principal, it calculates the principal’s activity level;

[0084] If the voting result based on activity is greater than or equal to m' / n', the principal who exceeds the threshold is considered to have voted, the principal is considered to have passed the verification, and the private key recovery request is verified.

[0085] According to a specific embodiment of the present invention, factors influencing the client's activity include the client's interactivity, influence, contribution and participation.

[0086] According to a specific embodiment of the present invention, the interactivity is defined as the number of transfer transactions between the user and the principal. The more transfer transactions there are between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

[0087] According to a specific embodiment of the present invention, influence is defined as the total number of times the principal assumes the principal role in the entire distributed identity authentication system. The more times the principal assumes the principal role, the more active the principal is.

[0088] According to a specific embodiment of the present invention, the contribution degree is defined as the total number of times the principal helps other users recover their private keys in the entire distributed identity authentication system. The more times the principal helps other users recover their private keys, the more active the principal is.

[0089] According to a specific embodiment of the present invention, participation is defined as the total number of times the principal calls the identity management smart contract. The more calls, the more times the principal participates in identity management, and the more active the principal is.

[0090] According to a specific embodiment of the present invention, the client performs weighted voting based on the client's activity level. When the voting result exceeds m' / n', it is considered to have passed the verification, which specifically includes:

[0091] The following formula is used to calculate the client's activity:

[0092]

[0093] Blockchain judgment Is it greater than or equal to m' / n'? If it is greater than or equal to m' / n', it is considered that the client who exceeds the threshold has voted, and the client is considered to have passed the verification;

[0094] in,

[0095] Indicates the principal Corresponding degree of interaction;

[0096] Indicates the principal corresponding influence;

[0097] Indicates the principal Corresponding contribution;

[0098] Indicates the principal Corresponding participation;

[0099] α1, α2, α3, and α4 are the weights of interaction, influence, contribution, and participation, respectively;

[0100] A i For the client activity level;

[0101] A jis the jth voting client; A k is the kth non-voting principal;

[0102] D1 represents the set of delegates who have voted, and D2 represents the set of delegates who have not voted.

[0103] Example 1

[0104] like Figure 4-Figure 5 As shown, the present invention provides a distributed identity private key recovery method based on weighted voting, comprising the following steps:

[0105] During the user registration phase, the user uploads their public key to the blockchain and initializes the principal activity evaluation factor on the smart contract;

[0106] During the private key recovery phase, the principal performs weighted voting based on the principal's activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification and the user's public key in the blockchain is replaced. Among them, m′ represents the weighted number of votes of the voting principal, and n′ represents the total number of votes that all principals should have after weighting.

[0107] Example 2

[0108] like Figure 4-Figure 5 As shown, the present invention provides a distributed identity private key recovery method based on weighted voting, comprising the following steps:

[0109] During the user registration phase, the user uploads their public key to the blockchain and initializes the principal activity evaluation factor on the smart contract;

[0110] During the private key recovery phase, the principal performs weighted voting based on the principal's activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification and the user's public key in the blockchain is replaced. Among them, m′ represents the weighted number of votes of the voting principal, and n′ represents the total number of votes that all principals should have after weighting.

[0111] This invention modifies the user registration process to support identity private key recovery for multi-factor weighted voting. Similar to traditional solutions, this invention incorporates a password authentication and voting mechanism for private key recovery. Users are required to upload their identity, public key, list of principals, and password to the blockchain. Unlike traditional solutions, in addition to uploading this data, this invention requires users to initialize or modify parameters related to principal activity assessment within the smart contract, as shown in the user registration process in Algorithm 1.

[0112] Further, if Figure 4 As shown, the specific process of user registration includes:

[0113] User generated identity id u, generate a public key and private key pair (pk u ,sk u ), specify multiple principals, and the principal list composed of multiple principal identity identifiers is recorded as in, Represents the identity of the i-th client, and n is the number of clients;

[0114] The user generates a password pwd and a statement stt corresponding to the password;

[0115] The user enters the user identity and public key pk u 、Client List D list Upload to the blockchain with the password pwd;

[0116] For each client Initialize the principal activity evaluation factor on the smart contract and set User ID u With the client The number of transfers, where [] represents the index operation of the mapping, and || represents the string concatenation operation; since the number of times the principal acts as the principal increases, setting

[0117] The present invention designs a private key recovery method based on weighted voting. Similar to traditional schemes, the present invention introduces two stages: password authentication and principal voting. However, unlike traditional schemes, the present invention adopts an activity-based principal voting strategy to achieve efficient private key recovery, as shown in the private key recovery process in Algorithm 1.

[0118] Further, if Figure 4 As shown, the specific process of private key recovery is as follows:

[0119] The user generates a new public key and private key pair locally, denoted as pk new ,sk new , notify the client of the new public-private key pair in an off-chain manner;

[0120] The user generates a zero-knowledge proof (non-interactive proof) of π, proves to the blockchain that the user has the correct password without revealing the password, and publishes π to the blockchain by publishing a transaction;

[0121] All nodes in the blockchain verify the legitimacy of π; this step not only proves that the user holds the correct password, but also notifies the blockchain nodes that the user wants to recover the private key.

[0122] After the verification is passed, the principal conducts a weighted vote based on the principal's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification and the user's public key in the blockchain is replaced.

[0123] Furthermore, the client performs weighted voting based on the client's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification. The specific process includes the following:

[0124] The client receives the new public key pk from the user new Afterwards, the user is authenticated off-chain;

[0125] After successful authentication, voting is performed with user ID u With the new public key pk new As input, generate voting transactions and publish them on the blockchain;

[0126] After the blockchain receives the voting transaction issued by the principal, it calculates the principal’s activity level;

[0127] If the voting result based on activity is greater than or equal to m' / n', the principal who exceeds the threshold is considered to have voted, the principal is considered to have passed the verification, and the private key recovery request is verified.

[0128] Furthermore, factors influencing client activity include client interaction, influence, contribution, and participation.

[0129] This paper designs a client activity assessment scheme that considers multiple influencing factors. Because client activity is related to multiple factors, such as user interaction, client influence, client contribution to private key recovery, and client involvement in identity management, this paper quantifies these influences and assigns differentiated importance scores to these factors. These importance scores are then used as weights to calculate the activity scores for different clients.

[0130] The evaluation factors of client activity and the meanings of corresponding indicators are shown in Table 1.

[0131] 1) Interaction, denoted as E. In this invention, interaction is used to measure the frequency of interaction between the principal and the user. The higher the interaction, the more active the principal is. Since the underlying blockchain is a distributed ledger, this invention defines interaction as the number of transfer transactions between the user and the principal. The more transactions between the user and the principal, that is, the more interactions between the two parties, the more active the principal is.

[0132] 2) Influence is denoted as I. This invention defines influence as the total number of times the principal assumes the role of principal in the entire DID system. This is because the principal plays a very important role in the user identity management process. The more times the principal assumes the role of principal, the greater the influence of the principal, that is, the more active the principal is in the social network.

[0133] 3) Contribution is denoted as C. In this invention, contribution refers to the degree of contribution of the principal to recovering the private key. This invention defines contribution as the total number of times the principal helps other users recover their private keys in the entire distributed identity system. The greater the contribution, the more active the user.

[0134] 4) Participation, denoted as P. Participation is used to measure the degree of user participation in the identity management process. This invention defines it as the total number of times the principal calls the identity management smart contract. The more calls, the more participation in identity management, that is, the more active the principal is.

[0135] Table 1 Explanation of the meaning of factors affecting client activity

[0136]

[0137] Since the impact of these influencing factors on activity may be different in real scenarios, the present invention sets different importance values ​​for different influencing factors as weights for activity evaluation. Therefore, the activity A is expressed as A=α1E+α2I+α3C+α4P, where α1, α2, α3 and α4 are the importance scores of each factor.

[0138] The present invention stores the factors affecting the activity of different users by deploying identity management smart contracts in the blockchain. In order to improve the retrieval efficiency, a mapping data structure is used for storage, that is, four mappings are used to store interaction, influence, contribution value and participation respectively. These four mappings are respectively denoted as m E 、m i 、m c With m p For interactivity, the present invention uses the user and client's identity identifiers as the key and the total number of transfers between the two parties as the value. For influence, contribution value, and participation, the present invention uses the client's identity identifier as the key and stores the corresponding indicator values ​​as the values.

[0139] Furthermore, interaction is defined as the number of transfer transactions between the user and the principal. The more transfer transactions there are between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

[0140] Furthermore, influence is defined as the total number of times the principal assumes the role of principal in the entire distributed identity authentication system. The more times the principal assumes the role of principal, the more active the principal is.

[0141] Furthermore, the contribution is defined as the total number of times the principal helps other users recover their private keys in the entire distributed identity authentication system. The more times the principal helps other users recover their private keys, the more active the principal is.

[0142] Furthermore, participation is defined as the total number of times the principal calls the identity management smart contract. The more calls, the more times the principal participates in identity management, and the more active the principal is.

[0143] Furthermore, the delegators perform weighted voting based on their activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification, specifically including:

[0144] The blockchain will retrieve the principals separately Corresponding engagement influence Contribution value and engagement And calculate the corresponding activity of the client. The following formula is used to calculate the client's activity:

[0145]

[0146] Blockchain judgment Is it greater than or equal to m' / n'? If it is greater than or equal to m' / n', it is considered that the principal who exceeds the threshold has voted, and the principal is considered to have passed the verification. In addition, since the principal calls the identity management smart contract to vote, the number of times the principal calls the identity management smart contract is increased by one. Therefore, set

[0147] in,

[0148] Indicates the principal Corresponding degree of interaction;

[0149] Indicates the principal corresponding influence;

[0150] Indicates the principal Corresponding contribution;

[0151] Indicates the principal Corresponding participation;

[0152] α1, α2, α3, and α4 are the weights of interaction, influence, contribution, and participation, respectively;

[0153] A i For the client activity level;

[0154] A j is the jth voting client; A k is the kth non-voting principal;

[0155] D1 represents the set of delegates who have voted, and D2 represents the set of delegates who have not voted.

[0156] After the above steps are executed, the original (id u ,pk u ,D list ,stt) will be replaced by (id u ,pk new ,D list ,stt). After that, users can use sk new Control identity, including the use of all certificates. In addition, for all voting delegates, these delegates help the user to successfully recover the private key, so for set up

[0157] The following is the pseudo code of the user registration and private key recovery process of this embodiment:

[0158]

[0159]

[0160] For distributed identity scenarios, this paper quantifies client activity. Specifically, it first quantifies the factors influencing client activity, including interactivity, influence, contribution, and participation. Secondly, considering that different factors have different weights on activity, this paper assigns differentiated importance scores to each factor and uses them as weights to calculate the activity scores of different clients.

[0161] For the private key recovery scenario of distributed identity, the present invention designs a voting mechanism based on activity. During the client voting process, the present invention can give priority to highly active clients and reduce the reliance on less active clients.

[0162] This invention optimizes the user registration and private key recovery processes to support a weighted voting-based private key recovery mechanism. Specifically, during the user registration phase, the blockchain must initialize or update the mapping of activity factors corresponding to the principal. During the private key recovery process, the principal must perform weighted voting to reach an m′-of-n′ consensus. Simultaneously, as voting occurs, the activity factors of the relevant principals must also be updated to dynamically reflect changes in their activity.

[0163] The foregoing description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be within the scope of protection of the present invention.

Claims

1. A distributed identity private key recovery method based on weighted voting, characterized in that: The steps include: During the user registration phase, the user uploads their public key to the blockchain and initializes the principal activity evaluation factor on the smart contract; During the private key recovery phase, the client will vote based on the client's activity level. , it is considered to have passed the verification and replaced the user's public key in the blockchain, where Represents the weighted number of votes cast by the voting principals. Represents the total weighted votes of all delegates; The specific process of user registration includes: User-generated identity , generate a public key and private key pair , specify multiple principals, and the principal list composed of multiple principal identity identifiers is recorded as ,in, Representative The identity of the principal, is the number of clients; i=1,2, ... , n; User-generated password , and generate a statement corresponding to the password ; The user will enter the user identity, public key , Client List and password Upload to blockchain; For each client Initialize the principal activity evaluation factor on the smart contract and set For users With the client The number of transfers, of which Represents the index operation of the mapping, Represents string concatenation operation; set = .

2. The distributed identity private key recovery method based on weighted voting according to claim 1 is characterized in that: The specific process of private key recovery is as follows: The user generates a new public key and private key pair locally, which are respectively recorded as , notify the client of the new public-private key pair in an off-chain manner; User-generated zero-knowledge proof non-interactive proof Without revealing the password, the user can prove to the blockchain that he / she has the correct password and publish the transaction. Publish to blockchain; All nodes of the blockchain Verify the legitimacy of After verification, the client will vote based on the client's activity. , the private key recovery request is considered to have passed the verification and replaces the user's public key in the blockchain.

3. The distributed identity private key recovery method based on weighted voting according to claim 2 is characterized in that: The client votes weightedly based on the client's activity. When the private key recovery request passes the verification, the specific process includes the following: The client receives the new public key from the user Afterwards, the user is authenticated off-chain; After successful authentication, voting is performed with user ID With the new public key As input, generate voting transactions and publish them on the blockchain; After the blockchain receives the voting transaction issued by the principal, it calculates the principal’s activity level; If the voting result based on activity is greater than or equal to , then it is considered that if the number of principals exceeding the threshold votes, the principal is considered to have passed the verification and the private key recovery request is verified.

4. The distributed identity private key recovery method based on weighted voting according to any one of claims 1 to 3, characterized in that: Factors influencing client activity include client interaction, influence, contribution and participation.

5. The distributed identity private key recovery method based on weighted voting according to claim 4 is characterized in that: Interaction is defined as the number of transfer transactions between the user and the principal. The more transfer transactions there are between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

6. The distributed identity private key recovery method based on weighted voting according to claim 5 is characterized in that: Influence is defined as the total number of times the principal assumes the role of principal in the entire distributed identity authentication system. The more times the principal assumes the role of principal, the more active the principal is.

7. The distributed identity private key recovery method based on weighted voting according to claim 6 is characterized in that: Contribution is defined as the total number of times a principal helps other users recover their private keys in the entire distributed identity authentication system. The more times a principal helps other users recover their private keys, the more active the principal is.

8. The distributed identity private key recovery method based on weighted voting according to claim 7 is characterized in that: Participation is defined as the total number of times the principal calls the identity management smart contract. The more calls, the more times the principal participates in identity management, and the more active the principal is.

9. The distributed identity private key recovery method based on weighted voting according to claim 8 is characterized in that: The client votes weightedly based on the client's activity. , it is considered to have passed the verification, including: The following formula is used to calculate the client's activity: = Blockchain judgment Is greater than or equal to , if greater than or equal to , then it is considered that the principal who exceeds the threshold votes, and the principal is considered to have passed the verification; in, Indicates the principal Corresponding degree of interaction; Indicates the principal corresponding influence; Indicates the principal Corresponding contribution; Indicates the principal Corresponding participation; 、 、 and The weights of interaction, influence, contribution and participation respectively; For the client activity level; For the j Delegates who have voted; For the k non-voting delegates; represents the set of delegates who have voted, Represents the set of non-voting delegates.

Citation Information

Patent Citations

  • Key reconstruction method based on block chain and rational secret sharing

    CN117749357A