Ethereum 2.0 Multi-Client Testnets
This repository has become a collection of multiple active and inactive testnets. Please refer to the following specs for details:
- Pyrmont v1.0.0 public pre-launch testnet is being prepared.
- Toledo v1.0.0 dev-testnet is hosted at: https://github.com/protolambda/toledo
- Ad-hoc v1.0.0 dev-testnet templates: adhoc/README.md (unused)
- Zinken v0.12.3 dress rehearsal testnet: zinken/README.md (inactive)
- Spadina v0.12.3 dress rehearsal testnet: spadina/README.md (inactive)
- Medalla v0.12.2 public testnet: medalla/README.md (active)
/ meh-dah-shah test-net /
- Altona v0.12.1 dev-testnet: altona/README.md (inactive)
- Witti v0.11.3 dev-testnet: witti/README.md (inactive)
- Schlesi v0.11.2 dev-testnet: schlesi/README.md (inactive)
- Unnamed v0.10.1 dev-testnet: v0-10-1/README.md (inactive):
Or read the generalized outline on how to launch your own testnet: LAUNCH.md
F.A.Q.
I'm wondering ...
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 was another. The Altona testnet is yet another. The Medalla testnet aims to be the final one prior to mainnet launch.
Is Medalla the official, public multi-client testnet?
Yes.
What's the difference between Altona and Onyx?
The Onyx Testnet is a single-client testnet launched by the Prysmatic Labs team to replace Topaz. It's entirely comprised of Prysm validators, other clients didn't have releases at genesis yet.
Altona, Witti, and Schlesi, on the other side, tried to have as many different clients right from the start. The Schlesi genesis contained 50% Lighthouse and 50% Prysm validators. The Witti genesis even featured three clients. Altona featured four clients. They are multi-client testnets.
What's the difference between Altona and Topaz?
The Topaz Testnet is a single-client testnet. Same reasoning as Onyx above.
What's the difference between Altona 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.
Altona, 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 Altona 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 Altona, all aspects are important, as they would be important for a potential mainnet candidate.
Why does Altona use the Mainnet configuration?
The ultimate goal of Altona 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 Altona an incentivized adversarial network?
No. The Altona 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 0x16e82D77882A663454Ef92806b7DeCa1D394810f
on the Goerli Ethereum testnet and start validating on Altona.
Why do you call it Medalla?
Medalla means "medal" and can be seen as a reference to the Olympic testnet that was used to prepare the ETH1 launch. It emphasizes the importance of the network at this stage towards the ETH2 launch. It can also be seen as a hint that Medalla validators will recieve a proof of attendance "medal" on the Ethereum network for participation.
Why did you call Altona Altona?
Altona is a subway station in the city of Hamburg, Germany. It was proposed on Reddit by u/krokodilmannchen.
Why did you call Witti 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:
- The Block: Ethereum 2.0 testnet 'Spadina' goes live ahead of the mainnet release
- Cointelegraph: Launch rehearsal for Ethereum 2.0 "90% successful" despite participation issues
- Coindesk: Ethereum 2.0 Developers Launch Spadina, a Three-Day Practice Testnet
- Cointelegraph: Medalla Testnet Problems "Will Not Delay ETH 2.0" Says Prysmatic Labs
- Cointelegraph: Ethereum Medalla Testnet Launch Suffers Block Finality Issue
- Coindesk: Ethereum 2.0 Testnet Medalla Goes Live With 20,000 Validators
- Cointelegraph: Eth 2.0 Dev Shares Details of Upcoming Community Testnet
- Cointelegraph: Ethereum 2.0 Final Testnet Set to Launch on August 4
- Coindesk: Ethereum 2.0 Developers Announce ‘Final’ Testnet Before Network Launch
- Cointelegraph: Latest Eth 2.0 Testnet on Track for June Launch
- Cointelegraph: Realistic Ethereum 2.0 Multi-Client Testnet 'Targeting for June'
- Coindesk: Schlesi Testnet Is Latest Step in Long Road Toward Eth 2.0
- Blockonomi: Ethereum 2.0 Specter Grows with Launch of “Schlesi” Multi-Client Testnet
- The Block: Ethereum 2.0's Phase 0 multiclient testnets will likely go live in April
Resources:
- Video: EDCON 2020 Keynote - Final Road to Ethereum 2.0: Multi-Client Testnets
- Article: Schlesi is Dead, Long Live Witti!
- Notes: Longstanding MC-testnet(s)
- Article: How to run your own Beacon Chain
- Stack Exchange: What does the beacon chain deposit contract ceremony entail?
- Stack Exchange: How would a chain specification for a beacon chain look like?
Historical documentation:
- Analysis: Multi-client benchmark on Altona testnet 2020/07/16
- Analysis: Multi-client benchmark on Witti testnet 2020/06/22
- Analysis: A (DHT) Crawl Through The Witti Testnet
🕷 - Archived: Schlesi v0.11.2 ETH 2.0 Testnet
- Gist: Schlesi ETH 2.0 Multi-Client Testnet configuration
- Field notes: Towards a multi-client Ethereum 2.0 testnet
- Call: EF Research & Görli Testnet “Multi-Client Testnet for ETH 2.0”
Previous multi-client testnets:
Support
This project is supported by the:
- Görli Testnet Initiative - goerli.net
- Ecosystem Support Programme - esp.ethereum.foundation
Thanks
License
This is free and unencumbered software released into the public domain. For more information, please refer to unlicense.org