6

As of version 1.6.0, the default method used by Geth for syncing the chaindata is "fast":

The default sync mode is --syncmode=fast, for full sync please use --syncmode=full.

Previously, the default was "full", with the user having to explicitly pass the --fast flag to bring about a "fast" sync.

In answer to a previous question, Why isn't fast sync the default?, it was stated that:

...Fast sync indeed has one additional weakness compared to full sync. As long as an attacker can keep you isolated from the main chain (e.g. infect your router), it may construct an arbitrary state that your node will believe

Is this weakness no longer the case, and if so, why not?

  • I think I'm not qualified to answer this question, but the Ethereum blockchain is in a really bad shape and a full synchronization takes weeks on commodity hardware. Thus, the full sync mode should only be used by users knowing what they are doing. I agree this should be the default mode for running a full node, but the spam attacks in 2016 make this close to impossible and this creates a usability mess. – Waqar Lim Jul 11 '17 at 10:38
  • Understood - thanks @5chdn. That all makes sense - I hadn't thought about it in this way, and it's a shame that this is the case :-\ – Richard Horrocks Jul 11 '17 at 14:21
  • @5chdn I did a Geth "fast" sync this week and I found that my internet speed really didn't matter at all, instead the bottleneck was my platter HDD - it was actually syncing only 1.2x faster than real-time. When I switched to my NVMe SSD it was syncing at 80x real-time. If these are the speeds I get with "fast", how long would a "full" sync take given the same hardware (HDD vs SSD)? – Dai Nov 3 '17 at 5:12

Your Answer

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

Browse other questions tagged or ask your own question.