EDIT : I hadn't see the other question but this one ain't a duplicate because I'm asking here, precisely, if the state differs and if it does, what are the implications. The answer to that question isn't present in the other question and isn't present in the comment of that other question: all that is written, in a comment, is that the state ends up being different. I'd like to know what are the implication of the state being different.
When I start a geth Ethereum node from scratch, I can use "geth --fast"
, which is faster than just using geth to synch the blockchain.
My question is: do I end up with a node in the same state as if I hadn't used the --fast
option and, if not, what are the implications of the two states being different.
Here are, for example, many related subquestions one could have...
Questions
If the two are identical, why isn't
geth --fast
always used when starting geth with an empty chain?If the two are not identical, are there any security concerns when using the
--fast
option? Is it able to then verify every new block correctly? (if so I take it the end state is totally exactly identical?)Does a node started with "geth --fast", once synched, then act as a "normal node"?
If a new "geth --fast" node was connected to one and only one node and that node was a "geth --fast" started one, would the new "geth --fast" node be able to download the blockchain from scratch?
If a new "geth" node was connected to one and only one node and that node was a "geth --fast" started one, would the new "geth" node be able to download the blockchain from scratch?
What if in the entire world there were only "geth --fast" nodes operational, would that prevent the Ethereum network from operating normally? What would be lost?