EC-Chain: Cost-Effective Storage Solution for Permissionless Blockchains

Minghui Xu,Hechuan Guo,Ye Cheng,Chunchi Liu,Dongxiao Yu,Xiuzhen Cheng
2024-12-07
Abstract:Permissionless blockchains face considerable challenges due to increasing storage demands, driven by the proliferation of Decentralized Applications (DApps). This paper introduces EC-Chain, a cost-effective storage solution for permissionless blockchains. EC-Chain reduces storage overheads of ledger and state data, which comprise blockchain data. For ledger data, EC-Chain refines existing erasure coding-based storage optimization techniques by incorporating batch encoding and height-based encoding. We also introduce an easy-to-implement dual-trie state management system that enhances state storage and retrieval through state expiry, mining, and creation procedures. To ensure data availability in permissionless environments, EC-Chain introduces a network maintenance scheme tailored for dynamism. Collectively, these contributions allow EC-Chain to provide an effective solution to the storage challenges faced by permissionless blockchains. Our evaluation demonstrates that EC-Chain can achieve a storage reduction of over \(90\%\) compared to native Ethereum Geth.
Cryptography and Security
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the growing storage demand in permissionless blockchains. With the popularization of decentralized applications (DApps), such as blockchain games, decentralized exchanges (DEXs) and decentralized finance (DeFi), these applications generate a large amount of data every day, resulting in a sharp increase in the storage demand of blockchains. For example, the daily data increment per node on the Ethereum network is approximately 0.2 GB. This rapid growth of storage demand poses a significant challenge to computers acting as blockchain storage nodes, because the growth of storage demand leads to a decrease in the number of users maintaining nodes, threatening the security and decentralization characteristics of permissionless blockchains. To solve these problems, the paper introduces EC - Chain, a cost - effective storage solution for permissionless blockchains. EC - Chain mainly reduces the storage overhead of ledger data and state data in the following ways: 1. **Ledger Data Optimization**: - **Batch Encoding**: Improve encoding efficiency by batch - processing multiple blocks, reducing the bottleneck when processing a large number of blocks to be encoded. - **Height - based Encoding**: Selectively encode according to the height of the block, especially encode historical blocks, and fully copy the blocks near the top of the blockchain to reduce the read latency when frequently accessing these blocks. 2. **State Data Optimization**: - **Dual - Trie State Management System**: Divide the state tree into a hot trie and a cold trie. The hot trie is used to store frequently accessed states and is fully copied to prioritize retrieval speed; the cold trie uses erasure coding to fragment and distribute less - accessed states, thereby optimizing storage utilization. - **State Expiry**: Manage the process of inactive states transferring from the hot trie to the cold trie. - **State Mining**: When a state becomes active, manage the process of the state transferring from the cold trie to the hot trie. - **State Creation**: Handle the process of creating new accounts, ensure that the new state is correctly inserted into the hot trie, and track its access frequency and the most recent access time. 3. **Network Maintenance Scheme**: - Propose a network maintenance scheme to adapt to the dynamic characteristics in permissionless networks, including the joining and leaving of nodes, as well as the group upgrade and downgrade mechanisms, thereby improving data availability. Through these innovative methods, EC - Chain can significantly reduce the storage overhead of permissionless blockchains while maintaining data availability. Experimental results show that EC - Chain can achieve more than 90% storage reduction compared to the native Ethereum Geth.