After numerous discussions with the whole l2beat team we have decided to have another round of community feedback before finally releasing our implementation of a “rollup maturity ranking” which is our interpretation of what has been proposed by Vitalik in his ethereum magicians’ post.
We understand that no proposal will be perfect. Different projects have different roadmaps and different ideas of what is the best way to achieve a common goal, i.e. fully decentralized, permissionless scaling solution that ultimately is fully secured by Ethereum.
The main problem with any type of roadmap or ranking is that it is linear, not multi-faceted. For example you may have a construction which has a fully decentralized sequencer and is upgradable with a significant time delay however it has no running fraud proof / validity proof system. Other construction may have deployed fraud proof / validity proof system, however it has centralized sequencer that can censor users’ transactions and it is instantaneously upgradable. Which of these two constructions are further down the road? They are clearly in different places and taking different paths towards what is hopefully the same goal.
Presenting complete and nuanced information makes it harder to see the big picture and quickly assess the state of specific projects or the whole ecosystem. At the same time a simple ranking with clear steps for moving forward will encourage projects to take the necessary steps towards better security and decentralisation, and reward (at least symbolically) those projects that actually make progress.
With our proposal we would like to make sure that the assessment of maturity is easy to understand for the end users but at the same time it does not miss important details / caveats.
We think that each Rollup may be progressing towards the ultimate state somewhat independently on three primary dimensions:
- Running Fraud Proof System / Validity Proof System (no plans, under construction, deployed on testnet, deployed on mainnet but behind whitelist, deployed on mainnet and available permisonlessly)
- Upgradability (instant upgradability by EOA, instant upgradability by community MultiSig / Security Council, upgradability behind timelock with built-in override mechanism, etc…)
- Decentralisation / Existence of Escape Hatches, etc… - central sequencer, permissionless sequencer, existence of L1 force-queues, escape hatches, etc…
On each of these dimensions different constructions may be more or less mature.
The highest maturity ranking (“A”) would be reserved for a Rollup that essentially is mature in all three dimensions. Provided no bugs in implementation, these constructions are essentially “secured by Ethereum” with potentially some small caveats.
The next maturity ranking (“B”) would be reserved for a Rollup that has a running validity / fraud proof system but it misses on one or both of the remaining areas. This is to acknowledge that having running fraud/validity proof is arguably the most difficult part of the Rollup and having it in a production is a major achievement for any team. At the same time these constructions may be stil instantly upgradable or they may temporarily have no mechanism for censorship resistance.
Finally, the “C” ranking would be reserved for Rollups that do not have validity / fraud proof system deployed on the mainnet.
Apart from the main ranking (“A”, “B”, “C”) we might add one or two “-” signs if there is one or more areas of additional concern. Similarly we might add “+” sign if a Rollup has some additional feature that is noteworthy (for example running validity/fraud proof on a testnet for a “C” ranked rollup). A full objective list of criterias that need to be met to have “+” or “-” modifiers will be published.
This “maturity ranking” largely corresponds with stages as proposed by Vitalik. The basic criterias are the same, however it adds some more nuances. Additionally some extra information can be added summarising what needs to be done to have a higher maturity ranking.
Graphically instead of a simple Stage designation that could be presented to the end users like this:
We would present more detailed information as depicted on the mockup below:
We are gathering the final feedback from the community - is this proposal going in the right direction and - if so - what should be the exact and specific criteria for assigning “A”, “B”, “C” rankings and how “+” and “-” should be added, or should we stick with the original Stages as proposed by Vitalik.