Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

4
  • 2
    Thanks. Yes its huge. I synced ethereum once and it was like more than 500GB. So if the tries are not related to the lookups (thanks by the way for that insight, because in some places it says its about efficient look ups) and only for the hashing efficiency, then why doesnt one just create the new hash by: hash(oldhash, hash(all accounts that changed in the block)) It wouldnt require hashing all data again and doesnt need a trie or tree either. It would provide the security of temper resistance. But since the tree is still more efficient and if its not needed for lookups i understand it.
    – Marlo
    Commented Oct 27, 2023 at 21:13
  • I guess hash(oldhash, hash(all accounts that changed in the block)) would require that all nodes maintain all the historical blocks and state. You would need to walk through all the transactions in the block as opposite to download block headers? The opposite would be "the latest state as is". If you do no have a full state hash it would make writing state-verifying light clients impossible? Not an expert here. Commented Oct 28, 2023 at 10:34
  • Maybe this is helpful "By only having the block header with the Merkle root, the transaction it wants to verify, and the Merkle proof structure obtained from a trusted Bitcoin node, it can try to reconstruct the Merkle root hash and validate the transaction." medium.com/coinmonks/… Commented Oct 28, 2023 at 10:40
  • @MikkoOhtamaa Not sure it is correct that the trie is not for lookups. Considering key-value mappings in contract data, without some kind of trie or hash table or equivalent for the "storage slots", it would not be possible to locate the position of a key in the "merkle tree" without using some kind of index data in LevelDB, no?
    – BipedalJoe
    Commented Dec 17, 2023 at 23:18