Skip to main content
7 events
when toggle format what by license comment
Dec 17, 2023 at 23:18 comment added BipedalJoe @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?
Nov 2, 2023 at 12:09 history bounty ended Marlo
Nov 2, 2023 at 12:09 vote accept Marlo
Oct 28, 2023 at 10:40 comment added Mikko Ohtamaa 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/…
Oct 28, 2023 at 10:34 comment added Mikko Ohtamaa 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.
Oct 27, 2023 at 21:13 comment added Marlo 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.
Oct 26, 2023 at 13:35 history answered Mikko Ohtamaa CC BY-SA 4.0