IEEE Access (Jan 2024)

Trie-Hashimoto: State Trie-Based Proof-of-Work Mining for Optimizing Blockchain Storage

  • Jae-Yun Kim,
  • Junmo Lee,
  • Soo-Mook Moon

DOI
https://doi.org/10.1109/ACCESS.2024.3360379
Journal volume & issue
Vol. 12
pp. 18315 – 18329

Abstract

Read online

Blockchain makes heavy use of cryptographic hashing to achieve integrity and consensus in a peer-to-peer network, but hashing causes some inefficiencies. For example, blockchain stores data with their hash digest as a key in the database, so the blockchain always reads and writes data in a random order. This can affect blockchain performance, especially for account-based blockchains such as Ethereum, which must maintain a huge, hash-based data structure for accounts, called the state trie. Also, Proof-of-Work (PoW) consensus algorithm requires the miners to find a nonce that makes the block hash lower than a difficulty threshold, but ASICs with parallel hashing have made PoW use a large dataset such as the Ethash DAG for memory-hardness and ASIC-resistance. Unfortunately, verification of the nonce is not easy for many light clients, which cannot deal with the overhead caused by the dataset. This paper proposes a novel PoW mining algorithm named Trie-Hashimoto to address these issues. Trie-Hashimoto adds a nonce field in a state trie node. It then makes the miners find a nonce of every newly-created trie node for a new block such that each node has a hash digest whose prefix is equal to the block number. This can accelerate the database performance by storing the trie nodes in a sequential order. The way for Trie-Hashimoto to achieve memory-hardness is also different. It uses the block headers that any client must maintain, obviating a separate dataset. Furthermore, it allows partial verification using a few Merkle proofs of accounts, so that a client with minimal resources or even a smart contract in another interoperable blockchain can verify a block with a high probability. Finally, Trie-Hashimoto discourages big mining pools by increasing the network overhead among the miners. Our experiment on the Geth client with 500K blocks and 100M accounts shows that Trie-Hashimoto improves the transaction execution time tangibly, reducing the full synchronization time by half. It also shows that Trie-Hashimoto has enough memory-hardness as Ethash. Lastly, a Trie-Hashimoto mining pool should exchange messages highly frequently, proportional to the total number of miners.

Keywords