Optimizing Merkle Proof Size for Blockchain Transactions

Merkle trees play a crucial role in blockchain networks in organizing network state. They allow proving a particular value of an entry in the state to a node that maintains only the root of the Merkle trees, a hash-based signature computed over the data in a hierarchical manner. Verification of particular state entries is crucial in reaching a consensus on the execution of a block where state information is required in the processing of its transactions. For instance, a payment transaction should be based on the balance of the involved accounts. The proof length affects the network communication and is typically logarithmic in the state size. In this paper, we take advantage of typical transaction characteristics for better organizing Merkle trees to improve blockchain network performance. We focus on the common transaction processing where Merkle proofs are jointly provided for multiple accounts. We provide lower bounds for the communication cost and describe algorithms based on traffic patterns can significantly reduce them. We rely on real blockchain data to show the savings allowed by our approach.

[1]  Ori Rottenstreich,et al.  Sketches for Blockchains , 2021, 2021 International Conference on COMmunication Systems & NETworkS (COMSNETS).

[2]  Abdel Nasser,et al.  A Survey of the Quadratic Assignment Problem , 2014 .

[3]  J G Daugman,et al.  Information Theory and Coding , 2005 .

[4]  Kan Zhang,et al.  Efficient Protocols for Signing Routing Messages , 1998, NDSS.

[5]  Wei Yu,et al.  A Survey of Blockchain: Techniques, Applications, and Challenges , 2018, 2018 27th International Conference on Computer Communication and Networks (ICCCN).

[6]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[7]  Xuemin Shen,et al.  An Efficient Merkle-Tree-Based Authentication Scheme for Smart Grid , 2014, IEEE Systems Journal.

[8]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[9]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[10]  Johannes A. Buchmann,et al.  Merkle Signatures with Virtually Unlimited Signature Capacity , 2007, ACNS.

[11]  Yaniv Altshuler,et al.  Social Signals in the Ethereum Trading Network , 2018, ArXiv.

[12]  Albert-László Barabási,et al.  Statistical mechanics of complex networks , 2001, ArXiv.

[13]  Ralph C. Merkle,et al.  A Digital Signature Based on a Conventional Encryption Function , 1987, CRYPTO.

[14]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[15]  Nir Kshetri,et al.  Blockchain-Enabled E-Voting , 2018, IEEE Software.

[16]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[17]  Jose L. Muñoz,et al.  Efficient Certificate Revocation System Implementation: Huffman Merkle Hash Tree (HuffMHT) , 2005, TrustBus.

[18]  Xiaodong Lin,et al.  Understanding Ethereum via Graph Analysis , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.