Schlesi testnet falls, Witti rises
Editor's Note: This article comes fromEthereum enthusiasts (ID: ethfans)Editor's Note: This article comes from
Ethereum enthusiasts (ID: ethfans)
Ethereum enthusiasts (ID: ethfans)
, Author: Somer Esat, translation: A Jian, reprinted by Odaily with authorization.
Schlesi, a multi-client test network for Ethereum 2.0, has now completed its historical mission and is about to cease operation.
It’s not an exaggeration to say that Schlesi has accomplished a major milestone on the Ethereum 2.0 roadmap: successfully launching a public multi-client testnet. In this article I am going to talk about the Schlesi testnet and its successor, the Witti testnet.
some important definitions
Let's communicate the meaning of some terms first.
What is a testnet?
The test network is a backup network for testing, hoping to simulate the production environment of the target network as much as possible to test the actual capabilities of software and protocols. Users who plan to use the target network for production can test the capabilities of the client through the test network to ensure that they will not encounter bugs. Testnets are important because they help people find bugs before they actually go into production.
What is the Ethereum 2.0 Testnet?
The first phase of Ethereum 2.0, Phase 0, will exit the Beacon Chain. Regarding what is the beacon chain, Bed Edgington gave a good interpretation in October 2018:
"The core function of the beacon chain is to manage the operation of the proof-of-stake protocol for itself and the shard chain. This management includes: managing validators and their block weights; scheduling blocks for each shard at each time slot Proposer; organize verifiers, divide into committees, participate in voting on proposed blocks; implement consensus rules, issue rewards and impose penalties; become anchor points for each shard to register its own state to assist cross-shard transactions.”( source)
In order to test the beacon chain, we need to let one or more clients together form a network. The so-called "Ethereum 2.0 test network" is to run a Phase 0 beacon chain instance in a test environment. One single-client testnet that is currently still running is the Topaz testnet initiated by Prysmatic Labs.
What is a multi-client testnet?
A multi-client test network is a test network composed of clients developed by multiple different development teams connected together. Both Schlesi and Witti are multi-client testnets. The multi-client testnet is even more challenging, because different clients have their own characteristics, bugs, and configurations are also different. Most clients run a private testnet before participating in a multi-client testnet. Afri Schoedon said it well:
“Before the launch of the main network, we need to launch a test network that simulates the conditions of the main network as much as possible. This requires us to have a stable, long-term, and lasting test network, and it is not enough to get the support of only one client, but to get a variety of customers support from the client, and even participation from all clients.” (source)
How did the Ethereum 2.0 testnet fork?
The beacon chain is supported by a proof-of-stake protocol. When 2/3 of the verifiers have witnessed the validity of some blocks, a batch of blocks will be confirmed. This is the so-called "achievement of certainty", after which, the previous block can never be changed. When the blockchain cannot achieve certainty, it becomes unstable and forks may occur. A fork occurs when different validators support competing blocks. This is what happened on the Schlesi testnet.
Multi-client testnet history
Schlesi isn't actually the first multi-client testnet. There is also an earlier test network called "multinet", which was launched on October 24, 2019 (GitHub), and is also participated by multiple clients: Nimbus, Trinity, Lighthouse, Prysm, Lodestar and Artemis (that is, current Teku client). It's more like a simulated multi-client testnet, though. Afri Schoedon explains:
"Eth2.0 Multinet is a collection of scripts for simulating a multi-client test network. It can adjust various parameters to simulate test effects, such as the number of verifiers. Multinet uses the minimum Eth2.0 specification." ( source)
By March 2020, in a developer conference call, Danny Ryan, a researcher at the Ethereum Foundation, expressed his desire to "launch a multi-client testnet." Then, came the Schlesi testnet.
The name comes from the Schlesisches Tor railway station in Berlin, Germany. The Schlesi multi-client testnet was launched on April 27, 2020.
During its operation, the Schlesi testnet aims to test the specifications of Ethereum 2.0 v0.11.1 and v0.11.2. Previous testnets targeting v0.10 were stopped due to instability.
When Schlesi started, it successfully connected two batches of validators running different Ethereum 2.0 clients (Lighthouse and Prysm), and Teku was later successfully added. Nimbus and Lodestar are slightly behind in progress, but are catching up.
Then, on May 17th, Afri Schoedon announced a fork on the testnet.
Despite its short existence, Schlesi has spawned opportunities to organize documentation, write configs and bootstrap, and enable multiple clients to join at the same time; people can publicly deploy nodes, sync with test blockchains, and stake Goerli testnets ETH to become a validator; developers were pleasantly surprised that Schlesi has been running for so long, and client teams have been recognized for quickly fixing problems in their software implementations. All in all, it was a happy result.
“At about 11AM UTC on May 15th, the Schlesi testnet was found to have not achieved finality for close to 50 time slots... which eventually led to instability of the chain, with several temporary forks.
The Prysm client and Lighthouse client forked at epoch 150496 slot after failing to achieve finality for more than 300 epochs. A block was committed by slashing a witness, but different clients had inconsistencies in calculating rewards and penalties for the slashed validator. This exposes two different bugs in the Prysm client's penalty calculation! After this chain fork, we felt that the best way was to start over. While Schlesi could have recovered from this bug at that point, we felt it would be best to immediately apply the lessons we learned from this incident and launch a new multi-client testnet. "(source)
Then, Schlesi closed the curtain. Witti is about to rise!
image description
- (Image credit: Jan Gympel) -
Witti multi-client testnet
Witti is the latest multi-client testnet. Its margin contract was only deployed on May 25th, and it was deployed on the Goerli testnet.https://witti.beaconcha.in/The Ethereum 2.0 v0.11.3 technical specification is Witti's testing target, because most clients have already implemented or are close to implementing the functions of this version of the specification. Although v0.12 was recently released, it is reasonable to assume that Witti and future testnets will be able to absorb these changes.
epilogue
The Witti testnet was launched on May 27th and can be accessed on the block explorer
See its condition on .
epilogue


