AIP-2: Activate support for account abstraction endpoint on One and Nova

Title
Proposal: Activate support for account abstraction endpoint on One and Nova

Author
Jason Windawi, Alchemy

Type
This is a Constitutional proposal.

Abstract
As part of the broader development of account abstraction standards and tooling, Ethereum researchers have proposed a new RPC endpoint eth_sendRawTransactionConditional that adapts L2 sequencers to the specific needs of ERC-4337 bundlers. Offchain Labs has contributed to this new method by developing, testing and incorporating adjustments necessary to support the endpoint for Arbitrum’s sequencer into Nitro with v.2.0.14, which is now live on the Arbitrum testnet. This AIP proposes that the Arbitrum DAO activate support for this endpoint on the One and Nova mainnets.

Motivation
EIP-4337 has created significant momentum for account abstraction across the EVM ecosystem. Among other innovations, the proposal split validation and execution into distinct steps in the process of bundling transactions for submission to an alternative mempool. This split introduced a potential issue for bundlers working on their L2 transactions.The delay between simulated transaction validation by the bundlers, and the final inclusion by sequencers, introduces a risk for reverting bundle submissions. This is due to the lag between the initial submission of a transaction and its ultimate inclusion, during which a smart contract account’s storage can change and invalidate the transaction. Reverted bundle transactions result in lost value for the bundler, discouraging operation of these services until the issue is addressed.

Ethereum researchers developed the eth_sendRawTransactionConditional endpoint to address this issue. This endpoint adds new options to the standard eth_sendRawTransaction endpoint that allow users to specify valid ranges for block height and timestamps. This will allow sequencers to reject transactions that don’t meet conditions for inclusion during the earlier validation stage, addressing the risk that in-account storage might change between validation and execution.

Offchain Labs developed, tested and implemented a version of the eth_sendRawTransactionConditional endpoint in the v.2.0.14 update to Nitro, and have since implemented the endpoint on the Arbitrum testnet. This proposal requests that the DAO approve activating this endpoint for Arbitrum mainnets.

Rationale
This proposal directly supports the DAO’s constitutional value of maintaining alignment with the broader Ethereum ecosystem. The eth_sendRawTransactionConditional endpoint was developed by the Ethereum Foundation to address the proposal’s implications for layer 2 sequencers. Variations of this endpoint are being actively explored and developed by prominent EVM L2s and others in the ecosystem, indicating that the need for this endpoint in the context of sequencer/bundler interactions is a known problem with the need for active work toward a solution.

Our proposal is also aligned with the DAO’s objective of ensuring decisions are sustainable over the medium and long term. As Arbitrum continues to push toward decentralization beyond Vitalik’s second milestone, the need for a flexible and secure endpoint for 4337-compliant transactions on Arbitrum will only become more critical.

Finally, the proposal is aligned with the Arbitrum community’s values of social and technical inclusion. By enabling one of the core features of account abstraction, Arbitrum’s ecosystem would have access to the enormous potential for improvements in UX and other benefits of account abstraction.

Specifications
PR # 1474 on Github provides a history of the development and testing done by Offchain Labs, as well as the multiple stages of review by the team before it was merged on April 11, 2023. Making the endpoint viable for Arbitrum entailed two key adjustments to the checks performed before transactions reach the sequencer. The most fundamental was a config value change to the load balancer. The protocol’s load balancer has historically limited the computational costs of processing transactions by setting the number of acceptable slots in a transaction to zero. The new endpoint’s design allows for up to 1,000 slots. To accommodate this increase for conditional transactions, PR 1474 removed this 0 restriction for Nitro and for the testnet.

Allowing conditional transactions also introduces a risk of DOS attacks spamming the protocol with transactions regardless of whether they meet the state conditions at the time they were submitted. To address this, Labs updated the Arbitrum sequencer’s pre-check to incorporate a backward-looking validity check of a given account’s state, meaning that transactions can only execute if they met their own conditions as of one second prior to submitting the transaction.

Steps to Implement
The work already done by Offchain Labs on this endpoint means that the steps to implement this AIP reduce to changing the load balancer config value as described above.

Timeline
Ideally ASAP, or as soon as is practical for Offchain Labs.

Overall Cost
The upfront costs for implementation should effectively be zero given the work done already by Offchain Labs.

30 Likes

Hi Jason! Just wanted to say that from SEED Latam we strongly support this proposal and that we really appreciate your effort in bringing this up. Personally, I don’t really see any reason why this shouldn’t proceed - Account abstraction is essential for the further development and growth of Arbitrum.

12 Likes

Thanks @cattin! Appreciate the support.

12 Likes

As an Arbitrum delegate and a co-author of ERC-4337, I strongly support this proposal and intend to vote for it. eth_sendRawTransactionConditional will help ERC-4337 bundlers operate safely and improve account abstraction support on Arbitrum One and Nova.

8 Likes

Support this prop! Account Abstraction will be a very important thing in the near future.

19 Likes

Great proposal, I endorse and vote in favor of it.

7 Likes

gm Great proposal, I endorse and vote in favor of it.

7 Likes

Thanks @BristolBlockchain, @galechus and @Dmitry76 - appreciate the support! And thank you @yoavw for posting the AIP to Snapshot!

13 Likes

Greetings, First of all, I appreciate your effort and motivation for writing such a detailed proposal and making it easy to understand for every member. I was pleased and satisfied while reviewing the proposal. I spent almost a year researching the Ethereum ecosystem and reviewing hundreds of roadmap updates. Although, I did not fully understand the concept of account abstraction for a long time and wasn’t entirely sure of how it works, I was able to learn according to EIP-2938 and EIP-4337, which I thoroughly reviewed thanks to this proposal. Watching the progress of Layer 2 in parallel with Ethereum is definitely fascinating. As one of the ITU Blockchain delegation committee members, I can say that we, the delegation committee, thoroughly examined this and found it interesting. More updates will come from us as a report. Thank you for your work Jason and thanks to Offchain Labs devs.

8 Likes

Greetings, Arbitrum.

As the delegation team, we’d like to thank Jason for submitting this proposal in order to expand the development of account abstraction in the Arbitrum ecosystem.

After examining the proposal, we held a meeting where we interacted with each other and shared our thoughts. We talked a lot about the technical concepts in the proposal, intent on keeping everyone on our team educated. In the end, everyone in the discussion decided to support Arbitrum’s action in the name of account abstraction. Some major topics were discussed during our call in order to make account abstraction more precise for everyone. We review previous EIPs about account abstraction and how it operates with Ethereum. We looked at how the functioning of account abstraction differs between Ethereum and Layer 2 to understand the rationale behind this endpoint. Besides, we specifically discussed how allowing conditional transactions raises the risk of DOS attacks and how Offchain Labs works to avoid this.

We’re voting in favor of this proposal and hoping to see more big steps like this from the entire Ethereum ecosystem. Congratulations on coordinating with Ethereum and taking such an initial step in improving the user experience.

11 Likes

Very grateful to @0xdilara for the thoughtful comments, and to their colleagues at @ITUblockchain for this thorough review and decision process!

10 Likes

Blockworks Research is voting in favor of this proposal that enables account abstraction. The ability to create smart contract wallets allows a new layer for innovation on Arbitrum. The potential benefits to UX are immense.

9 Likes

We appreciate it, sir :pray:t2: :writing_hand:t2:

6 Likes

Thanks @BlockworksResearch! And that’s a great twitter thread.

8 Likes

Good proposal, worth supporting

2 Likes

Thanks for the support @Claude! :pray:

3 Likes

UPDATE:
After passing the temperature check, this proposal is now live for voting at Tally | Arbitrum Proposal. A huge thanks to @yoavw for posting the vote to Tally, and to the community for all the support so far!

2 Likes

:pray:its worth it . And very helpful I’m new here is there anything I need to know

2 Likes

Yes, in favour of this.

2 Likes

Thanks for the support @5ty and @Jonezee!

3 Likes