# Comprehensive Review of Storage Optimization Techniques in Blockchain Systems
## 4 Methods
### Data Sharding Storage
Moreover, the flexibility of the DAG structure allows new events to be quickly confirmed via \"verify edges\", thus preventing delays that would arise from waiting for full confirmation of other events and further reducing the storage and validation burden on nodes. To ensure data integrity and security, the paper introduces the concepts of \"continue edges\" and \"verify edges\" to connect and validate events within a shard. Continuous edges maintain the sequential consistency of events within a shard, while validation edges ensure precise validation and storage of cross-shard events. This design ensures that each node stores only confirmed valid events, avoiding the consumption of storage space by unconfirmed or invalid events, further reducing storage redundancy. Additionally, the dynamic flexibility of the DAG structure allows the system to dynamically allocate shard data based on the resource status of nodes. Lightweight nodes only need to store shard data relevant to them rather than the full ledger, significantly reducing storage requirements. This flexibility not only reduces the storage and computational burden on lightweight nodes but also enables more resource-constrained nodes to participate in the blockchain network. Furthermore, the parallel processing capability of the DAG allows nodes to process and validate multiple events simultaneously, reducing synchronization delays and data redundancy caused by sequential processing. Overall, the DAG structure provides higher flexibility and processing efficiency for sharded storage, significantly reducing storage redundancy and accelerating event processing speeds. In resource-constrained environments such as IoT, this architecture demonstrates exceptional performance, greatly enhancing the scalability and overall processing capabilities of the blockchain system. [PERSON] et al. [79] proposed a blockchain node storage optimization scheme based on sharded storage, in which blockchain data are divided into multiple independent shards. Nodes within each shard are required to store only the data specific to their assigned shard, significantly reducing storage redundancy and enhancing system storage efficiency and scalability. The implementation steps include the following: first, calculating the probability of malicious nodes within the blockchain to determine the number of blocks in each shard, ensuring secure storage with a low probability of malicious node attacks. Next, based on the total number of blockchain nodes and the probability of blocks in a shard being attacked by malicious nodes, the required number of replicas for each shard is computed to ensure that the number of shard replicas stored by honest nodes exceeds that of malicious nodes, thereby safeguarding the security of shard blocks. Experimental results demonstrate that this optimization scheme reduces blockchain node storage requirements by approximately 50% and decreases block synchronization time by about 22%, thus improving the efficiency of new node integration into the blockchain. Overall, this sharded storage scheme significantly reduces storage redundancy and enhances storage efficiency, providing an effective and reliable solution for blockchain storage optimization. [PERSON] et al. [80] proposed a sharded storage model based on a dynamically elastic block distribution. In this model, blockchain data are divided into multiple shards and stored collaboratively by different nodes, effectively reducing storage redundancy and enhancing storage efficiency. The implementation of this model includes several key steps: new blocks are randomly allocated to a set number of initial replica nodes to ensure basic data reliability; the number of replicas is dynamically adjusted based on block access frequency, improving access performance for popular blocks and reducing storage usage for cold blocks. For blocks with low access frequency, erasure coding technology is applied for encoded storage, and data can be reconstructed when needed using the Lagrange interpolation method.