The growing chain's storage requirement is always an issue with blockchain platforms, and devices may not allocate the required storage to replicate an entire blockchain instance. To overcome this issue, we propose storage-efficient blockchain models that divide the growing blockchain into fixed-size sets of blocks, excluding the genesis block and allowing the participating nodes to store the recent blocks according to their storage capacity. Suppose a node, according to its storage capacity, decides not to replicate a few sets of old blocks to accommodate the new blocks. In that case, it stores the corresponding set's last block hash and a hash of the XOR of the remaining blocks' hashes and then drops those blocks. When required, nodes receive blocks equivalent to the deleted blocks from other nodes. They validate the received blocks by comparing the previous set's last block hash with the received set's first block parent hash and the XOR hash with the block hashes. If they match, the node will accept the equivalent set of deleted blocks; otherwise, reject. This will guarantee to avoid any uncertainty, single collision multi-block replacement and network diversion attack. The analysis and experimental results show that the proposed models are storage efficient and need less overhead. The proposed models provide security equivalent to the traditional blockchain and allow the storage-constrained devices to participate in the application for a long time compared with the other models. Also, we introduced the conceptual blockchain storage framework by combining traditional and lightweight schemes to allow nodes to choose and switch the storage model according to requirements.
展开▼