Next Article in Journal
A Compact and High-Efficiency Design of Triple-Band Rectifier for Wireless Power Transfer
Next Article in Special Issue
Logarithmic NTRU-Based Certificateless Ring Signature in E-Voting Applications
Previous Article in Journal
Acoustic Feature Excitation-and-Aggregation Network Based on Multi-Task Learning for Speech Emotion Recognition
Previous Article in Special Issue
Proximal Policy Optimization-Based Hierarchical Decision-Making Mechanism for Resource Allocation Optimization in UAV Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Building Traceable Redactable Blockchain with Time-Verifiable Chameleon Hash

1
State Grid Jiangxi Electric Power Research Institute, Nanchang 330096, China
2
School of Electrical Engineering, Xi’an Jiaotong University, Xi’an 710049, China
3
State Key Laboratory of Integrated Service Networks, Xidian University, Xi’an 710071, China
*
Author to whom correspondence should be addressed.
Electronics 2025, 14(5), 846; https://doi.org/10.3390/electronics14050846
Submission received: 12 December 2024 / Revised: 31 January 2025 / Accepted: 20 February 2025 / Published: 21 February 2025
(This article belongs to the Special Issue Applied Cryptography and Practical Cryptoanalysis for Web 3.0)

Abstract

:
Blockchain is a decentralized digital ledger that records transactions across a distributed network of computers, enabling secure and transparent operations without requiring trust in a central authority. While initially developed for Bitcoin, blockchain technology now underpins many cryptocurrencies and other applications. It serves as an open trust layer without central reliance and is widely used in cryptocurrencies such as Bitcoin and Ethereum. However, this public and permanent open storage has raised concerns about its potential misuse for illegal trades or the distribution of unwanted content. In EuroS&P 2017, Ateniese et al. introduced the concept of the redactable blockchain, which utilizes the trapdoor collision function provided by chameleon hash to rewrite block contents without causing hashing inconsistencies. Recent research has continued to propose solutions for redactable blockchains, leveraging cryptographic algorithms such as chameleon hash and attribute-based encryption (ABE). Current solutions often employ sophisticated cryptographic schemes, such as ABE, but lack sufficient focus on developing secure and scalable solution for practical use. In this work, we propose the time-verifiable policy-based chameleon hash (TPCH) as a candidate solution for practical redaction to rewrite blockchain contents. Our solution for redactable blockchains enables the verification of whether a redaction was executed at a specific time, thereby offering time-based traceability for dominant algorithms in TPCH. Additionally, it restricts misbehavior or abuse of redaction powers by introducing a new trapdoor finding algorithm, Update, in addition to the adapt algorithm Adapt. We formally introduce TPCH with both black-box and white-box constructions. Our experimental and theoretical analysis demonstrates the feasibility and practicality of the proposed solution.

1. Introduction

Blockchain is an open and transparent public ledger commonly used to record the transaction history of cryptocurrencies, such as Bitcoin [1]. One of the defining characteristics of blockchain is its immutability, which is demonstrated by the inability to alter block information once it has undergone consensus authentication. However, with the rapid advancement of blockchain research, the application scenarios for blockchain technology have significantly expanded and diversified [2]. The information recorded in blocks is no longer confined to currency transaction data but has grown substantially in both richness and value. The immutability of blockchains means that once data, such as illegal or abusive content, are added to a blockchain, it cannot be removed or altered. This presents a significant challenge with current blockchain designs. The immutable blockchain can be regarded as a permanent public database, amplifying the negative impact of malicious content. For instance, the malicious uploading of child pornography, copyright-infringing materials, and other inappropriate content to the Bitcoin blockchain can cause permanent harm to victims. Due to the immutability feature, such harmful content cannot be erased from the blockchain.
The immutability of blockchain has recently come under scrutiny due to new erasure requirements imposed by the General Data Protection Regulation’s (GDPR) “right to be forgotten” provision. This regulation grants individuals the right to have their personal information removed from Internet searches and directories under specific circumstances. In EuroS&P 2017, Ateniese et al. [3] introduced the concept of the redactable blockchain (also referred to as mutable blockchain [4]). They replaced the conventional collision-resistant hash function (e.g., SHA-256) in blockchain with a trapdoor one-way hash function, which is known as a chameleon hash (CH).
To rewrite a block indexed as ( m , r ) , where m is the original block content, to ( m , · ) where m m represents the new block content, the modifier must find new chameleon randomness r such that hash consistency is preserved, i.e.,
Hash ( m , r ) = h = Hash ( m , r ) ,
where Hash represents the hashing algorithm for CH, and h denotes the chameleon hash value. The CH is associated with a public key p k and offers a trapdoor collision-finding algorithm, Adapt, which allows the private key holder s k (the modifier) to efficiently find hash collisions. This ensures hashing consistency while enabling block modification. This foundational work [3] has motivated further studies on redactable blockchain and garnered significant academic interest in exploring this topic in greater depth [5].
When implementing cryptographic primitives (like CH) for redactable blockchains, addressing security and scalability is crucial for the feasibility of redaction. For security, redaction must be processed securely, addressing issues like key exposure and achieving semantic security (as seen in conventional public-key encryption). Additionally, redaction must be executed efficiently without compromising the system’s throughput. These requirements present challenges in designing a practical CH for redactable blockchain implementation.
In this work, we propose an efficient and secure PCH, which is called time-verifiable policy-based chameleon hash (TPCH). It enables blockchain redaction to be executed in a traceable and efficient manner with necessary security guarantees and access control over redaction privileges. Our work provides a practical solution for rewriting block contents while considering the challenges of security and scalability in one candidate solution for blockchain systems.

1.1. System Framework

As depicted in Figure 1, our framework supports both private and public redaction for blockchains. Private redaction means only authorized users under an access control policy can conduct redaction. Public redaction means anyone can conduct redaction after a given time period. In Figure 1, a green checkmark indicates permission to perform redaction, while a red checkmark indicates that the original block cannot be accepted after redaction.
In the system, each user utilizes our proposed TPCH for hashing and publishes the transaction. The process begins with each user obtaining a secret and public key pair ( s k , p k ) from the key generation center (KGC). To append a block, a miner runs the Hash and Ver algorithms to assign a chameleon hash to the block and verify its validity, respectively. The modifier who possesses the desired attributes as specified by the chameleon hash is allowed to run the Adapt and Update algorithms to rewrite the blockchain. Basically, Update is similar to Adapt; however, it provides the ability to find collisions for different times, which is useful for tracing redactions (if we update each time to correspond to the redaction time).
  • Key Generation Center (KGC): A trusted entity responsible for assigning a key pair to each user.
  • Miner: Trusted entities with privilege to specify an access structure and write a block.
  • User: Untrusted entities with read-only access to the blockchain; he cannot modify its contents.
  • Modifier: An authorized user who possesses the required attributes according to the access structure, allowing them to rewrite the blockchain.

1.2. Motivations and Challenges

Early solutions for redactable blockchains were too coarse-grained, offering only an all-or-nothing approach to block-level redaction. As suggested by Derler et al. [6], the combination of attribute-based encryption (ABE) and chameleon hash, referred to as policy-based CH (PCH) [6,7], has recently been utilized to achieve fine-grained redaction for blockchain. However, the trivial application of PCH is insufficient to address practical concerns during blockchain redaction. According to Camenisch et al. [8], existing CHs must satisfy indistinguishability (IND) and collision resistance (CR) in order to be securely applied to practical applications. However, traceability is not generally required for CHs to satisfy. Specifically, this security is associated with the notion of “uniqueness”, which was considered a strong security notion by Camenisch et al. (Definition 14 in [8]). Traceability is a necessary requirement for redactable blockchains because it allows for tracing problematic contents (e.g., transactions) or the associated user identity [9] in time-sensitive blockchains. As the identities of users are pseudorandom in blockchain and deanonymization is not our focus, we mainly seek to add time verifiability to chameleon hashes and their applications. Since quick searches on the blockchain based on a given timestamp are allowed, as seen in Bitcoin, traceability is achieved. This also applies to redactable blockchains.
To make each chameleon hash traceable by its generation time, a naive solution is to add a time parameter to each chameleon hash. However, this increases storage complexity and could be maliciously altered by a third party. In fact, each transaction in the blockchain is identified by a unique time parameter. Suppose a timestamp is a 4-byte unsigned integer representing the approximate time when a transaction was generated, and let a block contain 1000 transactions. The size of 1000 timestamps in a block is 4 KB, which will scale linearly as the blockchain grows. Another major problem is that when a block is redacted, we need to maintain hashing consistency and time-based traceability without impairing the basic design or incurring additional storage overhead.
Additionally, there should be countermeasures to prevent the abuse of redaction power. For instance, human error or software bugs may lead to redaction mistakes, such as rewriting a block from m to m instead of the intended m . A naive solution to correct such mistakes would involve initiating another redaction, which is impossible under strict access control policies. To address this, a verification and confirmation step after performing the redaction is needed. Since blockchain systems are time-sensitive, redacted blocks must also remain time-sensitive to satisfy regulatory requirements regarding the timing of redactions. Existing solutions [9] often rely on intensive cryptographic overlays to achieve traceability, which adds complexity. Extending current CHs to naturally support traceability without additional overhead is a significant challenge.
The challenges mentioned above naturally lead to the question: “Can existing CH schemes be designed to support traceability with countermeasures against abuse or misbehavior during redaction?”.

1.3. Contribution

Our contributions are summarized as follows:
  • We propose the time-verifiable PCH to achieve practical redaction with traceability and scalable performance. To address the aforementioned issues, we adopt timed-release public key encryption (TPKE) as an alternative solution in our TPCH while also incorporating the ABE-based design. The resulting scheme offers private redaction via ABE for authorized users with the desired attributes and public redaction via TPKE after a given time period for all users (like the way to “mine” a block during the Proof-of-Work consensus [1]). Meanwhile, our underlying CH provides traceability and introduces a new trapdoor collision-finding algorithm, Update, as security enhancements. The former addresses regulation and traceability requirements, while the latter serves as a confirmation mechanism to address misbehaviors in redaction.
  • We formally introduce time-verifiable policy-based chameleon hash (TPCH) and utilize the generic transformation proposed by Derler et al. (NDSS 2019) to build a secure time-verifiable policy-based chameleon hash for fine-grained blockchain redaction. We present a formal model, a generic construction, and concrete instantiations of the TPCH scheme. Our experimental and theoretical analyses demonstrate the feasibility of our proposal.
  • For the quantitative analysis, the results show that for public redaction, our hashing takes 40 ms for 150 attributes, Adapt takes 290 ms for 100 attributes, and Update takes 295 ms for 50 attributes. For private redaction, our update cost averages 28 ms, and it increases from 0 to 4 s as the number of rounds increases from 0 to 500. These results demonstrate the efficiency of our proposed.

1.4. Related Works

Redactable Blockchain: Politou et al. [4] have conducted comprehensive surveys of redactable blockchains [3], providing detailed overviews of various approaches, including their strengths, limitations, and potential research directions. Current research on redactable blockchains primarily focuses on fine-grained redaction and decentralized redaction [6,10,11,12,13,14]. Implementing redactable blockchains using cryptographic primitives like CP-ABE and CH poses challenges related to practical performance, practical security, and decentralization. Achieving fully decentralized encryption for public redaction is desirable to maintain the decentralized nature of blockchains [3,15], but it presents significant difficulties. Table 1 shows that most works focus on specific security features like writing privilege revocation, traceability, and anonymity with acceptable experimental performance. Privacy concerns in blockchain redaction have received limited attention [14], and achieving multiple objectives in a single solution remains challenging due to the trilemma of blockchain, i.e., balancing security, privacy, and decentralization. Only a few works successfully encompass more than five of the listed properties in Table 1, such as [14].
Current research on redactable blockchains predominantly focuses on two main areas: fine-grained redaction and decentralized redaction [6,10,11,12,13,14]. The utilization of multi-party computation to achieve decentralized redaction has gained popularity and has been explored in recent works [3,10,11,14]. However, implementing redactable blockchains using CP-ABE, CH, and other cryptographic primitives brings forth several challenges, including practical performance, practical security, and decentralization concerns. Fine-grained redaction, while enabling the precise modification of individual transactions without affecting others, can lead to scalability and performance issues due to the complexity of its designs and access structures. Security considerations arise concerning the revocation of writing privileges, potential malicious disclosures of secret keys [20], etc. Achieving fully decentralized encryption [15] for public redaction, as advocated in the work of Ateniese et al. [3], poses significant challenges but is highly desirable to maintain the decentralized nature of the blockchain framework.
As shown in Table 1, the majority of the listed works have focused on achieving one or two specific security features, such as hybrid redaction, writing privilege revocation, traceability, anonymity, etc. Hybrid redaction refers to the support for both public and private redaction, allowing for decentralization, smart contract alterations, and the maintenance of other public data on the blockchain [21] as well as enabling various decentralized cryptographic services [22]. Notably, the experimental performance of most listed works is deemed acceptable. Approximately half of the works considered fine-grained redaction, schematic decentralization, and the practical implementation of cryptocurrency projects. In summary, researchers have shown increasing interest in addressing security and practical functionality in redactable blockchains. However, an efficient CH scheme with a built-in traceability feature is still missing.

2. Preliminaries and Building Blocks

2.1. Groups and Bilinear Maps

Given two multiplicative groups G 1 , G T with the same order p, and let g be the generator of G . A symmetric bilinear pairing is a mapping e ^ : G 1 × G 1 G T with the following properties: (1) Bilinearity: u , v G 1 and a , b Z p * , we have e ^ ( u a , v b ) = e ^ ( u , v ) a b . (2) Non-degeneracy: g G 1 such that e ^ ( g , g ) G T is the generator of G T . (3) Computability: u , v G 1 to compute e ^ ( u , v ) is efficient.

2.2. Non-Interactive Zero-Knowledge

Let NIZK = (GenZK, Prove, Verify, SimGen, SimProve) be a simulation-sound non-interactive zero-knowledge (NIZK) proof as
  • GenZK ( 1 λ ) crs : Input the security parameter λ ; output a common reference string crs .
  • Prove  ( crs , ( x , w ) ) π : Input crs and ( x , w ) R ; output a proof π .
  • Ver  ( crs , x , π ) ( 0 or 1 ) : Input crs , x, and π , and output ( 0 or 1 ) indicating acceptance or rejection.
  • SimGen  ( 1 λ ) ( crs , t d ) : Input the security parameter 1 λ and output a crs and a trapdoor t d .
  • SimProve  ( x , t d ) ( π ) : Input x and t d ; output a proof π .

2.3. Definitions of Timed-Release Public-Key Encryption

Definition 1.
A ( t e , t f d , t s d ) timed-release public-key encryption [15] (TPKE = (KeyGen, Enc, Dec)) is defined as
  • KeyGen ( 1 λ ) ( p k TPKE , s k TPKE ) : Input the security parameter λ, the KGC runs this algorithm to output a pair of keys ( p k TPKE , s k TPKE ) . p k TPKE is an implicit input hereafter.
  • Enc ( m ) ( c t TPKE ) : Input a public key p k TPKE and a message m; the user runs this algorithm to output a ciphertext c t TPKE . It runs at most t e time.
  • FDec ( s k TPKE , c t TPKE ) m : The fast decryption algorithm takes as input a secret key s k TPKE and c t TPKE and outputs a message m. It runs in time at most t f d .
  • SDec ( c t TPKE ) m : The slow decryption algorithm takes as input a public key p k and a c t TPKE and outputs a message m. It runs in time at least t s d .
Definition 2.
(IND-CCA in a ( t p , t o , ϵ ) -TPKE:) The definition of indistinguishability against a chosen plaintext attack (IND-CCA) for TPKE is formalized through the interaction between the probabilistic polynomial time (PPT) adversary A and the challenger C , as described in the experiment Exp A , TPKE IND CCA outlined below. A TPKE must satisfy IND-CCA security in order to be utilized as a secure encryption for our scheme.
  • Setup:  C runs ( p k TPKE * , s k TPKE * ) Setup ( 1 λ ) and returns p k TPKE * to A .
  • Pre-processing Phase:  A launches adaptive queries c t TPKE to oracle O Dec controlled by C during pre-processing phase. C replies with m TPKE FDec ( s k TPKE * , c t TPKE ) .
  • Online Phase:  A submits two equal-length messages m 0 and m 1 and sends them to C . He flips a random coin b { 0 , 1 } and returns c t b * Enc ( p k TPKE * , m b ) to A . A continues to query the oracle in the online phase O Dec except for the target ciphertext c t b * .
  • Guess:  A makes a guess b and wins if b = b .
A TPKE scheme is said to be IND-CCA and ( t p , t o , ϵ ) secure if for any PPT adversary A running in time at most t p in the pre-processing phase and at most t o in online phase, the following advantage is negligible:
Adv A , TPKE IND CCA ( 1 λ ) = [ Pr [ Exp A , TPKE IND CCA ( 1 λ ) = 1 ] 1 / 2
Remark 1.
Here, we define a stronger security definition than the selective IND-CPA security for ABE, called IND-CCA, in which the adversary is allowed to adaptively query the decryption oracle even after seeing the challenge ciphertext. Therefore, TPKE suffices to level up the security provided by the ABE.

2.4. Definitions of Attribute-Based Encryption

Let ABE = {Setup, KeyGen, Enc, Dec} be the CP-ABE scheme we used in this work.
  • Setup ( 1 λ , U ) ( m p k ABE , m s k ABE ) : Given a security parameter λ and a universe description U, the KGC runs this algorithm to output the public parameter m p k ABE and the master key m s k ABE .
  • KeyGen ( m s k ABE , S ) s k S : Upon input of a master key m s k ABE and an attribute set S U , the KGC runs this algorithm to output the secret (attribute) key s k S .
  • Enc ( A , m ) c t ABE : Upon input of an access structure A and a message m, the user runs this algorithm to output a ciphertext c t ABE .
  • Dec ( s k S , c t ABE ) m : Upon input of a secret key s k S and a ciphertext c t ABE , the user runs this algorithm to output the plaintext m.
Definition 3.
(sIND-CPA in ABE:) The definition of sIND-CPA security for ABE is formalized through the interaction between the PPT adversary A and the challenger C , as described in the experiment Exp A , ABE sIND CPA outlined below. An ABE must satisfy sIND-CPA security in order to be utilized as a secure encryption for our scheme.
  • Initiation: The adversary declares the challenge access structure A * and sends it to C .
  • Setup:  C runs ( m p k ABE , m s k ABE ) Setup ( 1 λ , U ) and returns m p k ABE to A .
  • Query Phase:  A launches adaptive queries to oracle O KeyGen controlled by C regarding an attribute S i , C calls s k i KeyGen ( m s k ABE , S i ) and sends s k i to A . The restriction is that each query should not satisfy the challenge access structure, i.e., S i A * .
  • Challenge:  A submits two equal-length messages m 0 and m 1 and sends them to C . He flips a random coin b { 0 , 1 } and returns c t ABE , b Enc ( m b , A * ) to A .
  • Guess:  A makes a guess b and wins if b = b .
An ABE scheme is said to be sIND-CPA secure if for any probabilistic polynomial time (PPT) adversary A , the following advantage is negligible:
Adv A , ABE sIND CPA ( λ , U ) = [ Pr [ Exp A , ABE sIND CPA ( λ , U ) = 1 ] 1 / 2

2.5. Definitions of Time-Verifiable Chameleon Hash

Before presenting the full scheme, we introduce a time-verifiable chameleon hash (TVCH) that satisfies the basic requirements and is secure enough to build the TPCH scheme. However, it is important to note that TVCH alone is insufficient for directly applying to redactable blockchain. We formalize the notion of time-verifiable chameleon hash TVCH = (Setup, KeyGen, Hash, Ver, Adapt, Update), as a variant of chameleon hash with useful properties for achieving redaction. It additionally incorporates a time period t for computing the hash.
  • Setup ( 1 λ ) m p k TVCH : Upon input of a security parameter λ , output the public parameter m p k TVCH .
  • KeyGen ( m s k TVCH ) ( p k TVCH , s k TVCH ) : Upon input of a public parameter m p k TVCH , output the public and private keys p k TVCH and s k TVCH . For brevity, let p k TVCH be implicit hereafter.
  • Hash ( m , t ) ( h ˙ TVCH , r ˙ TVCH ) : Upon input of a message m and a time period t, output a chameleon hash h ˙ TVCH and a randomness r ˙ TVCH .
  • Ver ( ( h ˙ TVCH , m , r ˙ TVCH ) , t ) b : Upon input of a triple ( m , h ˙ TVCH , r ˙ TVCH ) , and a time period t, output a decision b = 1 if ( m , h ˙ TVCH , r ˙ TVCH ) is valid. Else, output b = 0 .
  • Adapt ( ( m , h ˙ TVCH , r ˙ TVCH ) , t , m , s k TVCH ) r ˙ TVCH : Upon input of a triple ( m , h ˙ TVCH , r ˙ TVCH ) , a time period t, a new message m , and a private key s k TVCH , output a new randomness r ˙ .
  • Update ( ( m , h ˙ TVCH , r ˙ TVCH ) , t , t , s k TVCH ) r ˙ TVCH : Upon input of a triple ( m , h ˙ TVCH , r ˙ TVCH ) , two time periods t t , and a private key s k TVCH , output a new randomness r ˙ TVCH .
A TVCH must satisfy the following properties to be considered “secure” enough to be utilized as the basic building block for further design.
  • Correctness: All hash and adapt results that are properly conducted should pass verification.
  • Indistinguishability: The distribution of randomness r ˙ (from Adapt) is computationally indistinguishable from that of r ˙ (from Hash).
  • Collision resistance (including key exposure freeness): No PPT adversary who has access to the adapt oracle should efficiently find two distinct tuples ( ( m , h ˙ TVCH , r ˙ TVCH ) , t ) and ( ( m , h ˙ TVCH , r ˙ TVCH ) , t ) such that 1 = Ver ( ( m , h ˙ TVCH , r ˙ TVCH ) , t ) = Ver ( ( m , h ˙ TVCH ,
    r ˙ TVCH ) , t ) with non-negligible probability.

3. Security Requirements of Time-Verifiable and Policy-Based Chameleon Hash

Based on the aforementioned TPKE, ABE, and TVCH, we formally model our TPCH in this section. There are several reasons to introduce TPCH instead of directly using TVCH. (1) TVCH is not secure enough for practical applications. According to [6,8], an insecure CH which satisfies the aforementioned security properties (correctness, indistinguishability, and collision resistance) can be transformed into a secure CH with ephemeral trapdoor (CHET) if the underlying CH satisfies the basic requirements as we previously modeled. By extending CHET with ABE, a secure PCH can be constructed for fine-grained redaction. In this work, we follow the above heuristic to construct TPCH by extending TVCH with ABE and TPKE.

3.1. Scheme Overview

Let TPCH = (Setup, KeyGen, Hash, Ver, Adapt, Update) be the time-verifiable policy-based chameleon hash.
  • Setup ( 1 λ , U ) ( m p k TPCH , m s k TPCH ) : Input a security parameter λ and a universe description U. KGC runs ( m p k ABE , m s k ABE ) ABE.Setup ( 1 λ , U ) , m p k TVCH CH.Setup ( 1 λ ) and ( p k TPKE , s k TPKE ) TPKE.Setup ( 1 λ ) . Let m p k TPCH ( m p k ABE ,
    m p k TVCH , p k TPKE ) and m s k TPCH ( m s k ABE , s k TPKE ) . Output the public parameters p k TPCH and master key m s k TPCH .
  • KeyGen ( m s k TPCH , S ) ( s k TPCH , p k TPCH ) : Input a master key m s k TPCH and an attribute set S. Parse m s k TPCH = ( m s k ABE , s k TPKE ) . KGC runs s k S ABE.KeyGen ( m s k ABE ) and ( s k TVCH 1 , p k TVCH 1 ) TVCH.KeyGen ( m p k TVCH ) . Let s k TPCH ( s k S ,
    s k TVCH 1 , s k TPKE ) and p k TPCH ( m p k ABE , p k TVCH 1 , p k TPKE ) . Output secret and public hash key pair ( s k TPCH , p k TPCH ) . p k TPCH is an implicit input hereafter.
  • Hash ( mode R , aux H , m ) ( ( h ˙ TPCH , r ˙ TPCH ) , e t d ) : Input a redaction request mode R , an auxiliary input aux H , and a message m. The user runs ( h ˙ TVCH 1 , r ˙ TVCH 1 ) TVCH. Hash ( p k TVCH 1 ,   m , t ) and ( h ˙ TVCH 2 , r ˙ TVCH 2 ) TVCH.Hash ( p k TVCH 2 , m , t ) . Run c t TVCH 2 ABE.Enc ( A , r ˙ TVCH 2 ) . Let h ˙ TPCH ( h ˙ TVCH 1 , h ˙ TVCH 2 , p k TVCH 1 ) , r ˙ TPCH ( r ˙ TVCH 1 , c t TVCH 2 ) . Let e t d s k TVCH 2 be an ephemeral trapdoor. Output a tuple ( h ˙ TPCH , r ˙ TPCH , e t d ) including a chameleon hash, a randomness and an encrypted ephemeral trapdoor c t e t d .
  • Ver ( p k TPCH , ( h ˙ TPCH , m , r ˙ TPCH ) , t ) ( 0 or 1 ) : Input a public key p k TPCH , a chameleon tuple ( h ˙ TPCH , m , r ˙ TPCH ) and a time t . User runs b 1 TVCH.Ver ( p k TVCH 1 , ( h ˙ TVCH 1 , m , r ˙ TVCH 1 ) , t ) and b 2 TVCH.Ver ( p k TVCH 2 , ( h ˙ TVCH 2 , m , r ˙ TVCH 2 ) , t ) . If 1 = b 1 = b 2 , return 1. Otherwise, return b = 0 .
  • Adapt ( s k TPCH , mode R , ( h ˙ TPCH , m , r ˙ TPCH ) , t , m , e t d ) r ˙ TPCH : Input a secret key s k TPCH , a redaction request mode R , a tuple ( h ˙ TPCH , m , r ˙ TPCH ) , a time t, a new message m and an ephemeral trapdoor e t d . Run r ˙ TVCH 2 ABE.Dec ( A , c t TVCH 2 ) . Then, run r ˙ TVCH 1 TVCH.Adapt ( ( h ˙ TVCH 1 , m , r ˙ TVCH 1 ) , t , m , s k TVCH ) and r ˙ TVCH 2 TVCH.Adapt
    ( ( h ˙ TVCH 2 , m , r ˙ TVCH 2 ) , t , m , e t d ) where e t d = s k TVCH 2 . Run c t TVCH 2 ABE.Enc ( A , r ˙ TVCH 2 ) . Let r ˙ TPCH 2 ( r ˙ TVCH 1 , c t TVCH 2 ) . Output the new chameleon randomness r ˙ TPCH 2 .
  • Update ( s k TPCH , mode R , ( h ˙ TPCH , m , r ˙ TPCH ) , t , t , e t d ) r ˙ TPCH : Input a secret key s k TPCH , a redaction request mode R , a tuple ( h ˙ TPCH , m , r ˙ TPCH ) , two time periods t , t and an ephemeral trapdoor e t d . Run r ˙ TVCH 2 ABE.Dec ( A , c t TVCH 2 ) . Then, run r ˙ TVCH 1 TVCH.Update ( s k TVCH , ( h ˙ TVCH 1 , m , r ˙ TVCH 1 ) , t , t ) and r ˙ TVCH 2 TVCH.Update
    ( e t d , ( h ˙ TVCH 2 , m , r ˙ TVCH 2 ) , t , t ) where e t d = s k TVCH 2 . Run c t TVCH 2 ABE.Enc ( A , c t TVCH 2 ) . Let r ˙ TPCH 2 ( r ˙ TVCH 1 , c t TVCH 2 ) . Output the new chameleon randomness r ˙ TPCH .

3.2. Indistinguishability

Definition 4.
Selective Indistinguishability (sIND): Indistinguishability requires that it is computationally difficult to distinguish whether a given randomness corresponds to an output of Hash or Adapt. In comparison with the IND-security in CHET [8], we add an Init phase where the adversary A declares the target redaction model. We use mode R to specify the auxiliary hash input aux H . When mode R * = private , TPCH encrypts e t d by ABE. When mode R * = public , it uses TPKE instead to encrypt e t d . The security for sIND between adversary A and challenger C is outlined below:
  • Init: A declares the target redaction mode mode R * and attribute set U * . We have
    aux H * = ( M * , ρ * ) | | t * i f mode R * = private t * i f mode R * = public
  • Setup:  C runsSetup ( 1 λ , U * ) and returns ( m p k TPCH * , m s k TPCH * ) to A .
    Query Phase:  C picks random b { 0 , 1 } . In addition, A issues the following queries to C .
    -
    O KeyGen ( S ) : mode R * = private , A can query the decryption key oracle of ABE previously mentioned in Exp A , ABE sIND CPA .
    -
    O Dec TPKE ( c t TPKE ) : If mode R * = public , A can issue a query on the TPKE ciphertext c t TPKE to this oracle during the pre-processing phase. A is allowed to query in time at most t p in the pre-processing phase and time at most t o in the subsequent online phase. To respond, C runs M FDec ( s k TPKE , c t ) and returns M to A . One restriction should apply: the challenged ciphertext should not be queried.
    -
    O HashOrAdapt ( ( m , m ) , mode R * , aux H * ) :   A issues a hash or adapt query on two messages m , m M ( M is the message space), redaction request mode R * and auxiliary hash input aux H * . C runs ( ( h ˙ 0 , r ˙ 0 ) , e t d 0 ) Hash ( p k TPCH * , mode R * , aux H * , m ) , ( ( h ˙ 1 , r ˙ 1 ) , e t d 1 ) Hash ( p k TPCH * , mode R * , aux H * , m ) . Further, C sets r ˙ 1 Adapt ( s k TPCH , mode R * , aux H * , ( h ˙ 1 , m , r ˙ 1 ) , m , e t d 1 ) . Then, run Ver on ( h ˙ 0 , m , r ˙ 0 ) and ( h ˙ 1 , m , r ˙ 1 ) under time period t * , respectively; if either of the outputs is 0, return . Otherwise, it flips a coin b R { 0 , 1 } and returns the tuple ( h ˙ b , r ˙ b ) .
  • Guess:  A makes a guess b for b.
The advantage of A in this game is defined as Adv A , TPCH sIND ( 1 λ , U * ) = | Pr [ b = b ] 1 2 | . A TPCH is indistinguishable if any PPT adversary has at most a negligible advantage as above.

3.3. Other Securities

Definition 5.
Insider Collision Resistance (ICR): Insider collision resistance [8] addresses the requirement that even insiders who possess secret keys for certain attributes cannot find collisions for hashes computed with respect to policies that are not satisfied by their keys. The security definition of ICR between an adversary A and a challenger C is clear based according to [7]. For space limitations, we omit the details.
Traceability: Our TPCH’s correctness property achieves traceability by extra addition of a time to evaluate the chameleon tuple during collision finding. It allows to test whether a redaction is executed on a specific time, thus offering the redaction a time-based traceability. This traceability is achieved by allowing anyone to verify the validity of the provided hash tuple and time parameter through the Ver.

4. Construction of Time-Verifiable Policy-Based Chameleon Hash

4.1. Design Goals

Our TPCH solution offers time-based traceability for redactions by allowing anyone to input an additional timer period t into the dominant algorithms of TPCH. We also introduce a new collision-finding algorithm, Update, which computes hash collisions for different times t and t . Unlike the traditional collision-finding algorithm Adapt, Update serves as a confirmation step, preventing the modifier from computing arbitrary collisions by restricting redaction to a specific time. Consequently, each chameleon hash becomes traceable, ensuring that redactions are also traceable. Update serves as a confirmation step for Adapt in that it allows to compute arbitrary collisions for time t t instead of message m m . This allows redaction to be reversed or invalidated if enforcing a global time-based policy for the redaction mechanism. For example, asking all redactions to be confirmed immediately after a given time period t , any non-updated chameleon tuple will hence be invalidated and considered outdated. Our TPCH introduces the notion of public and private redaction:
  • Public Redaction: Adopts TPKE to encrypt the one-time private key (i.e., ephemeral trapdoor key) for redaction. TPKE offers IND-CCA security for the ciphertext for a given time period. After that, anyone can obtain this ephemeral private key for redaction.
  • Private Redaction: Adopts ABE to encrypt the one-time private key for redaction. Only authorized users with designated attributes can obtain the private key to perform redaction.

4.2. Concrete Design

Let the encoding and decoding methods as encode1 : G Z p * , encode2: Z p * QR N , encode 1 1 Z p * G , and encode 2 1 : QR N Z p * . Here, QR N denotes the set of quadratic residues modulo, which is the input and output space of Enc and SDec, respectively, in the employed TPKE [15]. In this paper, the fast decryption algorithm FDec in TPKE was not used.
  • Setup ( 1 λ , U ) ( m p k TPCH , m s k TPCH ) : The KGC runs ( m p k ABE , m s k ABE ) ABE.Setup ( 1 λ , U ) and ( p k TPKE , s k TPKE ) TPKE.Setup ( 1 λ ) to initiate ABE and TPKE, respectively. Initiate in the following manner: choose two cyclic groups G 1 , G T with order p and generator g. Let e ^ : G 1 × G 1 G T be a bilinear map. Let H k ˜ ( · ) be a k ˜ -keyed collision-resilient hash. Run NIZK.GenZK to derive crs . Let m p k TVCH ( G 1 , G T , g , p , e ^ ) . Output the public parameters p k TPCH and master key m s k TPCH as:
    m p k TPCH = ( m p k ABE , m p k TVCH = ( G 1 , G T , g , p , H k ˜ , e ^ ) , k ˜ , crs , p k TPKE ) , m s k TPCH = ( m s k ABE , s k TPKE ) .
  • KeyGen ( m s k TPCH , S ) ( s k TPCH , p k TPCH ) : Given an attribute set S, the KGC runs s k S ABE.KeyGen ( m s k ABE , S ) . Then, KGC picks x ˜ R Z p * ; compute h ˜ g x ˜ . Run π h ˜ NIZK.Prove ( crs , ( x ˜ , h ˜ = g x ˜ ) ) . Output p k TPCH = ( m p k ABE , h ˜ , π h ˜ , p k TPKE ) and s k TPCH = ( x ˜ , s k S ) .
  • Hash ( mode R , aux H , m ) ( ( h ˙ TPCH , r ˙ TPCH ) , e t d ) : Set the auxiliary input aux H according to redaction request mode R as
    aux H = ( M , ρ ) | | t , t Z p i f mode R = private t , t Z p i f mode R = public
    Next, run NIZK.Verify ( crs , h ˜ , π h ˜ ) . If output 0, return . Check if h ˜ G * . If not, return ⊥. Pick r ˜ R Z p * and ephemeral trapdoor e t d R Z p * . Generate h g e t d and π h NIZK.Prove ( crs , ( e t d , h = g e t d ) ) . Then, compute
    a ˜ H k ˜ ( m | | t ) , p ˜ h ˜ r ˜ ,
    π p ˜ NIZK . Prove ( crs , ( r ˜ , p ˜ = h ˜ r ˜ ) ) .
    Proceed differently:
    • If mode R = “private”: Set M encode 1 ( r ˜ ) . Run c t ABE ABE.Enc ( ( M , ρ ) , M ) and let c t c t ABE .
    • If mode R = “public”: Run M encode 2 ( r ˜ ) . Run c t TPKE TPKE.Enc ( p k TPKE , M ) and let c t c t TPKE .
    Let
    b = ( p ˜ · h a ˜ ) t , h ˙ = ( b , h , π h ) , r ˙ = ( p ˜ , c t , π p ˜ ) .
    The hashing algorithm outputs ( ( h ˙ TPCH , r ˙ TPCH ) , e t d ) .
  • Ver ( p k TPCH , ( h ˙ TPCH , m , r ˙ TPCH ) , t ) ( 0 or 1 ) : The user runs this algorithm for verification:
    • If p ˜ G * , or h G * , or p ˜ h ˜ r ˜ , return ⊥.
    • Check if NIZK.Ver ( π p ˜ ) = NIZK.Ver ( π h ) = NIZK.Ver ( π h ˜ ) = 1 holds. If no, return ⊥.
    • Check if b = ( p ˜ · h H k ˜ ( m | | t ) ) t holds. If yes, output 1. Otherwise, check if t t and b = ( p ˜ · h H k ˜ ( m | | t ) ) t . If yes, output 0. Otherwise, output ⊥.
  • Adapt ( s k TPCH , mode R , ( h ˙ TPCH , m , r ˙ TPCH ) , t , m , e t d ) r ˙ TPCH : The modifier runs this algorithm. If m = m , return r ˙ TPCH . Otherwise, proceed differently according to the redaction request mode R as
    -
    mode R = “private”:
    • Run TPCH.Ver ( p k TPCH , ( h ˙ , m , r ˙ ) , t ) . If output 0, return ⊥.
    • Compute a ˜ H k ˜ ( m | | t ) and a ˜ H k ˜ ( m | | t ) . If a ˜ = a ˜ , return r ˙ directly.
    • Run M ABE.Dec ( c t , s k S ) and r ˜ encode 1 1 ( M ) to recover the encrypted chameleon randomness r ˜ .
    • Compute
      r ˜ x ˜ r ˜ + a ˜ · e t d a ˜ · e t d x ˜
      and p ˜ h ˜ r ˜ . Run M encode1 ( r ˜ ) and c t ABE.Enc ( A , M ) to obtain a new ciphertext c t . Then, run π p ˜ NIZK.Prove ( crs , ( r ˜ , p ˜ = h ˜ r ˜ ) ) to obtain π p ˜ . Let r ˙ = ( p ˜ , c t , π p ˜ ) .
    -
    mode R = “public”:
    • Run Ver ( p k TPCH , ( h ˙ , m , r ˙ ) , t ) . Output ⊥ if the output is not 1. Otherwise, compute a ˜ H k ˜ ( m | | t ) , a ˜ H k ˜ ( m | | t ) . If a ˜ = a ˜ , return r ˙ TPCH directly. Otherwise, run M TPKE . SDec ( c t ) to obtain M . If SDec outputs ⊥, return ⊥. Otherwise, run r ˜ encode 2 1 ( M ) to obtain r ˜ Z p * .
    • Compute r ˜ x ˜ r ˜ + a ˜ · e t d a ˜ · e t d x ˜ and p ˜ h ˜ r ˜ .
    • Run M encode2 ( r ˜ ) and c t TPKE.Enc ( M ) to obtain the new ciphertext c t . Run π p ˜ NIZK.Prove ( crs , ( r ˜ , p ˜ = h ˜ r ˜ ) ) to obtain π p ˜ . Let r ˙ = ( p ˜ , c t , π p ˜ ) .
    The adaption algorithm outputs a new randomness set, r ˙ = ( p ˜ , c t , π p ˜ ) . Note that we sometimes ignore the subscript in long equations for brevity, i.e., r ˙ for r ˙ TPCH . It should be clear based on the context.,
  • Update ( s k TPCH , mode R , ( h ˙ TPCH , m , r ˙ TPCH ) , t , t , e t d ) r ˙ TPCH : The modifier runs this algorithm for update. If t = t , return r ˙ TPCH . Else, proceed:
    -
    mode R = “private”:
    • Run TVCH.Ver ( ( h ˙ , m , r ˙ ) , t ) . If output 0 or ⊥, return ⊥. Then, compute a ˜ H k ˜ ( m | | t ) , a ˜ H k ˜ ( m | | t ) . If a ˜ = a ˜ , return r ˙ .
    • Run M ABE.Dec ( c t , s k S ) and r ˜ encode 1 1 ( M ) to recover the encrypted chameleon randomness r ˜ .
    • Compute
      r ˜ t ( x ˜ r ˜ + e t d · a ˜ ) e t d · a ˜ t x ˜ t
      and p ˜ h ˜ r ˜ .
    • Run M encode1 ( r ˜ ) and c t ABE.Enc ( A , M ) to obtain a new ciphertext c t . Then, run NIZK.Prove ( crs , r ˜ , p ˜ = h ˜ r ˜ ) to obtain π p ˜ , respectively. Let r ˙ = ( p ˜ , c t , π p ˜ ) .
    -
    mode R = “public”:
    • Run Ver ( p k TPCH , ( h ˙ , m , r ˙ ) , t ) . If output 0 or ⊥, return ⊥. Else, compute a ˜ H k ˜ ( m | | t ) , a ˜ H k ˜ ( m | | t ) . If a ˜ = a ˜ , return r ˙ .
    • Run TPKE.SDec ( p k TPKE , c t ) to obtain M . If SDec outputs ⊥, return ⊥. Otherwise, run encode 2 1 ( M ) to obtain r ˜ Z p * .
    • Compute r ˜ t ( x ˜ r ˜ + e t d · a ˜ ) e t d · a ˜ t x ˜ t , p ˜ h ˜ r ˜ .
    • Run M encode2 ( r ˜ ) and c t TPKE.Enc ( M ) to obtain the new ciphertext c t . Run NIZK . Prove ( crs , r ˜ , p ˜ = h ˜ r ˜ ) to obtain π p ˜ . Let r ˙ = ( p ˜ , c t , π p ˜ ) .
    This update algorithm outputs r ˙ = ( p ˜ , c t , π p ˜ ) .

4.3. Instantiations

For the instantiation of NIZK in both NIZK and TPKE for our TPCH, we refer to [8]. For implementing the concrete TPKE with IND-CCA security, refer to [15]. Specifically, QR N is the cyclic group of quadratic residues for instantiating TPKE. M , M , M are elements in QR N . Detailed and efficient ABE constructions for our scheme can be found in any ElGamal-type ABE [23].

4.4. Security Analysis of TPCH

Correctness. The correctness of Equations (5) and (6) is shown below:
b = [ p ˜ · h a ˜ ] t b = [ p ˜ · h a ˜ ] t = [ ( g x ˜ ) r ˜ · ( g e t d ) a ˜ ] t = [ ( g x ˜ ) r ˜ · ( g e t d ) a ˜ ] t = [ ( g x ˜ ) x ˜ r ˜ + e t d · a ˜ e t d · a ˜ x ˜ · ( g e t d ) a ˜ ] t = [ ( g x ˜ ) ( t ( x ˜ r ˜ + e t d · a ˜ ) e t d · a ˜ t x ˜ t ) · ( g e t d ) a ˜ ] t = [ ( g ) x ˜ r ˜ + e t d · a ˜ e t d · a ˜ · ( g e t d ) a ˜ ] t = ( g ) [ t ( x ˜ r ˜ + e t d · a ˜ ) e t d · a ˜ t ] · ( g e t d ) a ˜ t = [ ( g ) x ˜ r ˜ + e t d · a ˜ · ( g e t d ) ( a ˜ a ˜ ) ] t = ( g ) [ t ( x ˜ r ˜ + e t d · a ˜ ) ] · ( g e t d ) a ˜ t a ˜ t = [ ( g x ˜ ) r ˜ · ( g e t d ) a ˜ ] t = [ ( g x ˜ ) r ˜ · ( g e t d ) a ˜ ] t = [ p ˜ · h a ˜ ] t = [ p ˜ · h a ˜ ] t = b = b
Theorem 1.
Assume the construction 2 of the CHET system in [8] is strongly indistinguishable; our TPCH scheme is selectively indistinguishable with respect to Definition 4.
Proof. 
Denote Construction 2 of the CHET system in [8] and our TPCH system as Σ CHET and Σ TPCH , respectively. Suppose there exists a PPT adversary A that has a non-negligible advantage in selectively breaking Σ TPCH . We can build a PPT simulator algorithm B that has a non-negligible advantage in selectively breaking our Σ CHET . The reduction is clear according to [6]. We only give a part. For simplicity, we set mode R * = private . During Init,  B  declares and sends A the challenge hash mode mode H * = private . During Setup, the challenger of Σ CHET picks a multiplicative group G of order p and generator g. Choose k ˜ as the the key of hash function H k ˜ ( · ) . Run NIZK.Gen ( 1 λ ) to derive crs . It returns m p k CHET = ( ( G , g , p ) , k ˜ , crs ) to A . On receiving m p k CHET , A further completes the TPCH.Setup by running ABE.Setup ( 1 λ ) and TPKE.Setup ( 1 λ ) to derive ( m p k ABE , m s k ABE ) and ( p k TPKE , s k TPKE ) , respectively. A sends m p k TPCH = ( m p k CHET , m p k ABE , p k TPKE ) to B and keeps ( m s k ABE , s k TPKE ) secret. During the Query Phase, for O HashOrAdapt , A internally uses the HashOrAdapt oracle provided by the challenger of Σ CHET to obtain ( h ˙ CHET , r ˙ CHET , e t d ) . Then, it runs ABE to generate and return ( h ˙ b , r ˙ b ) . During Guess,  A relays the output of B as his guess. Now, we observe that all oracles are simulated perfectly, and A wins with the same probability as B wins. □
Theorem 2.
Our TPCH is insider collision resistant if the underlying ABE is secure according to Definition 3, and the ( t e , t f d , t s d ) - TPKE  [15] is ( t p , t o ) -IND-CCA (here, t p and t o denote the maximum time allowed for pre-processing and online computing [15]) secure according to Definition 2, and  CHET  [8] is private collision-resilient.
Proof. 
Our insider collision resistance of TPCH is based on the insider collision resistance of the underlying CHET and the security of the underlying ABE and TPKE . Specifically, we can construct a sequence of games which is straightforward according to the Proof of Theorem 2 in [8]. We omit the details. □

5. Performance Evaluations

Table 2 shows a comparison of PCH. The employed ABEs are derived from either FAME [24] or CP-ABE [25], and the employed CHs are all from CHET [8]. For quantitative evaluations, we implemented our scheme in Java using the JPBC library on a desktop equipped with an i5-11400H CPU running at 2.70 GHz and 16 GB of RAM. For pairings, we used the MNT224 curve, which is the best Type-III curve in PBC for achieving a 96-bit security level. We evaluated our scheme using a policy and attribute set with fixed sizes of 50. We focus on testing the costs of the dominant algorithms, Hash, Adapt, and Update. Since the setup and key generation algorithms, Setup and KeyGen, are one-time costs, we did not evaluate their performance. We apply the CP-ABE from [25] and TPKE from [15] to implement our TPCH. Assume all group operations are performed in a specific group for ease of analysis.
As shown in Figure 2, compared to the base scheme [6], our hashing algorithm Hash is more efficient, scaling more slowly with the number of attributes (ranging from 0 to 250). Specifically, with 150 attributes, our scheme takes 40 ms, while the DSS+19 scheme [6] takes 82 ms for hashing. As shown in Figure 3, our adaptation algorithm Adapt is less efficient than that of [6], scaling faster with the number of attributes (ranging from 0 to 100). Specifically, with 100 attributes, our scheme takes 290 ms, while the DSS+19 scheme [6] takes 142 ms for hashing.
The function and performance of the Update algorithm are similar to those of Adapt. We varied the size of access policies and the number of execution rounds to evaluate its performance in both public and private redaction. As shown in Figure 4, when the size of policies ranges from 1 to 50, our Update algorithm exhibits linear costs relative to the size of policies for private redaction while incurring small costs for public redaction. Specifically, with 50 attributes, it takes 28 ms for public redaction and 295 ms for private redaction. Due to the independence of access policies, our private redaction shows constant costs, which are scalable for extensive implementation. Figure 5 shows that the same trend applies to its performance under an increasing number of execution rounds. Fixing the number of attributes at 20, for 500 execution rounds, it takes 4 s for public redaction and 105 s for private redaction. Due to limited group computations, private redaction is far more efficient and scalable than ABE-based public redaction.
In summary, our TPCH demonstrates efficient performance in public redaction, while its performance in private redaction is heavily influenced by the number of attributes, the size of policies, and the number of execution rounds. This highlights the performance advantages of adopting TPKE for blockchain redaction.

6. Conclusions

To address the accumulation and distribution of unwanted content in blockchains, we follow the idea of redactable blockchains proposed by Ateniese et al. in EuroS&P 2017. In this paper, we propose a time-verifiable, policy-based chameleon hash that allows for the efficient updating of chameleon hashes. Our proposed scheme enables the traceability of redaction time and performs comparably to other schemes. Our experimental and theoretical analyses demonstrate the feasibility of our proposal for practical use. Specifically, our work is scalable and efficient for public redaction, yielding small, sub-linear costs with increasing execution rounds, making it favorable for extensive executions in redactable blockchains. However, our work still has a few inefficiencies in design, such as the performance deficiencies of ABE-based private redaction, which are impacted by various factors and the use of extensive cryptographic primitives. We aim to improve this design in future work by leveraging a lightweight cryptographic framework, such as on/offline ABE, ABE with concise design and constant ciphertexts, and server-aided solutions. These measures will help reduce the heavy loads incurred by existing ABEs.

Author Contributions

Conceptualization, M.C. and Z.Z.; methodology, G.X.; software, B.P.; validation, J.F. and Z.X.; writing—original draft preparation, M.C. and Z.Z.; writing—review and editing, G.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Research on Key Technologies of Quantum-Resistant Cryptographic Algorithms for Network Security Boundary Protection in New Energy Power Stations, Jiangxi Electric Power Company of the State Grid Corporation of China under the project number 521820240017.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

Authors Mingliang Chen, Guoqiang Xie, Benren Pan, Jinyan Fang and Zaide Xu were employed by the company State Grid Jiangxi Electric Power Research Institute. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

References

  1. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Satoshi Nakamoto. 2008. Available online: http://bitcoin.org/bitcoin.pdf (accessed on 19 February 2025).
  2. Maesa, D.D.F.; Mori, P. Blockchain 3.0 applications survey. J. Parallel Distrib. Comput. 2020, 138, 99–114. [Google Scholar] [CrossRef]
  3. Ateniese, G.; Magri, B.; Venturi, D.; Andrade, E. Redactable blockchain–or–rewriting history in bitcoin and friends. In Proceedings of the 2017 IEEE European Symposium on Security and Privacy (EuroS&P), Paris, France, 26–28 April 2017; pp. 111–126. [Google Scholar]
  4. Politou, E.; Casino, F.; Alepis, E.; Patsakis, C. Blockchain mutability: Challenges and proposed solutions. IEEE Trans. Emerg. Top. Comput. 2019, 9, 1972–1986. [Google Scholar] [CrossRef]
  5. Ye, T.; Luo, M.; Yang, Y.; Choo, K.K.R.; He, D. A Survey on Redactable Blockchain: Challenges and Opportunities. IEEE Trans. Netw. Sci. Eng. 2023, 10, 1669–1683. [Google Scholar] [CrossRef]
  6. Derler, D.; Samelin, K.; Slamanig, D.; Striecks, C. Fine-Grained and Controlled Rewriting in Blockchains: Chameleon-Hashing Gone Attribute-Based. In Proceedings of the 26th Annual Network and Distributed System Security Symposium (NDSS 2019), San Diego, CA, USA, 24–27 February 2019. [Google Scholar]
  7. Xu, S.; Ning, J.; Ma, J.; Xu, G.; Yuan, J.; Deng, R.H. Revocable policy-based chameleon hash. In Proceedings of the 26th European Symposium on Research in Computer Security, ESORICS 2021, Darmstadt, Germany, 4–8 October 2021; pp. 327–347. [Google Scholar]
  8. Camenisch, J.; Derler, D.; Krenn, S.; Pöhls, H.C.; Samelin, K.; Slamanig, D. Chameleon-hashes with ephemeral trapdoors. In Proceedings of the 20th IACR International Conference on Practice and Theory in Public-Key Cryptography, Amsterdam, The Netherlands, 28–31 March 2017; pp. 152–182. [Google Scholar]
  9. Tian, Y.; Li, N.; Li, Y.; Szalachowski, P.; Zhou, J. Policy-based Chameleon Hash for Blockchain Rewriting with Black-box Accountability. In Proceedings of the ACSAC ’20: Annual Computer Security Applications Conference, Austin, TX, USA, 7–11 December 2020; pp. 813–828. [Google Scholar]
  10. Jia, M.; Chen, J.; He, K.; Du, R.; Zheng, L.; Lai, M.; Wang, D.; Liu, F. Redactable Blockchain From Decentralized Chameleon Hash Functions. IEEE Trans. Inf. Forensics Secur. 2022, 17, 2771–2783. [Google Scholar] [CrossRef]
  11. Ma, J.; Xu, S.; Ning, J.; Huang, X.; Deng, R.H. Redactable Blockchain in Decentralized Setting. IEEE Trans. Inf. Forensics Secur. 2022, 17, 1227–1242. [Google Scholar] [CrossRef]
  12. Xu, S.; Huang, X.; Yuan, J.; Li, Y.; Deng, R.H. Accountable and Fine-Grained Controllable Rewriting in Blockchains. IEEE Trans. Inf. Forensics Secur. 2022, 18, 101–116. [Google Scholar] [CrossRef]
  13. Xu, J.; Li, X.; Yin, L.; Lu, Y.; Tang, Q.; Zhang, Z. Redactable Blockchain Protocol with Instant Redaction. IACR Cryptol. ePrint Arch. 2021, 2021, 223. [Google Scholar]
  14. Huang, K.; Mu, Y.; Rezaeibagha, F.; Zhang, X.; Li, X. Monero with Multi-Grained Redaction. IEEE Trans. Dependable Secur. Comput. 2023, 21, 241–253. [Google Scholar] [CrossRef]
  15. Katz, J.; Loss, J.; Xu, J. On the security of time-lock puzzles and timed commitments. In Proceedings of the 18th International Conference, TCC 2020, Durham, NC, USA, 16–19 November 2020; pp. 390–413. [Google Scholar]
  16. Deuber, D.; Magri, B.; Thyagarajan, S.A.K. Redactable blockchain in the permissionless setting. In Proceedings of the 2019 IEEE Symposium on Security and Privacy (S&P), San Francisco, CA, USA, 19–23 May 2019; pp. 124–138. [Google Scholar]
  17. Xu, S.; Ning, J.; Ma, J.; Huang, X.; Deng, R.H. K-Time modifiable and mpoch-Based redactable blockchain. IEEE Trans. Inf. Forensics Secur. 2021, 16, 4507–4520. [Google Scholar] [CrossRef]
  18. Shen, J.; Chen, X.; Liu, Z.; Susilo, W. Verifiable and Redactable Blockchains with Fully Editing Operations. IEEE Trans. Inf. Forensics Secur. 2023, 18, 3787–3802. [Google Scholar] [CrossRef]
  19. Li, J.; Ma, H.; Wang, J.; Song, Z.; Xu, W.; Zhang, R. Wolverine: A Scalable and Transaction-Consistent Redactable Permissionless Blockchain. IEEE Trans. Inf. Forensics Secur. 2023, 18, 1653–1666. [Google Scholar] [CrossRef]
  20. Liu, Z.; Cao, Z.; Wong, D.S. Blackbox traceable CP-ABE: How to catch people leaking their keys by selling decryption devices on ebay. In Proceedings of the CCS ’13: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, Berlin, Germany, 4–8 November 2013; pp. 475–486. [Google Scholar]
  21. Matzutt, R.; Henze, M.; Ziegeldorf, J.H.; Hiller, J.; Wehrle, K. Thwarting unwanted blockchain content insertion. In Proceedings of the 2018 IEEE International Conference on Cloud Engineering (IC2E), IEEE, Orlando, FL, USA, 17–20 April 2018; pp. 364–370. [Google Scholar]
  22. Goyal, V.; Kothapalli, A.; Masserova, E.; Parno, B.; Song, Y. Storing and retrieving secrets on a blockchain. In Proceedings of the 25th IACR International Conference on Practice and Theory of Public-Key Cryptography, Virtual Event, 8–11 March 2022; pp. 252–282. [Google Scholar]
  23. Xu, S.; Zhang, Y.; Li, Y.; Liu, X.; Yang, G. Generic construction of elgamal-type attribute-based encryption schemes with revocability and dual-policy. In Proceedings of the Security and Privacy in Communication Networks: 15th EAI International Conference, SecureComm 2019, Orlando, FL, USA, 23–25 October 2019; Proceedings, Part II 15. Springer: Cham, Switzerland, 2019; pp. 184–204. [Google Scholar]
  24. Agrawal, S.; Chase, M. FAME: Fast attribute-based message encryption. In Proceedings of the CCS ’17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; pp. 665–682. [Google Scholar]
  25. Rouselakis, Y.; Waters, B. Practical constructions and new proof methods for large universe attribute-based encryption. In Proceedings of the CCS ’13: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, Berlin, Germany, 4–8 November 2013; pp. 463–474. [Google Scholar]
  26. Guo, L.; Wang, Q.; Yau, W.C. Online/Offline Rewritable Blockchain with Auditable Outsourced Computation. IEEE Trans. Cloud Comput. 2021, 11, 499–514. [Google Scholar] [CrossRef]
  27. Ning, J.; Cao, Z.; Dong, X.; Liang, K.; Ma, H.; Wei, L. Auditable σ-time outsourced attribute-based encryption for access control in cloud computing. IEEE Trans. Inf. Forensics Secur. 2017, 13, 94–105. [Google Scholar] [CrossRef]
Figure 1. System framework.
Figure 1. System framework.
Electronics 14 00846 g001
Figure 2. Hash Costs.
Figure 2. Hash Costs.
Electronics 14 00846 g002
Figure 3. Adapt costs.
Figure 3. Adapt costs.
Electronics 14 00846 g003
Figure 4. Update by policies.
Figure 4. Update by policies.
Electronics 14 00846 g004
Figure 5. Update by rounds.
Figure 5. Update by rounds.
Electronics 14 00846 g005
Table 1. Security and functionality comparisons of redactable blockchain.
Table 1. Security and functionality comparisons of redactable blockchain.
SchemeKey ComponentRedaction SecurityPerformancePractical Functionality
Hyb Revo FR Trace Anony MPC Efficiency Fine-Grained Decentralization Applying
with Coin
AMV+ 17 [3]CHIdealBitcoin
TLL+17 [9]ABE+CHAcceptable
DMT+19 [16]Consensus-based votingFastBitcoin
DSS+19 [6]ABE and CHETNot Ideal
XNM+21a [7]PCHIdeal
XNM+21b [17]Time-locked deposit penaltyEfficient
JCH+22 [10]RSA accumulatorEfficient
MXN+22 [11]ABE and CHETAcceptable
XHY+22 [12]Attribute-based traitor tracingEfficient
HMR+23 [14]Trapdoor cryptographyAcceptableMonero
SCL+23 [18]Double-trapdoor CHAcceptable
LMW+23 [19]Non-interactive threshold CHEfficientUTXO
Our TPCHABE and TPKE [15]Efficient (Online)
Denote ✓ as satisfied; ✕ as not satisfied; CH as chameleon hash; PCH as policy-based CH; ABE as attribute-based encryption; UTXO as unspent transaction output model; CHET as chameleon hash with ephemeral trapdoor [8]; TPKE as timed-release public-key encryption [15]; Trace as transaction traceability; Anony as transaction anonymity; Revo as writing privilege revocation; Hyb as hybrid redaction which supports public decryption (e.g., TPKE [15]) and private decryption (i.e., any decryptions using secrets); FR as forward revocability of CH as mentioned in [7]; MPC as multi-party computation.
Table 2. Complexity comparisons of PCH works.
Table 2. Complexity comparisons of PCH works.
ReferenceSchemePropertiesCosts (User-Side)
Revoc Fine-Grained On/Off Delegation Hash Adapt
DSS+19 [6]FAME [24] + RSA-based CH [8] O ( · n ) T e O ( k + n ) T e
TLL+20 [9]FAME [24] + DL-based CH [8] O ( N + k ) T e O ( k ) T e
GWY+21 [26]AB-KEM [27] (from CP-ABE [25]) + RSA-based CH [8] O ( 1 ) T e O ( 1 ) T e
XNM+21 [7]RABE (from FAME [24]) + RSA-based CH [8] O ( ) T e O ( ) ( T e + T p )
XHY+22 [12]PCH from the Fujisaki–Okamoto transformation O ( · n ) T e O ( k + n ) T e
Our TPCHCP-ABE [25] + DL-based CH [8] O ( ) T e O ( ) ( T e + T p )
Revoc” means the ability to revoke writing privilege or hash. “Fine-grained” means writing privilege, or the target re-written content is split into several parties. “On&off” means supporting pre-computation or outsourced computation. “Delegation” means supporting ciphertext delegation. T e means exponentiation operation. T p means pairing operation. Operations like multiplication and inversion are not measured. M means a matrix with rows and n columns. k means the size of an attribute set associated with a user. N means the total number of users in the system.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chen, M.; Xie, G.; Pan, B.; Fang, J.; Xu, Z.; Zhao, Z. Building Traceable Redactable Blockchain with Time-Verifiable Chameleon Hash. Electronics 2025, 14, 846. https://doi.org/10.3390/electronics14050846

AMA Style

Chen M, Xie G, Pan B, Fang J, Xu Z, Zhao Z. Building Traceable Redactable Blockchain with Time-Verifiable Chameleon Hash. Electronics. 2025; 14(5):846. https://doi.org/10.3390/electronics14050846

Chicago/Turabian Style

Chen, Mingliang, Guoqiang Xie, Benren Pan, Jinyan Fang, Zaide Xu, and Zhen Zhao. 2025. "Building Traceable Redactable Blockchain with Time-Verifiable Chameleon Hash" Electronics 14, no. 5: 846. https://doi.org/10.3390/electronics14050846

APA Style

Chen, M., Xie, G., Pan, B., Fang, J., Xu, Z., & Zhao, Z. (2025). Building Traceable Redactable Blockchain with Time-Verifiable Chameleon Hash. Electronics, 14(5), 846. https://doi.org/10.3390/electronics14050846

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop