My understanding is that the archival node stores the state tree for each block -- that's the reason the size is so big. Can someone validate my understanding?

  • the state is unique for the entire blockchain, only modifications are stored on each block, but never the state is rewritten again with each block. (just to make it clear) – Nulik Feb 13 '18 at 22:05
  • yes there is no doubt that state is unique. but my understanding is , every block in archival node has a corresponding state trie which captures that state of blockchain at that point of time. – Manish Ranjan Feb 14 '18 at 1:27

Yes, you're correct. An Ethereum archival node is a geth full node. A full node will download/maintain block header + block data + perform full data validation. This process takes a more time and storage.

For more details, see the answer to this question: What is the parity light pruning mode?

| improve this answer | |

The state is so big because it stores contract data. Contract data is like a binary executable .exe in Windows, it contains instructions to be executed and this takes much bigger space than a signed transaction or an account record. Also, contracts are immutable , once you uploaded it , you can't modify it, so a new version of the executable must be fully uploaded if you have to apply some changes. This is the reason Ethereum's state is so big. It is like a hard disk where files are created but never deleted. In the future this is going to get worse.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.