It feels like a lifetime ago that we released a unicorn pig hybrid into the world. Today, we’re unveiling our most significant improvement to Optimistic Ethereum since its inception.
This is a massive step towards our mission of bringing native Ethereum to layer two. Contracts will deploy with the click of a button. The tooling you know and love will just work. And it’s all built around Ethereum’s most secure client codebase.
The rollout begins in a few weeks.
Building core infrastructure is hard, and battle-testing new science takes time — just ask any seasoned Ethereum developer how far today’s tooling has evolved from the early days.
Building an EVM-compliant rollup poses an even greater challenge: supporting the entire Ethereum stack within the new science. Re-implementing security-critical EVM features is costly; every additional line of code introduces the risk of vulnerabilities.
This is why we have continually asked ourselves: “What are the fewest lines of code that can scale Ethereum?” We first got addicted to deleting code when a contributor replaced our 5,000 line transpiler with a 300 line brilliancy. And now, in a twist of fate — it’s time to delete his code too.
Armed with years of knowledge gained deep in the belly of the Ethereum Virtual Machine, we took some time to re-evaluate our initial assumptions and see what could be improved. The result: a rollup which extends beyond EVM compatibility, to EVM equivalence. By precisely enforcing the Ethereum Yellow Paper, anyone who has written code targeting Geth can now deploy without change — even for advanced features like traces and gas. The upgrade removes our custom compiler, and over 25,000 lines of other code, in favor of simply using what already exists.
Our minimalist philosophy also provides unique scalability at the social layer. By building on top of an existing Ethereum client (Geth), we inherit any improvements made to Ethereum client code and vice versa — a win-win for the entire Ethereum ecosystem. Our ultimate goal is to make alternative node implementations (e.g. OpenEthereum or Erigon) possible in under 1000 lines of code.
WAIT SO… DOES THAT MEAN…
YES. It means one-click deploy is coming in October. You can view the full changeset here, and keep a look out on twitter and discord for finalized dates coming within the next week.
Projects that have been itching to deploy but haven’t been able to work around the custom compiler can now deploy with no modifications to their code. Any tooling that can run on Ethereum will run identically on Optimistic Ethereum. Yes, that means you will be able to use DappTools on L2 😉, as well as Vyper, Tenderly and Hardhat!
Nothing changes about our current security model with this release — OE is still running in single-sequencer mode with full upgrade keys. If you want to follow along with our progress decentralizing the protocol, then you should…
Come build the future of Ethereum
This upgrade also marks the beginning of a new chapter for Optimistic Ethereum. Deleting code is only possible once you understand how to do it right, but we don’t just want everyone to understand — we want to see you contribute!
We’ve always developed our code in the open, but, with this upgrade, it’s time to move that transparency even further up the R&D stack. The newly created optimistic-specs repo will serve as the new source of truth for our development of an open Ethereum rollup protocol with maximal compatibility. There you can find specifications, ongoing research, and a development roadmap that anyone is more than welcome to contribute to! 🙌
We are incredibly grateful to Protolambda, Lightclient, and the Magmo team for their invaluable expertise and early contributions, having written some of the PoCs & specifications found there.