A blockchain-based energy user identity editable authentication method
By adopting blockchain-based energy user identity editable authentication method in the energy Internet, the problem of user identity privacy information security is solved, and the security and efficiency of identity authentication and management are achieved.
Patent Information
- Application Number
- CN202310186542.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-28
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2043-02-28
AI Technical Summary
In the era of big data, the security of user identity privacy information in the energy Internet is difficult to effectively solve, and it is difficult for existing technology to provide reliable identity authentication and management services.
The blockchain-based energy user identity editable authentication method is adopted, and the system model is built, and the EUIEA algorithm is generated using chameleon hash function and elliptic curve encryption is used to generate certificates, public keys and private keys, and user identity initialization, certificate upload, verification and management are performed.
It realizes effective authentication and management of energy Internet user identities, provides secure authentication services, reduces the risk of privacy leakage, avoids the redundancy of multiple users registrations, and realizes dynamic revocation of certificates through irregular inspections, reducing system storage pressure.
Smart Images

Figure CN116226917B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an editable authentication method for energy user identity based on blockchain, and belongs to the fields of blockchain technology, energy Internet and identity authentication. Background Art
[0002] In recent years, with the development of emerging information technologies such as the Internet of Things, mobile Internet, big data, and cloud computing, people have generated massive amounts of data in their production and life. The use of these data has brought rich economic returns to human society, but it has also led to a series of security issues such as data leakage, data forgery, and data abuse. In recent years, blockchain technology has a natural advantage in data security due to its decentralization, tamper-proofing, and traceability. The present invention realizes decentralized identity authentication through blockchain technology. Summary of the invention
[0003] The technical problem to be solved by the present invention is to provide an editable authentication method for energy user identities based on blockchain, which can effectively authenticate and manage user identities in the energy Internet, thereby providing corresponding authentication services and security services required for users to participate in activities in the energy Internet, and solving the security issues of user identity privacy information in the big data era.
[0004] The technical solution of the present invention is: a blockchain-based energy user identity editable authentication method, the specific steps are:
[0005] Step 1: Build a system and generate EUIEA algorithm based on Chameleon hash function and elliptic curve encryption. The system model includes energy users, blockchain, and system.
[0006] Step 2: Based on the above system model, the energy user is initialized and generates a certificate, public key and private key by inputting identity information into the system.
[0007] Step 3: Upload the generated certificate to the blockchain with user authorization. At the same time, the system will check the validity of the user certificate from time to time and broadcast the results to the blockchain network.
[0008] Step 4: Energy users can present their own certificates to prove their identity. After passing the system verification, they can participate in a series of activities such as modifying information, issuing transactions, and executing transactions.
[0009] Step 5: Energy users modify their own identity information by providing the system with a private key, certificate, and new information. The identity information can be modified after verification.
[0010] Step 6: Energy users can verify the validity and authenticity of the certificate of the other party to the intended transaction, and decide whether to proceed further based on the verification.
[0011] Step 7: Since user certificates are time-limited, the system needs to check the certificates from time to time. Once a certificate expires, the user certificate will be automatically revoked and the revocation result will be broadcast to the blockchain network.
[0012] The system model described in Step 1 specifically includes:
[0013] User: As the main body of the system, the user can generate his own identity certificate and the corresponding public and private keys. And can uniquely manage his own identity certificate. The user can authorize the service operator and upload his own identity certificate, which will be recorded in the block as an authorization certificate. At the same time, the user can also verify the other party's identity certificate during the transaction.
[0014] Blockchain: Store user identity certificates and broadcast them to the blockchain. When a user needs to verify the identity of another person, it supports on-chain evidence collection to increase the accuracy of the verification results.
[0015] System: Encrypt the user's legitimate identity information and generate the user's identity certificate for others to verify. At the same time, when a user issues a reasonable verification request, the verification result should be given and the next step can be selected based on the verification result: After the verification is passed, both users can choose whether to trade according to their own wishes. Otherwise, the transaction will be forcibly interrupted and the problematic identity certificate will be revoked and broadcast to the blockchain system.
[0016] The EUIEA algorithm described in Step 1 is as follows:
[0017] Step 1.1: Initialize parameters: Input system parameter λ, select two cyclic groups G, G with order p as prime number. T And select the generator g of the G group, set the bilinear pairing map e: G×G→G T , let H: {0, 1} * →G is a cryptographic hash function that outputs a public parameter value param={G, G T ,e,g,H,Z p}.
[0018] Step 1.2: Generate initial identity summary: Enter the public parameter value param and user information m1, in Z p Choose a random number x from the integer group and calculate Where x is the user's private key sk, the user's public key pk = (g, h), and then the initial identity summary is calculated Select the unique value user ID number UID, obtain the timestamp t_cur of the current user generating the certificate, set the validity period t_valid of the certificate, and output the user parameter group param UID = <UID,t cur , t valid , CHash, g, H(m1), m1>.
[0019] Step 1.3: Storage parameters: Write the generated hash value CHash into the blockchain through a smart contract.
[0020] Step 1.4: Initialize the certificate key pair: Enter the public parameter value param, and initialize the elliptic curve function E, randomly select a point G on the curve as the base point, and p Choose a random number β on the integer group so that the private key sk ca =β, pk ca =βG. This key is used to generate and verify certificates later.
[0021] Step 1.5: Generate certificate: Enter user parameter group param UID , extract CHash, UID generates certificate = {UID*G, CHash+UID*pk ca}, and give the generated certificate to the user.
[0022] Step 1.6: Store the certificate: distribute the generated certificate to the user and store it on the chain through the smart contract. The corresponding pk ca ,sk ca Stored together with the certificate in an independent certificate library.
[0023] Step 1.7: Update user information: The user provides new user information m2, private key x, certificate certificate, user parameter group param UID . Get the current time and extract param UID In the above code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to renew the certificate and gets a positive response, the smart contract obtains CHash, certificate1 from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the new identity summary information CHash is calculated by extracting the curve parameters g and h in the user parameter group. new and the new private key x1, and judge CHash.equal(CHash new) is true, if they are consistent, the data will be modified through verification and the new x1 will be returned to the user. If the certificate is not valid or the user does not update it, the user certificate will be automatically revoked and the revocation result will be broadcast to the blockchain network. Once revoked, the current certificate cannot be used for subsequent identity authentication.
[0024] Step 1.8: Present certificate: When a user needs to conduct a transaction, he can present his certificate to the system to prove his identity.
[0025] Step 1.9: Certificate verification: The user verifies the certificate and public key pk provided by the verifier (i.e. the counterparty) ca 1. CHash first obtains certificate1 from the blockchain through the smart contract, and compares the certificate in the certificate library with the certificate2 of CHash to see if they are consistent. If they are consistent, result = true, indicating that the presented certificate is valid, and returns the verification result. Otherwise, the verification fails and the certificate is invalid.
[0026] The user initialization process in Step 2 is specifically as follows:
[0027] Step 2.1: Initialize parameters: Input system parameter λ, select two cyclic groups G, G with order p as prime number. T And select the generator g of the G group, set the bilinear pairing map e: G×G→G T , let H: {0, 1} * →G is a cryptographic hash function that outputs a public parameter value param={G, G T ,e,g,H,Z p}.
[0028] Step 2.2: Generate initial identity summary: Enter the public parameter value param and user information m1, in Z p Choose a random number x from the integer group and calculate Where x is the user's private key sk, the user's public key pk = (g, h), and then the initial identity summary is calculated Select the unique value user ID number UID, obtain the timestamp t_cur of the current user generating the certificate, set the validity period t_valid of the certificate, and output the user parameter group param UID = <UID,t cur , t valid , CHash, g, H(m1), m1>.
[0029] The Step 3 is specifically as follows:
[0030] Step 3.1: Initialize the certificate key pair: Enter the public parameter value param, and initialize the elliptic curve function E, randomly select a point G on the curve as the base point, and p Choose a random number β on the integer group so that the private key skc a =β, pk ca =βG. This key is used to generate and verify certificates later.
[0031] Step 3.2: Generate certificate: Enter user parameter group param UID , extract CHash, UID generates certificate = {UID*G, CHash+UID*pk ca}, and give the generated certificate to the user.
[0032] Step 3.3: Store the certificate: distribute the generated certificate to the user and store it on the chain through the smart contract. The corresponding pk ca ,sk ca Stored together with the certificate in an independent certificate library.
[0033] The specific process of self-verification in Step 4 is as follows:
[0034] The user provides new user information information, private key x, certificate certificate, user parameter group param UID . Get the current time and extract param UID In the code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to update the certificate validity period and gets a positive response, the smart contract obtains CHash, certificate1, from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the verification is successful. Otherwise, the verification fails.
[0035] The specific process of the system verifying the user's identity is as follows: the system verifies the user's identity based on the certificate certificate and certificate public key pk provided by the verifier (i.e. the transaction counterparty). ca , CHash first obtains certificate1 from the blockchain through the smart contract, and compares the certificate in the certificate library with the certificate certificate2 of CHash to see if they are consistent. If they are consistent, result = true, indicating that the presented certificate is valid, and returns the verification result. Otherwise, the verification fails, indicating that the certificate is invalid. The user provides the certificate certificate and certificate public key pk provided by the verified party (i.e. the transaction counterparty). ca, CHash first compares the certificate1 obtained from the blockchain through the smart contract, and the certificate2 in the certificate library with the certificate of CHash to see if they are consistent. If they are consistent, result = true, indicating that the presented certificate is valid, and returns the verification result. Otherwise, the verification fails and the certificate is invalid.
[0036] The process of updating information in Step 5 is as follows:
[0037] The user provides new user information m2, private key x, certificate certificate, user parameter group param UID . Get the current time and extract param UID In the above code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to renew the certificate and gets a positive response, the smart contract obtains CHash, certificate1 from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the new identity summary information CHash is calculated by extracting the curve parameters g and h in the user parameter group. new and the new private key x1, and judge CHash.equal(CHash new ) is true, if it is consistent, the data is modified through verification and the new x1 is returned to the user. If the certificate is not within the validity period or the user does not update it, the user certificate is automatically revoked and the revocation result is broadcast to the blockchain network.
[0038] The Step 7 is specifically as follows:
[0039] The user provides the certificate certificate and the user parameter group param UID . Get the current time and extract param UID Among them, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid, subsequent transactions can be carried out. If the certificate is not valid, the user is first asked whether the validity period needs to be extended. If necessary, the user group information is updated. Otherwise, the user certificate is automatically revoked and the revocation result is broadcast to the blockchain network.
[0040] An editable authentication system for energy user identity based on blockchain, comprising:
[0041] Model building and algorithm generation module: The user builds a system model and generates an EUIEA algorithm based on the Chameleon hash function and elliptic curve encryption; the system model includes energy users, blockchain, and system.
[0042] Initialization module: Based on the above system model, energy users perform initialization and generate certificates, public keys and private keys by inputting identity information into the system.
[0043] Energy user information upload module: The generated certificate is uploaded to the blockchain through user authorization. At the same time, the system will conduct irregular checks on the timeliness of the user certificate and broadcast the results to the blockchain network.
[0044] Self-authentication module: Energy users can produce their own certificates to prove their identity. After passing the system verification, they can participate in a series of activities such as modifying information, issuing transactions, and executing transactions.
[0045] Editing module: Energy users modify their own identity information: Users provide the system with private keys, certificates and new information, and the identity information can be modified after verification.
[0046] Verify other user module: Energy users can verify the validity and authenticity of the certificate of the other party to the intended transaction, and decide whether to proceed further through verification.
[0047] Certificate validity management module: Due to the timeliness of user certificates, the system needs to check the certificates from time to time. Once a certificate expires, the user certificate will be automatically revoked and the revocation result will be broadcast to the blockchain network.
[0048] The beneficial effects of the present invention are:
[0049] 1. In the present invention, the user is the center of the entire authentication activity, and the user's personal identity data is completely controlled by the individual, reducing the problem of privacy leakage;
[0050] 2. Using blockchain to store certificates can avoid redundancy problems caused by multiple registrations by the same user, while ensuring certificate security;
[0051] 3. The system checks the availability of user certificates from time to time to realize dynamic revocation of user certificates, which can reduce the system storage pressure and improve verification efficiency to a certain extent. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 is a flow chart of the steps of the present invention;
[0053] Figure 2 It is a flow chart of a specific detailed solution of the present invention.
[0054] Figure 3 It is a time-consuming result diagram of each stage in an embodiment of the present invention.
[0055] Figure 4 It is a graph of the average time consumption for storing evidence on the chain in an embodiment of the present invention.
[0056] Figure 5 This is a graph of the average time consumption for obtaining evidence from the blockchain in an embodiment of the present invention. DETAILED DESCRIPTION
[0057] The present invention will be further described below in conjunction with the accompanying drawings and specific implementation methods.
[0058] Example 1: Figure 1-5 As shown, a blockchain-based energy user identity editable authentication method, the specific steps are:
[0059] Step 1: While building the system model, emphasize declaring relevant attributes and generate the EUIEA algorithm based on the chameleon hash function and elliptic curve encryption; the system model includes energy users, blockchain, and system.
[0060] Here, the relevant attribute statement: the various attributes related to the energy user are mainly described in the statement; the verifiable statement can be verified by the public key associated with the published energy user identity.
[0061] Step 2: Based on the above system model, the energy user is initialized and generates a certificate, public key and private key by inputting identity information into the system.
[0062] Step 3: Upload the generated certificate to the blockchain with user authorization. At the same time, the system will check the validity of the user certificate from time to time and broadcast the results to the blockchain network.
[0063] Here, after the system verifies the user's certificate, it will add the certificate information to the blockchain (a consortium chain maintained by all users); in addition, the system will verify the validity of the user's certificate the next time the user needs to authenticate his or her identity.
[0064] Step 4: Energy users can present their own certificates to prove their identity. After passing the system verification, they can participate in a series of activities such as modifying information, issuing transactions, and executing transactions.
[0065] Step 5: Energy users modify their own identity information: Users provide the system with private keys, certificates and new information, and the identity information can be modified after verification.
[0066] Step 6: Energy users can verify the validity and authenticity of the certificate of the other party to the intended transaction, and decide whether to proceed further based on the verification.
[0067] Step 7: Since user certificates are time-limited, the system needs to check the certificates from time to time. Once a certificate expires, the user certificate will be automatically revoked and the revocation result will be broadcasted to the blockchain network.
[0068] Furthermore, the system model described in Step 1: is specifically:
[0069] User: As the main user of the system, the user can generate his own identity certificate and the corresponding public and private keys; and can uniquely manage his own identity certificate. The user can authorize the service operator and upload his own identity certificate, which will be recorded in the block as an authorization certificate. At the same time, the user can also verify the other party's identity certificate during the transaction.
[0070] Blockchain: Store user identity certificates and broadcast them to the blockchain; when a user needs to verify the identity of others, it supports on-chain evidence collection to increase the correctness of the verification results.
[0071] System: Encrypt the user's legitimate identity information and generate the user's identity certificate for verification by others; at the same time, when a user issues a reasonable verification request, the verification result should be given and the next step can be selected based on the verification result: when the verification is passed, both users can choose whether to conduct the transaction according to their own wishes; otherwise, the transaction will be forcibly interrupted and the problematic identity certificate will be revoked and broadcast to the blockchain system.
[0072] Furthermore, if Figure 2 As shown, the specific process of user initialization in Step 2 includes:
[0073] Step 2.1: The user enters personal identity information, and then the legitimacy of the user information is determined (such as name, age, ID number, phone number, etc.);
[0074] Step 2.2: Initialize parameters: Input system parameter λ, select two cyclic groups G, G with order p as prime number. T And select the generator g of the G group, set the bilinear pairing map e: G×G→G T , let H: {0, 1} * →G is a cryptographic hash function. Output public parameter value param = {G, G T ,e,g,H,Z p}.
[0075] Step 2.3: Generate initial identity summary: Enter the public parameter value param and user information information, p Select a random number x from the integer group and calculate h = g xH(information) , where x is the user's private key sk, and the user's public key pk = (g, h). Then calculate and generate the initial identity summary CHash = e(g information h x). Select the unique value user ID number UID, obtain the timestamp t_cur of the current user generating the certificate, and set the validity period t_valid of the certificate. Output user parameter group:
[0076] param UID = <UID,t cur , t valid ,CHash,g,H(information),information>
[0077] Step 2.4: Storage parameters: Write the generated hash value CHash into the blockchain through a smart contract.
[0078] Step 2.5: Initialize the certificate key pair: Enter the public parameter value param, and initialize the elliptic curve function E, randomly select a point G on the curve as the base point, and p Choose a random number β on the integer group so that the private key sk ca =β, pk ca =βG; this key is used to subsequently generate and verify certificates.
[0079] Step 2.6: Generate certificate: Enter user parameter group param UID , extract CHash, UID generates certificate = {UID*G, CHash+UID*pk ca}, and give the generated certificate to the user.
[0080] Furthermore, if Figure 2 As shown in Figure 2, the specific process of storing the certificate in Step 3 includes: distributing the generated certificate to the user and storing it on the chain through a smart contract. ca ,sk ca Stored together with the certificate in an independent certificate library.
[0081] Furthermore, the specific process of self-verification in Step 4 includes: the user provides new user information information, private key x, certificate certificate, user parameter group param UID ; Get the current time and extract param UIDIn the above code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to update the certificate validity period and gets a positive response, the smart contract obtains CHash, certificate1 from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the verification is passed. Otherwise, the verification fails. The specific process of the system verifying the user's identity is as follows: the system verifies the certificate certificate and the certificate public key pk provided by the verifier (i.e. the counterparty). ca , CHash first obtains certificate1 from the blockchain through the smart contract, and compares the certificate in the certificate library with the certificate certificate2 of CHash to see if they are consistent. If they are consistent, resu1t=true, indicating that the presented certificate is valid, and returns the verification result; otherwise, the verification fails and the certificate is invalid.
[0082] Furthermore, the specific process of user updating information in Step 5 is as follows: The user provides new user information neW , private key x, certificate certificate, user parameter group param UID ; Get the current time and extract param UID In the above code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to renew the certificate and gets a positive response, the smart contract obtains CHash, certificate1 from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the new identity summary information CHash is calculated by extracting the curve parameters g and h in the user parameter group. new and the new private key x1, and judge CHash.equal(CHash new ) is true, if they are consistent, the data is modified through verification and the new x1 is returned to the user; otherwise, the modification of information fails.
[0083] Furthermore, the certificate revocation process described in Step 6 is specifically as follows:
[0084] The user provides the certificate certificate and the user parameter group param UID ; Get the current time and extract param UIDIn the code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid, subsequent transactions can be carried out. If the certificate is not valid, the user is first asked whether the validity period needs to be extended. If necessary, the user group information is updated. Otherwise, the user certificate is automatically revoked and the revocation result is broadcast to the blockchain network.
[0085] The specific implementation modes of the present invention are described in detail above in conjunction with the accompanying drawings, but the present invention is not limited to the above implementation modes, and various changes can be made within the knowledge scope of ordinary technicians in this field without departing from the purpose of the present invention.
Claims
1. A blockchain-based energy user identity editable authentication method, characterized by: Step 1: Build the system and generate EUIEA algorithm based on Chameleon hash function and elliptic curve encryption; the system model includes energy users, blockchain, and system; Step 2: Based on the above system model, the energy user performs initialization and generates a certificate, public key and private key by inputting identity information into the system; Step 3: Upload the generated certificate to the blockchain through user authorization. At the same time, the system will check the validity of the user certificate from time to time and broadcast the results to the blockchain network; Step 4: Energy users can present their own certificates to prove their identity. After passing the system verification, they can participate in a series of activities such as modifying information, publishing transactions, and executing transactions; Step 5: The energy user modifies his / her own identity information by providing the system with a private key, certificate and new information. After verification, the identity information can be modified. Step 6: Energy users can verify the validity and authenticity of the certificate of the other party to the intended transaction and decide whether to proceed further through verification; Step 7: The system checks the certificate irregularly. Once the certificate expires, the user certificate will be automatically revoked and the revocation result will be broadcast to the blockchain network; The EUIEA algorithm described in Step 1 is as follows: Step 1.1: Input the system parameter λ and select two cyclic groups G and G with order p as prime number. T And select the generator g of the G group, set the bilinear pairing map e:G×G→G T , let H:{0,1} * →G is a cryptographic hash function that outputs a public parameter value param={G,G T ,e,g,H,Z p }; Step 1.2: Enter the public parameter value param and user information m1, in Z p Choose a random number x from the integer group and calculate Where x is the user's private key sk, the user's public key pk = (g, h), and then the initial identity summary is calculated Select the unique value user ID number UID, obtain the timestamp t_cur of the current user generating the certificate, set the validity period t_valid of the certificate, and output the user parameter group param UID = <UID,t cur ,t valid ,CHash,g,H(m1),m1>; Step 1.3: Write the generated hash value CHash into the blockchain through the smart contract; Step 1.4: Input the public parameter value param, initialize the elliptic curve function E, randomly select a point G on the curve as the base point, and p Choose a random number β on the integer group so that the private key sk ca =β, pk ca =βG; Step 1.5: Enter the user parameter group param UID , extract CHash, UID generates certificate = {UID*G,CHash+UID*pk ca }, give the generated certificate to the user; Step 1.6: Distribute the generated certificates to users and store them on the chain through smart contracts. The corresponding pk ca ,sk ca Stored together with the certificate in an independent certificate library.
2. The blockchain-based energy user identity editable authentication method according to claim 1 is characterized in that: The Step 4 is specifically as follows: The user provides new user information information, private key x, certificate certificate, user parameter group param UID ; Get the current time and extract param UID In the above code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to update the certificate validity period and gets a positive response, the smart contract obtains CHash, certificate1 from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the verification is passed. Otherwise, the verification fails. The specific process of system verification of user identity is as follows: the system verifies the user's identity based on the certificate certificate and certificate public key pk provided by the person being verified. ca , CHash first obtains certificate1 from the blockchain through the smart contract, and compares the certificate in the certificate library with the certificate certificate2 of CHash to see if they are consistent. If they are consistent, result = true, indicating that the presented certificate is valid, and returns the verification result; otherwise, the verification fails, indicating that the certificate is invalid. The user verifies the certificate provided by the verifier and the certificate public key pk ca , CHash is first compared with certificate1 obtained from the blockchain through the smart contract, and the certificate in the certificate library corresponds to the certificate certificate2 of CHash to see if they are consistent. If they are consistent, result = true, indicating that the presented certificate is valid, and the verification result is returned; otherwise, the verification fails and the certificate is invalid.
3. The blockchain-based energy user identity editable authentication method according to claim 1 is characterized in that: The Step 5 is specifically as follows: The user provides new user information m2, private key x, certificate certificate, user parameter group param UID ; Get the current time and extract param UID In the above code, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid or the user is asked whether he agrees to update the certificate validity period and gets a positive response, the smart contract obtains CHash, certificate1 from the blockchain, and obtains the certificate certificate2 corresponding to CHash from the certificate library. The certificates obtained by multiple parties are compared to see if they are consistent. If they are consistent, the new identity summary information CHash is calculated by extracting the curve parameters g and h in the user parameter group. new and the new private key x1, and judge CHash.equal(CHash new ) is true, if they are consistent, the data will be modified through verification and the new x1 will be returned to the user; if the certificate is not within the validity period or the user does not update it, the user certificate will be automatically revoked and the revocation result will be broadcast to the blockchain network.
4. The energy user identity editable authentication method based on blockchain according to claim 1 is characterized in that: The Step 7 is specifically as follows: The user provides the certificate certificate and the user parameter group param UID ; Get the current time and extract param UID Among them, t_cur and t_valid determine whether the certificate is still valid. If the certificate is valid, subsequent transactions can be carried out. If the certificate is not within the validity period, the user is first asked whether the validity period needs to be extended. If necessary, the user group information is updated; otherwise, the user certificate is automatically revoked and the revocation result is broadcast to the blockchain network.