1

What nodes on the Ethereum network stores the entire history?

From what I understand, full nodes are only required to store the current state of the blockchain, while they are not required to store the set of transactions (history).

However, to derive current state, the history must be obtainable.

So, who stores the history and what are such nodes called (if not "full")?

3

Full nodes indeed store the entire blockchain, that is the history. They derive from it a database which is the current network state.

Work is being done on light clients that can interact with the network without having the full blockchain, which is necessary for small devices with low storage, bandwidth, etc. See Light client protocol

There a few different options to run a node, such as mine, peer... Some nodes decide to prune the blockchain in order to keep a current valid state without having the full history. They are somehow called full nodes too (no clear definition), but technically aren't full, it also creates some possible attacks.

  • Thank you, I just read a presentation that said that full nodes have the option of storing the history - some deletes it after having derived current state. – Shuzheng Sep 16 '17 at 13:00
  • I edited the answer to include your concern. Some people call the full nodes as they are able too validate transactions, however there are attacks concerns since they store the last 1000 blocks only. – Nicolas Bernard Sep 17 '17 at 5:49
  • What do you mean by "prune"? – Shuzheng Sep 17 '17 at 9:02
  • Pruning is suppressing "unnecessary" blocks. You get a valid state of the blockchain but not the history of how you got there. – Nicolas Bernard Sep 17 '17 at 9:56
  • So they (blocks) are discarded or deleted, after their transactions have been executed locally? – Shuzheng Sep 17 '17 at 9:58

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.