[CONSTITUTIONAL] AIP: ArbOS Version 40 Callisto

Type: Constitutional AIP

Abstract

This AIP proposes to upgrade Arbitrum One and Arbitrum Nova to ArbOS 40 “Callisto”. Callisto adds support for relevant Execution Layer (EL) changes from Ethereum’s upcoming Pectra upgrade (H1 2025) and a small Arbitrum Stylus related fix. Among the EL changes include a way for Externally Owned Accounts (EOAs) to execute smart contract code directly from their addresses (via EIP-7702) and new pre-compiles to efficiently perform operations over the BLS12-381 elliptic curve, including those for BLS signature verification (via EIP-2537).

While the goal of the proposed ArbOS 40 “Callisto” upgrade is to eventually be available for adoption by any Arbitrum Chain, this proposal only concerns the Arbitrum One and Arbitrum Nova chains, as these two chains are governed by the Arbitrum DAO. On a high level, an ArbOS upgrade can be interpreted as Arbitrum’s equivalent of a hard fork - more can be read about the subject over in Arbitrum ArbOS upgrades here.

Please note that ArbOS Version 40 “Callisto” is a proposed upgrade that builds upon ArbOS version 32 which has been previously adopted by the ArbitrumDAO - this proposal increments the version number to 40 instead of 33 due to technical details that allow for better Orbit chain customizability as explained here.

Changes that will be included in ArbOS 40 Callisto:

EIP-7702: Set EOA Account code

EIP-7702 introduces a new transaction type that allows Externally Owned Accounts (EOAs) to set executable code adding account-abstraction functionality to EOAs such as delegation, batching, sponsorship, and privilege de-escalation. In terms of batching, multiple operations can be combined (ex. token approval, token spend) in an atomic transaction. Transaction sponsorship or paymaster support can also be extended to EOAs. Discrete permissioning can also be enabled with the use of sub-keys.

EIP-2537: Precompile for BLS12-381 curve operations

This EIP introduces precompiles for performing cryptographic operations on the BLS12-381 curve and focuses on enhancing the efficiency and security of those operations. This cryptographic primitive unlocks 120+ bits of security for operations over the pairing-friendly curves, compared to the existing BN254 precompile which only provides 80 bits of security. BLS signature verification is the primary use case for this EIP, though many other applications that rely on point additions, multiplications, and pairing operations stand to gain from this proposal; examples are zkSNARKS, cross-chain interactions, randomness beacons, and vector commitments.

EIP-2935: Serve historical block hashes from state

This EIP proposes storing a wider window of block hashes in the storage of a dedicated system contract. Bundling historical block hashes within the state enables efficient data retrieval for applications that require extended access to historical block hashes, like stateless clients. If approved, ArbOS 40 will adapt this EIP to the L2 and store the same number of L2 block hashes that are generated in the time it takes for 8192 L1 blocks to be built - this is approximately 27 hours worth of L2 block hashes.

Minor Stylus fix to correct caching behavior for contracts that do not exist

Currently, Stylus will cache results from calling account_code and account_code_size for a contract that does not exist. We would like to propose a fix to address this so that the call returns the correct information that properly reflects the latest state of the contract’s code or code size. This change will not increment the Stylus version and so a re-activation of already-deployed Stylus contracts will not be required.

Pectra changes that are not included in the proposed ArbOS 40 Callisto Upgrade

Support and implementation for the following EIPs are not planned to be part of ArbOS 40 Callisto:

  • All Ethereum Consensus Layer (CL) Pectra changes (EIP-6610, EIP-7002, EIP-7251, EIP-7549, EIP-7691) because Arbitrum chains do not have a beacon chain and therefore do not have a peer-to-peer layer like Ethereum does.
  • EIP-7623: Increase calldata cost: because block size variance is less of a concern on Arbitrum chains. This is because of two reasons. First, Arbitrum chains do not require nodes to send blocks over the network through its peer-to-peer layer and instead rely on the parent chain’s RPC to retrieve block data. Secondly, because Arbitrum block sizes are already limited to ~100KB and so increasing calldata cost is not expected to reduce Arbitrum block sizes.
  • EIP-7685: General purpose execution layer requests: because Arbitrum chains do not have a beacon chain and, therefore, there is nothing to request from the EL on Arbitrum chains.
  • EIP-7840: Add blob schedule to EL configuration files: because Arbitrum chains do not support posting blobs on the rollup (but otherwise still does support posting blobs to Ethereum L1).

Steps to implement

More detailed information about the specific implementation and versions will be provided closer to the date of the formal on-chain Tally vote. However, this proposal will roughly follow the below steps:

  1. An AIP outlining the proposed upgrade and specification is proposed to the ArbitrumDAO Forum for discussion (this post)
  2. A temperature check vote is held on Snapshot
  3. Engineering work to scope out and implement the relevant changes for ArbOS 40 Callisto into the Nitro node software, relevant rollup contracts, and associated upgrade actions (this work has already begun).
  4. A security audit of all ArbOS 40 relevant changes is conducted by a third-party (Trail of Bits) and the audit report is published for public consumption.
  5. A new version of Nitro and nitro-contracts is released that support ArbOS 40 Callisto.
  6. Should the Snapshot vote pass, then ArbOS 40 Callisto will be deployed to both private devnets & Arbitrum Sepolia for testing.
  7. A formal AIP and call-to-vote is proposed to Tally for the on-chain vote.
  8. If the Tally vote passes, ArbOS 40 Callisto will be activated on Arbitrum One and on Arbitrum Nova following the required waiting periods and phases, as outlined in the ArbitrumDAO Constitution for a Constitutional AIP.

Note on Pectra hard fork timelines:

Similar to the ArbOS 20 Atlas upgrade and the Ethereum Dencun hard fork in March 2024, the activation timestamp for ArbOS 40 Callisto will be targeted for roughly the same timestamp as when Ethereum Mainnet hard forks. At the time of writing and as of the latest All Core Devs Consensus (ACDC) Call #150 held on Feb 6th, 2025, the timestamp of the Ethereum Mainnet fork for Pectra is targeted for April 8, 2025. The tentative dates for Ethereum Holesky and Ethereum Sepolia to upgrade to Pectra are Feb 24, 2025 and March 5, 2025, respectively. The exact slot for mainnet Ethereum is expected to be chosen on March 6, 2025.

Given that the L1 client teams are planning to release their Pectra-supported versions by Feb 13, 2025 and that the required steps for a Constitutional AIP can take up to ~41.4 days (not including engineering and audit), there is a strong likelihood that ArbOS 40 Callisto will be activated on Arbitrum One and Arbitrum Nova after Ethereum Mainnet upgrades to Pectra (if the ArbitrumDAO votes to adopt this proposal). We will endeavor to keep this proposal updated as timelines become more concrete.


12 Likes

I may not be able to talk tech-wise here a lot, but I am in favour. Arbitrum is showing that its really trying hard and pushing the chain with updates and features, like recently with BoLD.
I am curious to see comments from other delegates.

Glad to see the proposal to support Pectra! When is the snapshot estimated for? Also, could there be any issues in the future with not adopting 7623 and having different calldata costs?

Like @EzR3aL I dont have technical background but from what im reading we’re leveling up our gear to stay aligned with Ethereum’s Pectra upgrade. Makes sense, being Ethereum aligned is key for Arbitrum’s growth and token value.

I trust the Arbitrum devs on this one, they’ve been solid on previous upgrades. I’m also curious to read more from technical folks.

1 Like

The following reflects the views of L2BEAT’s governance team, composed of @krst and @Sinkas. It’s based on their combined research, fact-checking, and ideation.

Our research team reviewed the proposal and didn’t find anything contentious or concerning from a technical implementation standpoint. Given that, and unless something changes before the proposal goes to a temp-check vote, we’ll be voting for it when it’s put on Snapshot.

However, as with other such proposals in the past, we’re committed to verifying the contents of the executable when the proposal moves to an onchain vote.

2 Likes

Good and detailed description of the changes, and useful rationale for the EIPs that will not be applied.
I have a question about the update date.

Can something not work correctly in Arbitrum if the Ethereum network is already updated, but Arbitrum is not?

Overall, the Callisto upgrade appears to be a substantial step forward for Arbitrum in keeping up with Ethereum’s roadmap and we are in favour of it.

Our only question @Arbitrum is whether developer tooling gaps and overall readiness have been accounted for to ensure a smooth transition amongst Arbitrum builders.

Hello! Thanks for this exciting news!

I have a few questions:

  • About the process itself, can you clarify the difference between steps 2 and 6? I’m assuming this is the same vote (step 2), correct? And the steps 3-6 will follow that.

About the timeline

  • Do you have an update regarding the releases that were supposed to happen on Feb 13th?
  • This sentence: “there is a strong likelihood that ArbOS 40 Callisto will be activated on Arbitrum One and Arbitrum Nova after Ethereum Mainnet upgrades to Pectra (if the ArbitrumDAO votes to adopt this proposal).” is mere informative or there is anything we should be aware of?

Entropy has posted this proposal to Snapshot on behalf of the Arbitrum Foundation. The vote will begin in roughly an hour.

1 Like

Im Voting FOR on Snapshot, I read the update details, And i like how this innovates the transaction types, especially that multiple operations will be able to be combined in the same transaction for EAOs.

This is an Easy Yes.

We’re voting FOR this proposal on snapshot

Rationale -
Pectra is a hard fork on Ethereum promising major upgrades for usability and efficiency and this proposal also improves Stylus.

Supporting it is a no brainer as it brings benefits to Arbitrum, compabiltity with Ethereum, and also signals alignment with the Ethereum Roadmap and values.

LobbyFi’s rationale on the price and making the voting power available for sale for this proposal

For this technical proposal, which is important to the broad Arbitrum ecosystem, LobbyFi will make the auction available and will attempt to price the proposal so that no unwanted outcome occurs. LobbyFi will price it at 0.1% of its current VP value (19,921,949 ARB * 0,5 $/ARB * 0.1% ≈ 3.5 ETH).

I voted FOR the proposal. I especially like the EIP-7702 changes which will improve user experience, of course after clients (frontends) implement support for this upcoming functionality. Also, the cryptographic precompiles will enable some cool new dApps, I’m looking forward to that too!

Without question voting in favor of this proposal.
Confident the Callisto release will provide robust support for Ethereum’s upcoming Pectra upgrade as outlined in the AIP specifications.

I voted for, but would like to have my questions answered :wink:

I will be voting FOR on Snapshot. The full technical implications of this upgrade are far beyond my scope, but with Ethereum’s latest updates is necessary and it covers Arbitrum’s main chains, so no further comment. Good enough for me.

We support ArbOS 40 “Callisto” because it prepares us for Ethereum’s upcoming Pectra upgrade in a straightforward way. It lets EOAs run smart contract code (EIP-7702), boosts our cryptographic operations with enhanced BLS support (EIP-2537), and extends access to historical block data (EIP-2935), along with a minor Stylus caching fix. Honestly, there’s not much more to add, it’s a clean, necessary upgrade.

Voted For: This upgrade is necessary to follow the Ethereum roadmap and also aligns Arbitrum with all EIPs. The Callisto upgrade will bring better functionality and developer experiences. I have full trust in the development team to execute on this upgrade. This is why I support the proposal.

I have voted in favor of this proposal. Even if I am not deeply technical, Callisto seems to be a crucial update to ensure Arbitrum’s compatibility with Ethereum post-Pectra. I don’t find anything controversial in this proposal and would like to thanks Arbitrum devs for their work on this.

Despite not having a technical background, my initial thought was that we’re leveling up our gear to stay aligned with Ethereum’s Pectra upgrade, and that makes sense. Also, I trust Arb devs, and there are no major concerns in this thread, which is why I’m voting for it.