An editable blockchain method supporting dynamic trapdoors

By combining a dynamic trapdoor mechanism and a chameleon hash function, the problem of trapdoor abuse and leakage in blockchain is solved, achieving an organic integration of blockchain editability and security, reducing the risk of malicious nodes, and possessing high security and low computational cost.

CN119402165BActive Publication Date: 2025-11-18SHANGHAI SECOND POLYTECHNIC UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411508075.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-11-18
Estimated Expiration
2044-10-28

Smart Images

  • Figure CN119402165B_ABST
    Figure CN119402165B_ABST
Patent Text Reader

Abstract

The application discloses an editable blockchain method supporting dynamic trapdoors; the method comprises the following steps: public parameter generation, main trapdoor key pair generation, user key generation, chameleon hash value generation, collision search, user key and hash verification, trapdoor abolishment and update, and trapdoor update verification. The application adopts a chameleon hash supporting dynamic trapdoors, when the inherent tamper resistance of the blockchain is broken, the dynamic update of the trapdoor can be realized, only the user with the legal trapdoor key can change the chained data, and the risk of long-term holding of the trapdoor by the malicious node is reduced. The related security test results show that the application has advantages in safety, realizes higher safety guarantee with smaller calculation cost, improves the dynamic timeliness of the trapdoor private key, and realizes the organic fusion of the editability and the safety and credibility of the blockchain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of blockchain and information security technology, specifically relating to an editable blockchain method that supports dynamic trapdoors. Background Technology

[0002] In 2008, Nakamoto first proposed Bitcoin, an electronic payment system based on a peer-to-peer (P2P) network and consensus mechanism. Blockchain, as the core technology of Bitcoin, has attracted widespread attention from academia, industry, and government departments due to its decentralized, transparent, and immutable characteristics. Immutability means that once data is recorded on the blockchain, it cannot be deleted or modified, ensuring the reliability and trustworthiness of blockchain data. However, this permanent storage characteristic also brings many security risks. Malicious users may upload sensitive or illegal data to the blockchain, seriously affecting the healthy development of the network. Therefore, researching editable schemes for blockchain data has significant theoretical and practical application value.

[0003] Chameleon hashing is an important technique in cryptography, a one-way hash function with a trapdoor. If the trapdoor is unknown, chameleon hash functions are resistant to preimage and collision attacks. If the trapdoor is known, collisions with any input data can be efficiently constructed; that is, the input can be modified arbitrarily without affecting the output hash value. Using chameleon hash functions to construct editable blockchain schemes is a more reliable approach, offering advantages such as low cost and high efficiency, and is currently the mainstream method for building editable blockchains. However, existing editable blockchain schemes based on chameleon hashing all suffer from security vulnerabilities related to trapdoor abuse and leakage. Summary of the Invention

[0004] To address the aforementioned issues, this invention proposes an editable blockchain method supporting dynamic trapdoors. This method overcomes the inherent immutability of blockchain by enabling dynamic updates to the trapdoor. Even if the key is stolen, the key held by the thief will expire after a period of time, thereby reducing the risk of malicious nodes holding the trapdoor for an extended period. This invention also offers advantages in security, achieving higher security guarantees with lower computational cost, improving the dynamic timeliness of the trapdoor private key, and organically integrating the editability and security of the blockchain.

[0005] The technical solution of the present invention is described in detail below.

[0006] This invention provides an editable blockchain method supporting dynamic trapdoors, comprising the following steps:

[0007] Step 1: The certification body inputs the selected security parameters and outputs common parameters;

[0008] Step 2: The authorized agency inputs public parameters, generates the system master trapdoor key and the system master public key, and outputs the chameleon hash master trapdoor key pair;

[0009] Step 3: The data modifier sends its user identity to the authorizing agency. The authorizing agency inputs the Chameleon Hash master trapdoor key pair, the data modifier's user identity, the validity period of the user key held by the data modifier, and the return timestamp function, and outputs the data modifier's identity parameters and user key.

[0010] Step 4: The data modifier inputs the system master public key, the data modifier's identity parameters, the original message string, and a random number, and outputs the chameleon hash value corresponding to the original message;

[0011] Step 5: The data modifier inputs the system master public key, chameleon hash value, original message string, random number, and new message string, and outputs a new chameleon hash value and a new random number;

[0012] Step 6: The data modifier enters the system master public key, chameleon hash value, original message string, random number, new message string, new chameleon hash value and new random number, data modifier identity parameters, and user key, and verifies the validity of the user key and the correctness of the hash value;

[0013] Step 7: The authorizing agency abolishes the existing Chameleon Hash master trapdoor key pair (i.e., the old trapdoor) and generates a new Chameleon Hash master trapdoor key pair (i.e., the new trapdoor). The updated trapdoor satisfies the condition that the new trapdoor value does not depend on the old trapdoor value.

[0014] Step 8: The authorized agency verifies whether the old trap has been successfully revoked. If so, it returns a verification success message; otherwise, it returns a verification failure message.

[0015] Preferably, in step 1, the certification authority inputs the selected security parameter λ; and selects a multiplicative cyclic group G and G' of order q with generator g. T Where q represents a large prime number, g represents the generator of G, and G and G T Represent two multiplicative cyclic groups; define two hash functions H:{0,1} * →G,H1:{0,1} * →Z q Among them, Z q Let G denote a finite field of order q; let e denote a bilinear mapping e: G × G → G T The output common parameter pp is {G,G} T ,e,g,H,H1}.

[0016] Preferably, in step 2, the authorizing institution inputs the public parameter pp, generates the system master trapdoor key mtk and the system master public key hk, and outputs the chameleon hash master trapdoor key pair (mtk, hk). The system master trapdoor key mtk is kept by the authorizing institution, while the system master public key hk is made public. The process of generating the chameleon hash master trapdoor key pair is as follows:

[0017] Select random number Calculate y = g x The algorithm is run to generate a master trapdoor key pair (mtk, hk), where the system master public key hk = y and the master trapdoor key mtk = x. Let represent the set of integers consisting of 1, 2, ..., q-1.

[0018] Preferably, step 3 includes the following sub-steps:

[0019] 3.1: The data modifier sends its user identification identifier (CID) to the authorized agency.

[0020] 3.2: The authorized institution inputs the master trapdoor key pair (mtk, hk), the user identification CID, and the user key usage period h of the data modifier. valid The timestamp function ctime() generates a specific identifier h for the data modifier and outputs the data modifier's identity parameter ID. PP For {CID,h valid The specific identifier h and user key tk are sent to the data modifier. The calculation process for the specific identifier h and user key tk is as follows:

[0021]

[0022] tk=h x ;

[0023] Wherein, CID represents the user's identity identifier; h valid The usage period is indicated in seconds; ctime() is the timestamp function.

[0024] Preferably, in step 4, the data modifier inputs the system master public key hk and the data modifier identity parameter ID. PP Given the original information string m and a random number r, output the chameleon hash value CH. Calculate the chameleon hash value CH corresponding to information m:

[0025]

[0026] Where, m∈{0,1} * r represents a random number, r = g αx ,

[0027] Preferably, in step 5, the data modifier inputs the system master public key hk, the chameleon hash value CH, the original message string m, the random number r, and the new message string m′, and calculates the chameleon hash value CH′ corresponding to m′:

[0028]

[0029] Where, m′∈{0,1} * r′ represents a new random number, r′=g α′x′ ,

[0030] Preferably, in step 6, the data modifier inputs the system master public key hk, the chameleon hash value CH, the original message string m, the random number r, the new chameleon hash value CH′, the new message string m′ and the new random number r′, and the data modifier identity parameter ID. PP The user key tk is used to verify the validity of the user key and the correctness of the hash value. The specific execution is as follows:

[0031] Get the data modifier's identity parameter ID PP The system uses the user's identity identifier (CID) and the specific identity identifier (h) in the user key (tk) to determine whether the user key is valid. If it is not valid, it outputs Status = Expired.

[0032] Get CH and CH′, and determine whether CH = CH′ is true. If it is true, output Status = Valid; otherwise, output Status = Invalid.

[0033] Preferably, in step 7, the authorizing agency discards the existing chameleon hash master trapdoor key pair (i.e., the old trapdoor) and generates a new chameleon hash master trapdoor key pair (i.e., the new trapdoor). The updated trapdoor satisfies the condition that the new trapdoor value does not depend on the old trapdoor value. The specific execution is as follows:

[0034] The authorizing organization enters the public parameter pp and selects a random number. Calculate y′=g x′ Output a new chameleon hash master trapdoor key pair (mtk′, hk′), let the system master public key hk′ = y′, and the master trapdoor key mtk′ = x′, and use the master trapdoor key mtk′ to calculate the new user key tk′ corresponding to the user identity identifier CID.

[0035] Preferably, in step 8, the authorized agency verifies the validity of the user key tk. If it is not within the validity period, it outputs Status=Success, meaning that the old trapdoor cannot generate a valid hash value, and verifies that the old trapdoor was successfully revoked; otherwise, it outputs Status=Fail.

[0036] In summary, this invention proposes an editable blockchain method that supports dynamic trapdoors. The beneficial effects of this method are as follows:

[0037] (1) In this invention, the Chameleon Hash Function is used, and the trapdoor cancellation and update algorithm is added to the function. When breaking through the inherent immutability of the blockchain, the trapdoor can be dynamically updated. Even if the key is stolen, the key held by the thief will become invalid after a period of time, thereby reducing the risk of malicious nodes holding the trapdoor for a long time, solving the security risks of trapdoor abuse and trapdoor leakage, and having higher security.

[0038] (2) In this invention, an identity-based user key generation algorithm is used to generate a corresponding user key and set a usage period after identifying the user's identity. The authorization is effectively revoked with controllable randomness, so that only users with a valid trapdoor key can modify the data that has been uploaded to the chain, which has the effect of dynamic permission management.

[0039] (3) The relevant security test results show that the method in this invention has advantages in terms of security and good operating efficiency in each stage, achieving higher security assurance with a small computational cost. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1 This is a system model diagram of the present invention.

[0042] Figure 2 This is a flowchart of the method of the present invention.

[0043] Figure 3 This is a computational cost diagram comparing the key algorithm of the method of this invention with other different methods after multiple executions. Detailed Implementation

[0044] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0045] This invention provides an editable blockchain method that supports dynamic trapdoors. This method uses controllable randomness, meaning that the trapdoor key is automatically updated after a certain period of time or after being used once. In this case, authorized nodes cannot successfully find a hash collision using the old key, thus effectively revoking their authorization. This ensures that only users with legitimate trapdoor keys can modify the data already on the chain, thereby solving the security risks of trapdoor abuse and leakage in existing editable blockchain schemes. It has the effects of dynamic permission management and lightweight design, achieving an organic integration of blockchain editability and security.

[0046] like Figure 1 As shown, this invention mainly involves four entities: certification authorities, authorization authorities, data users, and data modifiers.

[0047] Certification Authority: The certification authority is responsible for initializing the entire system.

[0048] Authorizing Authority: After verifying the identity of the data modifier, the authorizing authority is responsible for distributing user keys (from the trapdoor) to the data modifier, ensuring that blockchain data can only be edited if the editing policy is met.

[0049] Data users: Data users are responsible for packaging raw data into transaction orders and broadcasting them to the blockchain network, and broadcasting data modification requests when there is a need to modify the relevant data.

[0050] Data modifier: When the set of attributes possessed by a data modifier satisfies the corresponding editing policy, it can initiate editing of blockchain data.

[0051] The workflow of this invention is as follows: The certification authority first initializes the entire system and broadcasts the generated public parameters to other entities in the system, while the data modifier generates its own user key; subsequently, the data user broadcasts the transaction to the blockchain network and appends the transaction to the blockchain; if illegal data is found in a transaction on the blockchain, the data user can initiate an edit request to the data modifier; after verifying the legality of the edit request, the data modifier updates the corresponding transaction content on the blockchain.

[0052] like Figure 2 As shown, this embodiment provides an editable blockchain method that supports dynamic trapdoors, including the following steps:

[0053] Step 1: The certification body inputs the selected security parameters and outputs common parameters.

[0054] In one implementation, step 1 includes the following:

[0055] The certification authority inputs the selected security parameter λ; selects a multiplicative cyclic group G and G' of order q with generator g. TWhere q represents a large prime number, g represents the generator of G, and G and G T Represent two multiplicative cyclic groups; define two hash functions H:{0,1} * →G,H1:{0,1} * →Z q Among them, Z q Let G denote a finite field of order q; let e denote a bilinear mapping e: G × G → G T The output common parameter pp is {G,G} T ,e,g,H,H1}.

[0056] Step 2: The authorized agency inputs public parameters, generates the system master trapdoor key and the system master public key, and outputs the chameleon hash master trapdoor key pair.

[0057] In one implementation, step 2 includes the following:

[0058] The authorizing organization inputs the public parameter pp to generate the system master trapdoor key mtk and the system master public key hk, outputting a chameleon hash master trapdoor key pair (mtk, hk). The system master trapdoor key mtk is kept by the authorizing organization, while the system master public key hk is made public. The process of generating the chameleon hash master trapdoor key pair is as follows:

[0059] Select random number Calculate y = g x The algorithm is run to generate a master trapdoor key pair (mtk, hk), where the system master public key hk = y and the master trapdoor key mtk = x. Let represent the set of integers consisting of 1, 2, ..., q-1.

[0060] Step 3: The data modifier sends its identity identifier to the authorizing authority. The authorizing authority inputs the Chameleon Hash master trapdoor key pair, the data modifier's user identity identifier, the data modifier's user key validity period, and a return timestamp function, and outputs the data modifier's identity parameters and user key.

[0061] In one implementation, step 3 includes the following:

[0062] The data modifier sends its user identification identifier (CID) to the authorizing authority and requests the generation of the modifier identity parameter ID. PP And user key tk. The authorizing authority inputs the master trapdoor key pair (mtk, hk), user identity identifier CID, and the user key usage period h of the data modifier. valid The timestamp function ctime() generates a specific identifier h for the data modifier and outputs the data modifier's identity parameter ID. PP For {CID,h valid,h} and user key tk. The calculation process is as follows:

[0063]

[0064] tk=h x ;

[0065] Wherein, CID represents the user's identity identifier; h valid The usage period is indicated by `ctime()`, which represents the timestamp function. Here, after verifying the user's identity, a corresponding user key is generated and its usage period is set. Controllable randomness effectively revokes authorization, ensuring that only users with valid trapdoor keys can modify data already on the blockchain, thus achieving dynamic access control.

[0066] Step 4: The data modifier inputs the system master public key, the data modifier's identity parameters, the original message string, and a random number, and outputs the chameleon hash value corresponding to the original message.

[0067] In one implementation, step 4 includes the following:

[0068] The data modifier enters the system master public key hk and the data modifier identity parameter ID. PP Given the original information string m and a random number r, output the hash value CH. Calculate the chameleon hash value CH corresponding to information m:

[0069]

[0070] Where, m∈{0,1} * r represents a random number, r = g αx ,

[0071] Step 5: The data modifier inputs the system master public key, chameleon hash value, original message string, random number, and new message string, and outputs a new chameleon hash value and a new random number.

[0072] In one implementation, step 5 includes the following:

[0073] The data modifier inputs the system master public key hk, the chameleon hash value CH, the original message string m, a random number r, and the new message string m′, and calculates the chameleon hash value CH′ corresponding to m′:

[0074]

[0075] Where, m′∈{0,1} * r′ represents a new random number, r′=g α′x′ ,

[0076] Step 6: The data modifier enters the system master public key, chameleon hash value, original message string, random number, new message string, new hash value and new random number, data modifier identity parameters, and user key, and verifies the validity of the user key and the correctness of the hash value.

[0077] In one implementation, step 6 includes the following:

[0078] The data modifier inputs the system master public key hk, the chameleon hash value CH, the original message string m, a random number r, a new hash value CH′, a new message string m′ and a new random number r′, and the data modifier's identity parameter ID. PP The user key tk is used to verify the validity of the user key and the correctness of the hash value. The specific execution is as follows:

[0079] Get the data modifier's identity parameter ID PP The system uses the user's identity identifier (CID) and the specific identity identifier (h) in the user key (tk) to determine whether the user key is valid. If it is not valid, it outputs Status = Expired.

[0080] Get CH and CH′, and determine whether CH = CH′ is true. If it is true, output Status = Valid; otherwise, output Status = Invalid.

[0081] Step 7: The authorizing agency abolishes the existing Chameleon Hash master trapdoor key pair (i.e., the old trapdoor) and generates a new Chameleon Hash master trapdoor key pair (i.e., the new trapdoor). The updated trapdoor satisfies the condition that the new trapdoor value does not depend on the old trapdoor value.

[0082] In one implementation, step 7 includes the following:

[0083] The authorizing authority discards the existing Chameleon Hash master trapdoor key pair (i.e., the old trapdoor) and generates a new Chameleon Hash master trapdoor key pair (i.e., the new trapdoor). The updated trapdoor satisfies the condition that the new trapdoor value does not depend on the old trapdoor value. The specific execution is as follows:

[0084] The authorizing organization enters the public parameter pp and selects a random number. Calculate y′=g x′(mod q), outputting a new chameleon hash master trapdoor key pair (mtk′, hk′), letting the system master public key hk′ = y′, and the master trapdoor key mtk′ = x′, and using the master trapdoor key mtk′ to calculate the new user key tk′ corresponding to the user's identity identifier CID. This employs a chameleon hash that supports dynamic trapdoors. While overcoming the inherent immutability of blockchain, it enables dynamic updates to the trapdoor. Even if the key is stolen, the key held by the thief will expire after a period of time, thus reducing the risk of malicious nodes holding the trapdoor for a long period and solving the security risks of trapdoor abuse and leakage.

[0085] Step 8: The authority verifies whether the old trap has been successfully revoked. If so, it returns a verification success message; otherwise, it returns a verification failure message.

[0086] In one implementation, step 8 includes the following:

[0087] The authorized agency verifies the validity of the user key tk. If it is not within the validity period, it outputs Status=Success, meaning that the old trapdoor cannot generate a valid hash value and the verification is successful. Otherwise, it outputs Status=Fail.

[0088] This invention experimentally tests the main processes on a laptop equipped with the PBC library (version 0.5.14) and the OpenSSL library (version 1.1.1). The device is configured with a 1.6-GHz quad-core CPU and 4GB RAM, running Ubuntu 18.04LTS (64-bit) operating system. In the experiment, the method of this invention, Chameleon Hash with Dynamic Trapdoor (DTCH), is compared with other methods: Threshold Chameleon Hash (TCH), Revocable Chameleon Hash (RCH), and Revocable Chameleon Hash with Limited Number of Redactions (RCHLR). In practical applications, the hash collision lookup algorithm and hash verification algorithm are executed frequently, better reflecting the efficiency of the chameleon hash scheme. Therefore, this experiment executes the collision lookup algorithm and hash verification algorithm multiple times and combines their computational costs to compare the computational costs between different methods (e.g., ...). Figure 3(As shown). Experimental data shows that the algorithm of this invention takes only milliseconds, which is the lowest computational cost compared to other methods. Furthermore, this invention does not allow the reuse of the same trapdoor and can flexibly update the trapdoor, which fundamentally solves the security risks of trapdoor abuse and leakage. It achieves higher security guarantees with lower computational cost and realizes the organic integration of the editability and security of blockchain.

[0089] In summary, this invention proposes a dynamic trapdoor-based editable blockchain scheme and provides a concrete construction with provable security based on bilinear mapping. This scheme utilizes controllable randomness, ensuring that only users with valid trapdoor keys can modify data already on the chain. Furthermore, user keys have an expiration date; when a user key expires or is used, the system regenerates a new trapdoor, invalidating the old one. This reduces the risk of abuse of editing permissions and effectively solves the security problem after trapdoor leakage. Security analysis and related experimental results demonstrate that this invention has good security and efficient operation at each stage, achieving higher security guarantees with relatively low computational cost.

Claims

1. An editable blockchain method supporting dynamic trapdoors, characterized in that, It involves four entities: certification authorities, authorization authorities, data users, and data modifiers. The specific steps are as follows: Step 1: The certification body inputs the selected security parameters and outputs common parameters; Step 2: The authorized agency inputs public parameters, generates the system master trapdoor key and the system master public key, and outputs the chameleon hash master trapdoor key pair; Step 3: The data modifier sends its user identity to the authorizing agency. The authorizing agency inputs the Chameleon Hash master trapdoor key pair, the data modifier's user identity, the validity period of the user key held by the data modifier, and the return timestamp function, and outputs the data modifier's identity parameters and user key. Step 4: The data modifier inputs the system master public key, the data modifier's identity parameters, the original message string, and a random number, and outputs the chameleon hash value corresponding to the original message; Step 5: The data modifier inputs the system master public key, chameleon hash value, original message string, random number, and new message string, and outputs a new chameleon hash value and a new random number; Step 6: The data modifier enters the system master public key, chameleon hash value, original message string, random number, new message string, new chameleon hash value and new random number, data modifier identity parameters, and user key, and verifies the validity of the user key and the correctness of the hash value; Step 7: The authorizing agency abolishes the existing Chameleon Hash master trapdoor key pair, i.e. the old trapdoor, and generates a new Chameleon Hash master trapdoor key pair, i.e. the new trapdoor. The updated trapdoor satisfies that the new trapdoor value does not depend on the old trapdoor value. Step 8: The authorized agency verifies whether the old trapdoor was successfully revoked. If so, it returns a verification success message; otherwise, it returns a verification failure message. Where: Step 3 includes the following sub-steps: 3.1: The data modifier sends their user identification code (CID) to the authorized agency; 3.2: The authorized institution inputs the master trapdoor key pair (mtk, hk), the user identification CID, and the user key usage period h of the data modifier. valid The timestamp function ctime() generates a specific identifier h for the data modifier and outputs the data modifier's identity parameter ID. PP For {CID,h valid The specific identifier h and user key tk are sent to the data modifier; the formulas for calculating the specific identifier h and user key tk are as follows: tk=h x , In the formula, x = mtk.

2. The editable blockchain method supporting dynamic trapdoors according to claim 1, characterized in that, In step 1, the certification authority inputs the selected security parameter λ; and selects a multiplicative cyclic group G and G' with order q and generator g. T Where q represents a large prime number, g represents the generator of G, and G and G T Represent two multiplicative cyclic groups; define two hash functions H:{0,1} * →G,H1:{0,1} * →Z q Among them, Z q Let G denote a finite field of order q; let e denote a bilinear mapping e: G × G → G T The output common parameter pp is {G,G} T ,e,g,H,H1}.

3. The editable blockchain method supporting dynamic trapdoors according to claim 2, characterized in that, In step 2, the authorizing institution inputs the public parameter pp, generates the system master trapdoor key mtk and the system master public key hk, and outputs the chameleon hash master trapdoor key pair (mtk, hk). The system master trapdoor key mtk is kept by the authorizing institution, while the system master public key hk is made public. The process of generating the chameleon hash master trapdoor key pair is as follows: Select random number Calculate y = g x The algorithm is run to generate the master trapdoor key pair (mtk, hk), where hk = y and mtk = x. Let represent the set of integers consisting of 1, 2, ..., q-1.

4. The editable blockchain method supporting dynamic trapdoors according to claim 3, characterized in that, In step 4, the data modifier enters the system master public key hk and the data modifier identity parameter ID. PP Given the original information string m and a random number r, output the chameleon hash value CH: Where, m∈{0,1} * r = g αx , 5. The editable blockchain method supporting dynamic trapdoors according to claim 4, characterized in that, In step 5, the data modifier inputs the system master public key hk, the chameleon hash value CH, the original message string m, a random number r, and the new message string m′, and outputs the new chameleon hash value CH′: Where, m′∈{0,1} * r′ represents a new random number, r′=g α′x′ , 6. The editable blockchain method supporting dynamic trapdoors according to claim 5, characterized in that, In step 6, the data modifier inputs the system master public key hk, the chameleon hash value CH, the original message string m, the random number r, the new chameleon hash value CH′, the new message string m′ and the new random number r′, and the data modifier identity parameter ID. PP The user key tk is used to verify the validity of the user key and the correctness of the hash value. The specific execution is as follows: Get the data modifier's identity parameter ID PP The system uses the user's identity identifier CID and the specific identity identifier h in the user key tk to determine whether the user key is valid. If it is not valid, it outputs Status = Expired. Get CH and CH′, and determine whether CH = CH′ is true. If it is true, output Status = Valid; otherwise, output Status = Invalid.

7. The editable blockchain method supporting dynamic trapdoors according to claim 6, characterized in that, Step 7 is executed as follows: The authorizing organization enters the public parameter pp and selects a random number. Calculate y′=g x′ Output a new chameleon hash master trapdoor key pair (mtk′, hk′), let the system master public key hk′ = y′, and the master trapdoor key mtk′ = x′, and use the master trapdoor key mtk′ to calculate the new user key tk′ corresponding to the user identity identifier CID.

8. The editable blockchain method supporting dynamic trapdoors according to claim 7, characterized in that, In step 8, the authorizing agency verifies the validity of the user key tk. If it is not within the validity period, it outputs Status=Success, meaning that the old trapdoor cannot generate a valid hash value, and the old trapdoor is successfully revoked. Otherwise, it outputs Status=Fail.