It’s Nitro time
tl;dr Arbitrum Nitro is ready, and today we’re launching a full-featured Nitro devnet built on Ethereum’s Görli testnet. We’re also opening up the codebase and detailing our plans for a seamless Arbitrum One migration. Arbitrum Nitro is the most advanced rollup stack ever built, and it enables massively higher throughput and lower fees. Start building on the Nitro devnet here. Get ETH from our Twitter faucet here.
Wen Nitro? Now Nitro!
Well, let’s back up. Hello! It’s been a while since we’ve posted a technical status update, and oh do we have an exciting one today. After an incredible full-team effort, we couldn’t be more excited to announce: Nitro is ready! Arbitrum Nitro is the most advanced Ethereum scaling stack, and today, we’re opening up the complete Nitro codebase and launching a permissionless devnet built on top of Görli, for everyone to get their hands on the Nitro experience. It’s a huge step forward for Arbitrum and a huge step forward for scaling Ethereum.
“Wait hang on a second,” you say. “Isn’t Arbitrum already a fully built out general purpose rollup with working fraud proofs? Why do we need Nitro?”
I’m glad you asked. Nitro will massively increase network capacity and reduce transaction costs. Today, we throttle Arbitrum’s capacity, but with Nitro we’ll be able to release those controls and significantly up our throughput. And while Arbitrum today is already 90–95% cheaper than Ethereum on average, Nitro cuts our costs even further.
“Wait, but does that mean you’re resetting Arbitrum? Will old state be deleted?”
No, that’s the coolest part. When we eventually migrate Arbitrum One over to Nitro, it’ll be a seamless migration from the current stack to the Nitro stack, so users will have an uninterrupted experience — well the only thing they’ll notice are reduced fees, increased capacity, and an overall faster experience.
So what exactly are we launching today? Well, let’s begin with what we’re not launching. This is not a proof-of-concept or a single component that we’re testing. This is the fully built-out production implementation of Arbitrum Nitro stack with every component fully implemented and working together — the fraud proofs, the sequencer, the token bridges (we’ll enable withdrawals later this week), advanced calldata compression, you get the idea — everything!
The Nitro stack is also incredibly flexible, and allows us to quickly build new scaling modes on top of it. Indeed, today’s release is also a first peek at the technology behind Arbitrum AnyTrust chains, which we’ve implemented on the Nitro stack. Announced a few weeks ago, Arbitrum AnyTrust chains will provide a highly secure and even cheaper scaling solution that is optimal for gaming and social applications.
What is Nitro?
The Nitro stack is built on several innovations. At its core is a new prover, which can do Arbitrum’s classic interactive fraud proofs over WASM code. That means the L2 Arbitrum engine can be written and compiled using standard languages and tools, replacing the custom-designed language and compiler we use today.In normal execution, validators and nodes run the Nitro engine compiled to native code, switching to WASM if a fraud proof is needed. Now here’s the coolest part: we compile the core of Geth, the EVM engine that practically defines the Ethereum standard, right into Arbitrum. So our current custom-built EVM emulator is replaced by Geth, the most popular and well-supported Ethereum client.
The last piece of the stack is a slimmed-down version of our ArbOS component, rewritten in Go, which provides the rest of what’s needed to run an L2 chain: things like cross-chain communication, and a new and improved batching and compression system to minimize your L1 costs.
Essentially, we’re now running Geth at layer 2 on top of Ethereum, and proving fraud over the core engine of Geth compiled to WASM. Building Nitro was an incredible feat of engineering–not only building the components but making them work together as an integrated whole– and we had to solve several research and engineering issues along the way. It was a full team effort to pull it off, and the coolest part is that the code is now all public, so you can check it out yourself. You can also request ETH on the devnet via our Twitter faucet.
For those looking at the source code, you’ll notice that during the devnet period, we have licensed the Nitro stack under a Business Source License, similar to our friends at Uniswap and Aave. Before mainnet launch, we will be re-licensing the code in a more permissive fashion to ensure that everyone can have full comfort using and running nodes on Arbitrum One.
What happens next?
The ultimate goal is to migrate Arbitrum One to the Nitro stack, and here is the series of events that will lead up to this.
- Nitro Devnet usage. Today’s devnet release is the first step, and the next step is for the community to try it out! If you’re a developer, please check out the devnet and build on it. It should work quite seamlessly, but if anything seems off or you have any questions, please reach out with feedback! As we approach mainnet launch and incorporate feedback, we will likely reset the devnet a few times, so please plan accordingly.
- Arbitrum Rinkeby Migration. Once the devnet has some mileage behind it, we will be migrating the Arbitrum Rinkeby testnet to the Nitro stack, maintaining the state of all accounts and contracts, to ensure that the upgrade process is seamless before we deploy it on mainnet.
- Arbitrum One Migration. Finally, we will seamlessly migrate Arbitrum One to the Nitro stack.
We’ll follow up with concrete dates around the Rinkeby and mainnet migration, but again we want to stress that other than a few hours of planned downtime, we do not anticipate any user interruption during those transitions, and all chain state will be preserved.
Today’s launch is an incredible milestone for our community and for the efforts to scale Ethereum. But Nitro is just the beginning, and it’s important to keep sight of the larger picture and realize how early we are. A year ago, just about anyone would have told you that building a Nitro-like system was impossible. But we continued on that path, questioned our assumptions, and were able to pull it off. And we’re far from done. We’re building the plumbing and foundational infrastructure of web3, and we have lots of exciting work to do to get there including launching Arbitrum AnyTrust chains, continuing our work on decentralizing the sequencer, and continuing to question our assumptions and develop new ways to further improve Ethereum scaling.
Our team has now built not one, but two complete Optimistic Rollup stacks, and while we’re excited by our progress, it’s the community that gives us the strength and support to continue this work. It’s been a long journey to get to where we are today, and we have a long road ahead, but we thank you all for your continued love and support. We thank each and every one of you — the incredible teams building alongside us, the amazing community of users that regularly transact on Arbitrum, and the people that support us and cheer us on on Twitter and Discord. Ethereum belongs to all of us, and we could not be here without you.
And for those community members that would like to get even more involved, we’re hiring in just about every area, so please check out our jobs page, and get in touch. There’s a lot of work to be done, and we need your help. 💙