[Ethereum] How is Parity’s “warp” sync related to Geth’s “fast” sync

paritypeerswarp-sync

A follow-up to this question.

Geth's fast sync is one-shot. i.e. once we have synced some of the blockchain, we cannot use fast sync anymore. Is this the case for Parity? I ran it with warp, then without warp, then with warp again. It doesn't complain, so I guess this is doable in Parity.

One other issue I notice is the number of peers are way lower when I run parity with --warp. This is strange. Is warp sync exclusive? i.e. some nodes are warp, some nodes are not? Or is it just a coincidence whenever I run parity --warp, I find less peers?

Best Answer

You can warp from any point in the blockchain, the client notices if you are more than 30_000 blocks behind and kicks in a warp sync unless you disabled it with --no-warp

The --warp flag literally does nothing because warp is enabled by default. So it does not affect your connected peers in any way. It must be a coincidence. You can try to increase your minimum number of peers with --min-peers and add additional snapshot clients with --snapshot-peers.

So, to answer your initial question how geth --warp relates to geth --fast, yes, geth' fast sync mode does only work on first run, parity's warp sync works always if it detects the chain is a catch up a lot of blocks.