A Fault-Tolerant Block Allocation Scheme for Collaborative-Storage Blockchain Systems
摘要
Blockchain technology underpins distributed applications but faces storage scalability issues since every node must store the entire blockchain history. Solutions like sharding exist but struggle with atomicity in cross-shard transactions, leading to high communication overhead. Additionally, the fault tolerance and reliability of the blockchain system are critical, as nodes may fail due to resource misconfigurations, hardware issues, or cyberattacks. To address these challenges, we propose a fault-tolerant block allocation scheme that utilizes collaborative storage to scale blockchain systems. In this approach, nodes in each group jointly store all blocks and can eliminate less important ones, greatly reducing each node’s storage burden. We formulate the problem of assistance probability-based block allocation to enhance the reliability of collaborative storage in the event of node failures. Our goal is to maximize the total assistance probability in the worst-case failure scenario. We prove that the block allocation problem is NP-hard and propose three algorithms to tackle it, which makes a trade-off between the in-group assistance probability and time complexity. Additionally, we explore dynamic scenarios where new nodes join the network and existing nodes leave, offering algorithms to update the current block storage plan. Extensive experiments conducted on both synthetic and real datasets demonstrate the effectiveness of our proposed algorithms.