Here is my basic understanding about how Ethereum stores transactions
- A hash is generated for each transaction
- Then pairs are selected and a hash is generated for each pair
- This way the last remaining hash becomes the root
- Block header contains three Merkle trees
- To maintain the state
- To maintain the transactions
- To maintain the receipts
- Each block refers to its previous block's hash
- I am attaching the very common diagram showing this structure
Questions:
1. The state root of Block 180994 is pointing to Block 180993's first left child
of the state root. What does it mean and why is it needed?
2. Lets take an example
- First block 180993 is having a transaction where Account 98 is
passing 30 ethers ether to Account 100
- Second block 180994 is
having a transaction where Account 99 is passing 20 ethers to Account
100
How this will be reflected in the tree? Will there be similar kind of cross mapping of Merkle trees like shown in the diagram? Please explain
Added more Detail