# A Redactable Blockchain Scheme Supporting Quantum-Resistance and Trapdoor Updates
## 3 Hierarchical Identity-Based Chameleon Hash with Revocable Subkey
### Security Analysis
#### 3.3.2 Security
For the Forgery group \(\Big{(}\mathbf{h}^{*},\mathbf{r}^{*},M^{*},M^{*},\mathbf{r}^{*},(str,\mathbf{ver})\Big{)}\), the challenger \(\mathcal{C}\) calculates:  
\(\underbrace{\mathbf{F}_{\mathbf{id}_{i}}}_{A}\cdot\underbrace{\mathbf{r}^{ \prime}}_{v}=\underbrace{\mathbf{h}_{i}-\mathbf{E}_{\mathbf{id}_{i}}^{T}\cdot H\Big{(}M^{ \prime*}\Big{)}}_{u}\) with \(\big{\|}\mathbf{r}_{i}^{\prime}\big{\|}\leq\sigma\sqrt{m}\), and \(M^{*}\
eq M^{*}\). Finally, if the above condition is satisfied, then return 1. Thus, through the above process, we can calculate \(\Pr\Big{[}Expt_{\mathcal{A},HIBCH-RS}^{RCF}(n,q)=1\Big{]}\). \(\square\)  
**Theorem 4** (_Forgery indistinguishability_). : _By this theorem, we show that the hash distribution \(\mathcal{D}_{CH}\) of a message \(M\) is statistically close to the distribution \(\mathcal{D}_{Forge}\) of a message \(M^{\prime}\)._  
As shown in Figure 2, we replace the hash algorithm in the Merkel tree with HIBCH-RS and add key fields for the redacted transaction. \(B_{\sigma}Number\) denotes the editing history block number. Formally, a redactable block is represented as \(RB=<Head,Tx\ list,>\), where the block header is abstracted as block number, the hash value of the preceding block and the data hash, denoted as \(Head=<Number,\ PreHash,DataHash>\). Meanwhile, the chain structure is delineated as \(C=<B_{0},RB_{1},\ldots,B_{i},B_{\sigma_{j}},\ldots>\). In other words, there are three types of blocks in the redactable blockchain proposed in this paper: ordinary non-redactable blocks \(B_{i}\), redactable blocks \(RB_{j}\), and blocks that record editing operations \(B_{\sigma}\). Figure 3 depicts the transaction flow for redactable Hyperledger Fabric to perform an edit request. In Fabric, the editing request initiated by the client is first sent to the endorsing nodes for processing. Subsequently, the approved requests are temporarily stored at the consensus nodes, awaiting validation and submission. Distinction arises between the editing procedures for public and personal transaction data. Specifically, in the case of personal transaction data, the _modify content_ (_MC_) must be maintained as confidential information, thus ensuring data privacy. The validation node is solely responsible for confirming the endorsement strategy and the legitimacy of the modification. Ultimately, the agreed-upon modified transaction is submitted for accurate modification within the blockchain. Therefore, the edit request transaction is compatible with the transaction flow of a normal transaction. Specifically, we divide the editing process into the following stages:  
**Creation of an edit request:** The process commences with the creation of an edit request by a member who possesses the trapdoor key. This event triggers the generation of a modification transaction (_MT_). _MT_ comprises two principal components: the modified content (_MC_) and the key parameter (_KP_). Figure 3: Modify the transaction flow. Figure 2: The redactable block structure of Hyperledger Fabric. Modified content (_MC_): MC encompasses several elements, including the transaction ID (_TxID_) of the transaction being revised, the hash value of the transaction, the identification of the member initiating the edit request, and the new content. If we would like to delete illegal information, the new content will be defined as empty. * Key parameter (_KP_): The _KP_ encompasses the hash collision \(\mathbf{r^{\prime}}\). Importantly, this component determines the ability to accurately modify the transaction within the block in a physical sense. Notably, the field related to _KP_ remains concealed from all parties until the completion of the request submission process. By adhering to this structured sequence, the editing process is systematically orchestrated, fostering transparency and control over modifications to blockchain data. **Validation of editing requests:**
* Public transaction data: In scenarios involving public transaction data, the consensus body disseminates MC to a randomly selected subset of n members.