# Comprehensive Review of Storage Optimization Techniques in Blockchain Systems
## 4 Methods
### Erasure Coding  
Erasure Coding (EC) [81] is an advanced data redundancy and recovery technology widely used in distributed storage systems to enhance data reliability and system fault tolerance. In storage systems, erasure coding techniques utilize encoding methods to generate redundant blocks from original data blocks, storing both the data and the redundant blocks to achieve reduced redundancy and increased fault tolerance [82]. Erasure coding not only significantly decreases storage redundancy and improves storage efficiency, but it also ensures effective recovery of original data in the event of node failures or data corruption. The most common erasure coding technique is Reed-Solomon (RS) coding, \begin{table}
\begin{tabular}{c c c c} \hline \hline
**References** & **Implementation Strategies** & **Storage Efficiency** & **Usage Scenario** \\ \hline Guo [76] & Block size and access frequency & Midium & Access imbalance system \\ Kan [77] & Shard and confirm the status of & Midium & DApp \\ Li [78] & DAG structure & High & Storage-limited IoT environment \\ Jiang [79] & Adjust shard replicas & Midium & Network of malicious nodes \\ Yan [80] & Access frequency and coding techniques & High & Dynamically elastic block distribution \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Data sharding for reducing storage redundancy. which fundamentally encodes k original data pieces into m parity data, collectively forming n pieces of data (where n = k + m). Original data can be reconstructed from any k or more of the encoded data pieces, even if up to m data pieces fail, as long as the remaining encoded pieces are available to reconstruct the original data. The encoding principle of RS erasure coding is illustrated in Figure 11. The advantages of erasure coding in blockchain applications lie in its ability to reduce storage requirements without leading to permanent data loss. When a node requires uncoded data, it can gather encoded fragments and apply decoding algorithms to restore the original data. Additionally, erasure coding can detect and correct data tampering by malicious nodes. Therefore, erasure coding technology plays a significant role in blockchain by providing an efficient and reliable data protection mechanism while reducing data redundancy. Currently, numerous scholars, both domestically and internationally, have proposed various schemes for optimizing blockchain storage through the application of erasure coding. [PERSON] et al. [83] propose a method that combines erasure coding and Byzantine Fault Tolerance (BFT) protocols in blockchain systems. In a Byzantine environment, the system may face threats from malicious nodes that deliberately alter or refuse to provide correct data, thereby compromising the integrity and consistency of the entire blockchain. By employing erasure coding, the original data are divided into multiple data blocks and supplemented with redundant parity blocks. Erasure coding allows the recovery of complete data even if some portions are lost, using the remaining parity blocks. The introduction of the BFT protocol enables the system to handle more complex scenarios, including malicious nodes that tamper with data. With the integration of erasure coding and BFT protocols, each node no longer needs to store a full copy of the blockchain. Instead, each node stores only a subset of the data blocks, which collectively form a complete dataset across all nodes. In the event of individual node failures, the system can still recover the original data through the redundant parity blocks. This design drastically reduces the storage requirements for each node, lowering the system's storage complexity from O(n) to O(1), thus significantly enhancing the scalability and availability of the blockchain system. [PERSON] et al. [84] propose the GCBlock scheme, which effectively reduces storage redundancy in blockchain systems through Transcript Fractional Repetition (TFR) coding.