nisdas / witti

Ethereum 2.0 Multi-Client Testnets Schlesi and Witti.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Witti ETH 2.0 Testnet

cortex lighthouse lodestar nimbus prysm teku trinity

Documentation of the Ethereum 2.0 phase-0 beacon-chain multi-client testnet efforts.

discord gitter

This is work in progress. New Genesis Time: May 26, 2020, 9am UTC.

Current ETH 2.0 specification version support:

v0.11.3 "Witti"

This repository contains the client configuration files and genesis state for the v0.11.3 Ethereum 2.0 specification multi-client testnet "Witti v0.11" for the following clients:

Clients will be added one by one once they manage to connect, synchronize, and stay in consensus. Work in progress.

v0.11.2 "Schlesi"

The v0.11.2 Schlesi testnet had multiple consensus issues and will no longer be maintained. It will be kept around for debugging purposes. New clients will be added to the Witti testnet (see above).

v0.10.1

The v0.10.1 testnet lost finality eventually and was retired in favor of the Schlesi testnet (see above).

F.A.Q.

I'm wondering why ...

Why do we need multi-client test-networks?

The first phase of Ethereum 2.0, the phase 0, is the beacon chain. For the first time, a variety of new clients will be working together on a brand new blockchain with a new, unique approach to networking and consensus.

Before such a mainnet can be launched, we need testnets that mimic mainnet conditions as good as possible. This requires us to have stable, long-term, and persistent testnets up and running that are supported by not only one client but multiple clients, ideally, all clients.

The Schlesi testnet was one of many steps in that direction. The Witti testnet is another.

What's the difference between Witti and Topaz?

The Topaz Testnet is a single-client testnet launched by the Prysmatic Labs team. It's entirely comprised of Prysm validators.

Witti, on the other side, try to have as many different clients right from the start. The Schlesi genesis contained 50% Lighthouse and 50% Prysm validators. Other clients joined the network since. It's a multi-client testnet.

What's the difference between Witti and Multinet?

The ETH 2.0 Multinet is a collection of startup scripts to simulate multi-client testnets with various parameters such as number of validators to run the network with. The multinet is based on a minimal ETH 2.0 specification.

Witti, however, is not a simulation. It's a real persistent end-user testnet based on a slightly modified mainnet configuration. Everyone should be able to add validators and beacon chain nodes.

What's the difference between Witti and Interop?

The ETH 2.0 Interop Lock-In was a physical meetup of seven client teams working towards interoperability in 2019. This was the first major step towards multi-client testnets, even though the focus of the lock-in was mainly on networking. Other aspects of interoperability were playing minor roles.

For Witti, all aspects are important, as they would be important for a potential mainnet candidate.

Why does Witti use the Mainnet configuration?

The ultimate goal of Witti should be proving that the clients are ready to support a potential beacon-chain mainnet. Therefore, it is time to template the testnet as close as possible to mainnet.

Why is there no docker file or startup script?

The focus of the testnet is no longer developer but end-user centric. Each user of the beacon chain should be able to manually complete any task, i.e., setting up a validator or synchronizing a beacon chain node. Scripts will be convenient in future to ease this process but for now we need to ensure that nodes, clients, and other tooling is ready to be used sufficiently to complete all tasks required by a beacon chain mainnet.

Additionally, not having a script that does the job for you, ensures that all node implementations and their according tooling are well documented across the different clients.

Is Witti an incentivized adversarial network?

No. The Witti testnet is not incentivized. The current goal is to ensure protocol compatibility across major ETH 2.0 client implementations. Participation is free and permissionless, everyone can create validator deposits at 0x42cc0FcEB02015F145105Cf6f19F90e9BEa76558 on the Goerli Ethereum testnet and start validating on Schlesi.

Why do you call it Witti?

Witti (Wittenbergplatz) is a subway station in Berlin proposed by MP. It's the first testnet named by a subway station in Berlin that is not located in the district of Kreuzberg were many blockchain companies, including the ETH DEV, have their offices.

Why did you call Schlesi Schlesi?

Schlesi (Schlesisches Tor) is a subway station in Berlin with proximity to Goerli and ETH DEV offices.

What is the Goerli testnet?

Goerli is a cross-client proof-of-authority Ethereum 1.x testnet. It's well supported across all ETH 1.0 clients, tooling, and infrastructure, and will be used to test the ETH 2.0 transition through a deposit contract deployed to Goerli.

See also

In the news:

Resources:

Historical documentation:

Previous multi-client testnets:

License

This is free and unencumbered software released into the public domain. For more information, please refer to unlicense.org

About

Ethereum 2.0 Multi-Client Testnets Schlesi and Witti.

License:The Unlicense