Coded Merkle Tree! To appear in Financial Cryptography and Data Security 2020.
Updated: Nov 16, 2019
We have just posted a paper, titled "Coded Merkle Tree: Solving Data Availability Attacks in Blockchains", which is accepted for publication in Financial Cryptography and Data Security 2020.
In this paper, we propose coded Merkle tree (CMT), a novel hash accumulator that offers a constant-cost protection against data availability attacks in blockchains, even if the majority of the network nodes are malicious. A CMT is constructed using a family of sparse erasure codes on each layer, and is recovered by iteratively applying a peeling-decoding technique that enables a compact proof for data avail- ability attack on any layer. Our algorithm enables any node to verify the full availability of any data block generated by the system by just downloading a Θ(1) byte block hash commitment and randomly sam- pling Θ(log b) bytes, where b is the size of the data block. With the help of only one honest node in the system, our method also allows any node to verify any tampering of the coded Merkle tree by just downloadingΘ(log b) bytes. We provide a modular library for CMT in Rust and Pythonand demonstrate its efficacy inside the Parity Bitcoin client.