🙏 Project idea provided by the 4337 account abstraction team.
Account Abstraction is implemented out-of-protocol with ERC-4337, a protocol where Users generate UserOperations (UserOps), which are packaged by a Bundler into a single regular (EOA) transaction, referred to here as a bundle. The bundle is posted to the EntryPoint smart contract, which iterates over all operations in the bundle, validating them before proceeding with their execution.
UserOps may refer to an Aggregator whose role is to aggregate signatures of multiple UserOps into a single signature, amortizing the gas overhead of signature verification during the validation step.
Currently, the Aggregator may not be incentivised to perform the optimal aggregation, collecting instead more fees whenever more gas is used overall by the bundle. The user could try to force the Aggregator to do a more optimal job by lowering the fee offered, since the Aggregator would then only be compensated if it aggregated enough UserOps to offer a low fee to the user. But the user does not know the current number of aggregatable UserOps sitting in the alt-mempool, so they cannot precisely target the optimal fee to offer.
In this ROP, we investigate the design of a mechanism to align the Aggregator and the Users incentives. The Aggregator should perform as much aggregation as possible, i.e., allow for the minimum consumption of gas by the bundle. The User should pay the lowest fee necessary to compensate the Aggregator for its service.
The introduction of ERC-4337 in Ethereum has attracted significant attention due to its potential to simplify UX interactions without the need of creating an externally owned account (EOA). What makes it different from previous attempt such as the EIP-2938 is its ability to achieve this without requiring changes to the consensus protocol layer.
Extensive exploration in the literature has focused on different implementations of account abstraction. The most recent version of ERC-4337 [1] provides a comprehensive explanation of this concept. A notable challenge within ERC-4337 involves the aggregator, a crucial entity that facilitates signature aggregation to reduce transaction costs for users.
Current aggregation practices encounter optimization challenges, particularly when users specify a fee which incentivises bundlers to consume more gas. This can result in suboptimal aggregation, prioritizing transactions with higher gas fees. Relatedly, Yoav, a primary author of the ERC-4337 proposal, has researched censor resistance challenges in detailed notes [2]. Further insights are provided by Vitalik's roadmap [3] from a couple of years ago, which serves as explanation on inclusion lists.
Despite these contributions, there exist notable gaps in the literature, especially concerning the intricate dynamics of bundler fees and aggregator functionality. Ongoing research in these domains is in its nascent stages, with discussions and developments accessible on platforms such as GitHub (Infinitism) and ETHmagician [4]. Additional perspectives on aggregator functionality are available at Stackedup [5] and Alchemy [6]. These emerging dialogues and inquiries signify a current gap in the literature that merits further investigation to comprehensively understand and address the challenges posed by bundle fees and aggregator optimization in ERC-4337.
[1] https://github.com/eth-infinitism/account-abstraction/blob/develop/eip/EIPS/eip-4337.md
[2] https://notes.ethereum.org/@yoav/unified-erc-4337-mempool
[3] https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap
[4] https://ethereum-magicians.org/t/erc-4337-account-abstraction-via-entry-point-contract-specification/7160
[5] https://www.stackup.sh/blog/understanding-aggregators-in-erc-4337
[6] https://www.alchemy.com/blog/account-abstraction-aggregate-signatures