
Original title: "The History of Ethereum Testnets》
Author: Kingsley Arinze
Original compilation: Aididiao
Original compilation: Aididiao
The test network is an alternative network that simulates the main network of the blockchain. Its purpose is to test and experiment with the functions of the main network blockchain, so as to reduce errors caused by actual operation, such as the loss of real funds. These blockchain testnets can be compared to “simulated environments” in traditional web development, where developers can debug protocol upgrades and smart contracts before deploying to the mainnet.
Depending on how similar these networks are to the mainnet, some testnets use the same underlying technology and consensus mechanism as the mainnet, while some testnets use different technologies and consensus mechanisms than the mainnet. An important difference to note is that tokens earned from the testnet have no economic value.
Olympic Testnet – Early 2015
The first-ever public ethereum testnet is called Olympic and is launching ahead of the official launch of the ethereum mainnet. The Olympic testnet is a proof-of-work testnet intended for the ninth and final test run before the official public launch of the Ethereum mainnet.
The Olympic testnet stress-tests the network by incentivizing application developers, data providers, and exchanges to send high-load transactions, trying to push the testnet to its limits.
The Olympic testnet is called Ethereum 0.9 and has a network ID of 0. It was discontinued in July 2015 after a successful public launch of the Ethereum mainnet.
Morden Testnet - July 2015
The network, which has an ID of 2, was the only ethereum test network for more than a year before being deprecated in November 2016. The Morden testnet is mainly used to test the two most important Ethereum clientsGethandParityand
Junk data and some testnet-only consensus issues.
Although the Morden network has been abandoned by the Ethereum team, it is still active in the Ethereum Classic community and has been renamed the Morden Classic testnet.
RopstenRopsten Testnet - November 2016
is Ethereum's third and final proof-of-work test network. Launched after the mainnet upgrade, the new test network is named after a subway station in Stockholm, Sweden.
The Ropsten testnet supports all major Ethereum clients and is the only proof-of-work consensus mechanism testnet available.
In February 2017, the Ropsten testnet suffered a severe denial of service attack. The attack slowed down the network and consumed excessive disk space, making it difficult for Ethereum clients to synchronize with the Ropsten network. At the same time, gradually increasing the gas limit from 4.7 million to about 9 billion will paralyze the network and generate a large number of garbage blocks every time a large transaction is sent.
The Ropsten team managed to restore the network in March 2017 with GPU hashing power donated by the community, clearing all garbage blocks accumulated due to the attack.
Kovan Testnet - March 2017
KovanThe attack on the Ropsten testnet in February 2017 led to the birth of several other testnets.
The testnet was created by the Parity team. Kovan, like the other testnets launched after the attack, was born primarily to satisfy the need for a stable and client-compatible testnet for developers to test their applications.
The Kovan testnet uses a proof-of-authority consensus mechanism that sacrifices decentralization for security by maintaining a small set of trusted signers and validators. These signers and validators create new blocks in the network by staking their reputation.
Since the identities of these validators are known, they actively maintain the network in order to protect their reputation.
Like Ropsten, the Kovan test network is named after a subway station in Singapore. It has a network ID of 42 and it takes about 4 seconds to create a new block. This testnet is not supported by some major Ethereum clients (e.g. Geth) and does not fully reproduce the current production environment (PoW mainnet).
Even though the Kovan testnet is a more stable and faster testing environment than the Ropsten testnet because CPU-intensive mining is not required to maintain the network, many in the industry still consider it to be:
An inelegant solution, since Ethereum should have a dynamic block limit.
Not portable, as other clients will need to implement the new forking logic themselves.
Not compatible with sync mode
The Kovan network is still active today and remains the favorite testnet for many teams in the community.
Rinkeby Testnet - April 2017Since the Kovan testnet was launched quickly due to the Ropsten attack, the Ethereum team createdRinkeby TestnetAs a long-term solution, this solution uses。
Clique POA (Proof of Authority)
The network is also named after a subway station in Stockholm, the network ID is 4, and the interval between trains is 15 seconds.The new proof-of-authority network is easy to implement and embed into any Ethereum client. It also allows the use of existing synchronization techniques such asFast, Light, and Warp
, without requiring the client developer to add custom logic to the application.
It will maintain a list of trusted signers that changes over time by:
First, the 32-byte "extra-data" field in the block header is repurposed to hold the 65-byte field for the secp256k1 signature, allowing anyone with access to the block to verify it against the list of authorized signers. This means that the "miner" part of the block header is obsolete.
Then, reuse the just-outdated "miner" field and the outdated "nonce" field of the proof-of-authority to create a voting protocol in regular blocks. These two fields are initially set to zero, but if a signer wishes to make changes to the list of authorized signers, they must set the 'miner' field to the signer they wish to vote for and set the 'nonce' to 0 or '0xff ...f" to vote for adding or kicking a signer.
During block processing, any client that syncs the chain can count votes, thereby maintaining a dynamically changing list of authorized signers through popular voting.
Despite the Ethereum team's efforts to create a standard proof-of-authority protocol, Rinkeby is only supported by the Geth ethereum client, which leaves room for creating another test network supported by all major clients.
Gorli Testnet – September 2018The testnet was launched as a hackathon project by the Chainsafe team on ETHBerli. It tries to rewrite in Go languageParity's Aura Proof-of-Authority
Consensus mechanism (mainly written in Rust) to achieve its functions.
When Afri Scohedon joined the Chainsafe team to create a "next generation" PoA public test network, it became an official project. The network is compatible with all major Ethereum clients, including Geth, Parity, Hyperledger Besu, Nethermind, and more.
Early steps taken by the team include:
Fully specify a Proof of Authority engine such as Aura or Clique in the Ethereum Improvement Proposal (EIP-225).
One or more of these engines are implemented on different clients.
Based on the available implementation conditions of the simulated main network, a simple new proof-of-authority test network is introduced.
Through these steps, the Gorli network was successfully launched in early 2019. To date it remains the only Proof-of-Authority network that can guarantee consistent availability.Status Dashboardandandresource manager
It can be viewed at the link.
Final Thoughts on Testnet HistorySokol。
There are many Ethereum testnets available today, each trying to solve unique problems left over from history. This article only covers the most popular and widely used testnets, there are some other networks with unique properties, such as