Abstract
This article presents a novel way to reduce blockchain nodes’ memory requirements using error correcting codes. In particular, LDPC codes are taken as examples to explicitly demonstrate the scheme. The proposed coding scheme encodes data across multiple blocks, respectively, block headers, in the blockchain. This leads to a significant reduction in required memory at each node. We then apply the proposed coding technique to blockchains organized in two different ways. Our first scheme has the same protocol for mining, broadcasting, and verification of blocks, as Bitcoin-type blockchains. Our scheme is different in that full nodes do not have to store all blocks. Instead they will need to store only one block of a group of $t$ blocks. In the second scheme, we consider a new block verification protocol and an account-based model under the assumption that transmission between any two nodes can be established, as well as the broadcast transmission. Our block verification protocol uses the Byzantine fault tolerance algorithm and requires sending a newly mined block to only a small number of verification nodes, instead of broadcasting it to the entire network, which leads to a reduction of the network load.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have