Proposal: Predictable Ethereum Testnet Lifecycle
This proposal is one of the results of the previous discussion in the testnet workgroup with client teams and application developers. We seek general feedback from the Ethereum community on the following plan.
TL;DR
- launch a new testnet every two years on a defined date, e.g., Oct 1st, 2023, 2025, 2027, etc.
- limit lifetime of testnets to five years maximum (four years plus one year long-term support if necessary)
- extend Goerli long-term support for another two years till 2024 if possible (depending on the outcome of the supply issue discussion)
Problem Statement
The current situation of deprecating multiple testnets at once in preparation for the merge with only a few weeks’ notice caused some frustration among application developers and infrastructure providers. The supply issues on the Goerli testnet added to this, unfortunately.
As it stands, post-merge there are only two major testnets available (youtube#1UtcvVve32A):
- Goerli, which is the only testnet for public testing of staking infrastructure (permissionless)
- Sepolia, which primarily targets application developers due to its permissioned nature
However, the better and more widely available infrastructure for Goerli prompted many application stacks and layer-2s to migrate to Goerli instead of Sepolia. Both, the network effect of already existing applications on Goerli and the lack of communication for best practices prior to the testnet deprecation and the merge may have caused this.
There are efforts to address the Goerli supply issues through the Capella protocol upgrade on the Prater consensus layer for Goerli through boosted withdrawals (ethereum/consensus-specs#3073). This would hopefully allow extending the lifetime of the testnet drastically. Simulations and technical discussion is currently still outstanding (eth-clients/goerli#135).
Proposed Lifetime
It is proposed to limit the lifetime of a public Ethereum testnet predictably to four years after genesis and allowing to consider one additional year of long-term support, in case networks are heavily used, to a maximum of five years. After the end-of-life date of a testnet, it will no longer receive support from client teams.
In addition, a new testnet will be launched every two years respecting a predetermined schedule. Both client teams and infrastructure providers should commit to support these schedules to allow application developers preparing necessary migrations in advance.
Such a schedule will allways guarantee the availability of at least two public testnets for every stakeholder in the ecosystem. A migration of applications will only be necessary every four years on average given the proposed schedule.
Applied Schedule
Applying the schedule to the existing testnets would result in Goerli already entering the long-term support phase in Q1/2023. However, since there is currently a lot of migration happening to Goerli, it should be extended by two years till at least 2024. (Update, this is not going to be fixed, so we have to sunset Goerlin in 2023.)
Starting with Sepolia Goerli, we commit to the previously defined 4+1 schedule.
Testnet | Flavour | Genesis | LTS | EOL | Status |
---|---|---|---|---|---|
Olympic | PoW | Q1/2015 | No | Q3/2015 | Dead |
Morden | PoW | Q3/2015 | No | Q4/2016 | Dead |
Ropsten | PoW | Q4/2016 | No | Q4/2022 | Dead |
Kovan | PoA | Q1/2017 | No | Q4/2019 | Dead |
Rinkeby | PoA | Q1/2017 | 1 year | Q2/2023 | EOL |
Goerli | PoS | Q1/2019 | 1 year | Q4/2023 | LTS |
Sepolia | PoA | Q4/2021 | 1 year | Q4/2026 | Live |
Holesky | PoS | Q4/2023 | 1 year | Q4/2028 | Planned |
TBD | PoA | Q4/2025 | 1 year | Q4/2030 | Planned |
The next testnet would be launched end of 2023 to prepare for the Goerli shutdown.
Any feedback and comments both by client teams but also application developers are much appreciated.