9

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?

3
  • 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.
    – q9f
    Jul 11, 2017 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 :-\ Jul 11, 2017 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, 2017 at 5:12

1 Answer 1

2

The default is now "snap" sync which completes in about 4 or 5 hours for me on a SATA SSD.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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