This AIP proposes a number of improvements to Arbitrum chains, including the capability to leverage EIP 4844 to post batches of L2 transactions as Blobs on L1 Ethereum at a cheaper price. The proposal also includes support for most of the changes included in Ethereum's Dencun upgrade and 2 improvements to batch posting for Arbitrum One and Nova. The proposed ArbOS 20 “Atlas” upgrade will be ready for adoption by any Arbitrum Chain; this proposal concerns the Arbitrum One and Nova chains, as they are governed by the Arbitrum DAO. On a high level, an ArbOS upgrade can be seen as Arbitrum’s equivalent of a hard fork - more can be read about the subject over in Arbitrum ArbOs upgrades.
This AIP combines following two temperature checks: AIP: ArbOS Version 20 “Atlas” and AIP: Batch Poster Manager and Sequencer Inbox Finality Fix - both of which have passed.
Please note that ArbOS Version 20 “Atlas” is an upgrade that builds upon ArbOS version 11 which has been adopted by the ArbitrumDAO - this proposal increments the version number to 20 instead of 12 due to technical details that allow for better Orbit chain customizability.
With ArbOS 20 “Atlas”, any Arbitrum chain that settles on L1 Ethereum will be able to post transactions as either calldata or “blob-data” - the latter of which is to be introduced in EIP-4844 as part of Ethereum’s Dencun upgrade.
Some notes on how this is implemented for Arbitrum:
This AIP includes a number of upgrades that enable Arbitrum chains to utilize EIP-4844:
Nitro core changes:
Current full code diff can be viewed via this link: https://github.com/OffchainLabs/nitro/compare/consensus-v11...finalize-arbos-20. Alternatively, the code diffs are attached below:
PRs:
Nitro smart contract changes:
Current Full Diff: https://github.com/OffchainLabs/nitro-contracts/compare/main...arbos-20-diff
PRs:
Ethereum’s Dencun upgrade is technically a combination of two upgrades: one to the Execution Layer and another to the Consensus Layer, named Cancun and Deneb, respectively. While the Consensus Layer upgrades are not applicable to Nitro (since Nitro is Arbitrum One and Arbitrum Nova’s execution engine), some of the Execution Layer changes are, including EIP-1153 as described above. The full Cancun network upgrade specification for Ethereum can be found here.
Nitro’s upgrade to ArbOS 20 adds support for three specific EIPs from Cancun, those being:
TSTORE and TLOAD, offering a cheaper option than storage for data that’s discarded at the end of a transaction.MCOPY EVM opcode introduced in EIP-5656 for cheaper memory copying.SELFDESTRUCT EVM opcode, as outlined in EIP-6780.Since Nitro uses Geth at the Core, the above 3 EIPs were implemented by merging in a Cancun-supported version of Geth upstream. More specifically, Geth version 1.13.1 was merged into Nitro’s go-ethereum fork here:
https://github.com/OffchainLabs/go-ethereum/pull/284
With the above merged, the below PR is used to enable the Cancun fork in ArbOS 20.
https://github.com/OffchainLabs/go-ethereum/pull/285
Batch Poster Manager:
Currently, both Arbitrum One and Arbitrum Nova, each have a single address that is granted the batch-poster role (this is currently the same as the Sequencer). The Sequencer posts batches frequently, and thus the batch-poster address must be controlled by a hot wallet. This means that if the batch poster’s keys were compromised, Sequencing could be unstable until the DAO took action.
This AIP proposes a system in which a “batch poster manager” role is granted to the operator of the Sequencer which has the ability to grant and revoke batch-posting affordances. This way, the batch poster manager could perform key rotations for the batch posters— routinely, and/or if a batch poster address is ever compromised — quickly and without the DAO needing to take coordinated action. Note that this proposal does not change the sequencer, but more so allow for easier key rotations on the batch poster.
Crucially, this would not represent a change on the current system’s trust model:
... please visit link below to view full proposal