Ethereum 101 - Part 6 - Mainnet & Testnets

Quick Overview

Generally speaking, consumers will interact with the Ethereum mainnet. Developers, projects, and researchers will use testnets to experiment new features, test transactions, and calibrate gas costs without paying gas fees.

Table Overview of the Testnets

Network Mainnet Ropsten Kovan Rinkeby Görli
Consensus Protocol Proof of Work (ethash) Proof of Work
(best emulates mainnet environment)
Proof of Authority Proof of Authority (Clique) Proof of Authority (Clique)
Supported Clients Multi-client Both Geth / Parity Parity only Geth only Multi-client
Average Block Times ~15 sec. ~15 sec. ~4 sec. ~15 sec. ~16 sec.
Mineable / Faucet Mineable / Ether purchased on exchanges Mineable
(ether can also be requested via fauced
Not mineable
(ether is requested via faucet)
Not mineable
(ether is requested via faucet)
Not mineable
(ether is requested via faucet)
Website Link Link Link Link Link

Ropsten using Proof of Work

The Ropsten testnet, by virtue of using a Proof of Work consensus protocol and being mineable, generally best emulates the current Ethereum production network.

Rinkeby and Kovan using Proof of Authority

Kovan and Rinkeby both utilize a Proof of Authority (PoA) protocol. Instead of nodes solving arbitrarily difficult mathematical proof of work puzzles, a set of authorities (called ‘sealers’) are given the explicit permission to create new blocks and update the state of the test blockchain.

Under a Proof of Authority protocol, adversaries operating from an unwanted connection are unable to overwhelm or spam the network. The implementation of Proof of Authority testnets was the result of a series of attacks exploiting the proof of work algorithm on prior testnets (originating on Morden, which has since been voluntarily deactivated). To learn more of the historical details surrounding the testnets, please see the additional reading section.

Single client testnets

Single client testnets also offer auxiliary debugging information. If Rinkeby is experiencing issues, a reasonable assumption can be made that there is a bug in the Geth client. Diagnosing issues on the mainnet can be more nebulous due to the multitude of different clients maintaining sync.

Multi client testnets

Likewise, multi client testnets create environments that allow for testing of client interoperability. Ropsten supports both Geth and Parity clients. Görli, a new testnet with its genesis block starting Jan. 31, 2019, supports Parity, Geth, Nethermind, Pantheon, and EthereumJS.

I'm a consumer, I want to use real Ether and use DApps, what network do I use?

I'm a developer, what network do I use?

Additional Reading: