Testing a fork
The Spurious Dragon hardfork is slated for the upcoming week; block 2675000 is anticipated to arrive on Tuesday evening (CET). The block number for the test network “Morden” was set at block 1885000. Executing the fork in the test network before implementing it in the main network was a crucial precaution taken in the testing procedure to guarantee a seamless transition into the post-fork condition.
The Morden fork took place on Nov-20-2016, 06:12:20 +UTC, at block 1885000 as intended. Shortly after, at block 1885074, a consensus conflict arose between Geth and Parity.
Morden replay security
The Morden testnet has been operational since the inception of the Ethereum blockchain (July 2015). During that period, worries about replay-attacks between Morden and Mainnet were tackled by utilizing a nonce-offset. All accounts on Morden commenced with a starting nonce of 2^20 rather than 0, ensuring that any transaction acknowledged on one chain would not be valid on the contrary chain.
EIP 161 delineates new EVM protocols regarding nonces. The adoption of those protocols, paired with Morden-specific nonce-regulations, led to Geth and Parity generating incompatible blocks at block 1885074.
Implications for the Main network
All problems identified during the rollout of Spurious Dragon on the test network were Morden-specific. Presently, there are no known issues impacting the Mainnet.
Initiating the new “Ropsten” test network
Prior to the current hard forks, there had already been dialogues regarding the reboot of the test network from a new genesis block to simplify full synchronization and reduce resource consumption. Furthermore, due to the low difficulty of the testnet, the difficulty bomb was already prompting noticeable delays in block intervals, which would exacerbate if left unaddressed. Thus, the moment is opportune to move on from Morden and commence a new test network.
New clients will be issued that utilize Ropsten instead of Morden as the standard testnet.
Developers eager to start with Ropsten immediately can download the genesis file here, and initiate a client with the Ropsten network id:3
- geth: geth –datadir /path/to/testnet/data init genesis.json; geth –datadir /path/to/testnet/data –networkid 3 console
- parity: Download ropsten.json, then parity –chain path/to/ropsten.json

