I was syncing ropsten testnet using geth. Command used-

geth --testnet --syncmode "full"

At some time, eth.syncing returned-

  currentBlock: 353883,
  highestBlock: 1172714,
  knownStates: 0,
  pulledStates: 0,
  startingBlock: 353878

Notice the highest block. Its supposed to be 24xxxxx.
When I let it sync, syncing stopped at 1172xxx block. I checked blocks manually and compared them with http://ropsten.etherscan.io/ , blocks were same as ethscan upto 585000 blockNumber(and different afterwards), that is the block number where ropsten testnet revival took place from. Now I assume that it somehow synced with a fork where revival did not take place.

  1. Can anybody explain me how did it happen? Aren't all nodes on same fork?
  2. How can I make sure when I start geth that it doesn't sync with blockchain from pre-ropsten revival fork?
  3. Can something like this happen on main-net?
  • Which version of geth are you using? If you use a client older than 1.7.3 you may end in the pre-byzantinum fork. – Ismael Jan 11 '18 at 4:36
  • I am using latest version(building from source) – Shubham Chaudhary Jan 11 '18 at 7:20