A DCA-Like Based Algorithm for the Merkle Tree Construction Problem in Ethereum Cryptocurrency System
摘要
The State Merkle tree is used in Ethereum cryptocurrency system to store and verify the current account’s state in a safe and efficient manner. A particular state consists of account balances, the number of transactions, contract codes, and storage values. In this paper, we address the problem of constructing a Merkle tree that minimizes the number of hash values needed for modifying account information based on the transaction distribution to improve system efficiency. The proposed optimization model is a binary quadratic program. Thanks to the exact penalty techniques, it was reformulated as a DC (Difference of Convex functions) program that is effectively solved by the DCA (DC Algorithm). To get a better convex approximation of the objective function without knowledge of a DC decomposition, DCA-Like, a novel extension of DCA, is applied. Additionally, we suggest a combined DCA-Like algorithm and divide-and-conquer algorithm, termed the recursive DCA-Like method, to construct a Merkle tree for a significant amount of the Ethereum accounts. The effectiveness of our approach and its superiority over well-known methods are demonstrated by numerical experiments on several datasets.