The current state of Account Abstraction

GM Everyone!

I have a couple of motivations to write this blog. Firstly, to help you understand what all work is pending for the wide adoption of EIP-4337. Secondly, tell you about how you can help in accelerating the process by contributing.

The flow of a userOperation in EIP-4337
The flow of a userOperation in EIP-4337

Above is how EIP-4337 makes smart contract wallets a reality. We can start developing smart contract wallets, paymasters, etc compatible with EIP-4337 with a relayer service today. But for it to become the norm & completely decentralised there is some work left. Let’s look at all the parts one by one and see where the work is left.

User: ERC-4337 web & native Client SDK

The journey of any userOperation starts with a client. There is no support for eth_sendUserOperation from any wallet and Walletconnect also lacks the documentation for the above function as of 15th Aug 2022.

If you have used Walletconnect or are a part of the organisation, I would love to get in touch & understand how I can contribute to add support. This will be one of the biggest blockers in its wide adoption.

Bundler: UserOp Block Builder

Like miners, we have bundlers in EIP-4337. Support for bundling userOperations hence is necessary for the nodes. We also need to have DoS protection, for eg, there should be only ONE userOperation in the mempool at any point in time. Every implementation of the bundler must have the DoS protection module.

Nethermind is one of the first organisations to have support. Their c# node is running on Görli for full support as of now, while their Go implementation (forked from MEV-Geth) is in progress.

We currently lack the implementation for other nodes & L2s. We hence would need help in adding support to Geth, Erigon, Optimism, Arbitrum, Polygon etc.

Usage: Documentation and tutorials

One of the major sources of how EIP-4337 work is the official documentation itself, link: https://eips.ethereum.org/EIPS/eip-4337.

But it is quite technical and not useful for everyone. This is where the initiative from Infinitism & ERC-4337 Fan Club comes to help us with the launch of eip4337.com. This though as you can see is almost empty.

I would suggest beginners start contributing to eip4337.com as this will be the best way to start your journey to Account Abstraction. You can find its repo on Github and start the conversation in the discord server.


While the above were the essentials, the work for contributions doesn’t stop there. There are still a lot of ways one can contribute and there are many things that are still pending to enhance the EIP. I have listed a few more things that are still either not built are under experiments:

  1. UserOp Standalone MEV Bundler - This will help extract the maximum value even in EIP-4337 with the use of private mempools, such as the ones managed by the Flashbots team.
  2. BLS Aggregation Bundler - While Infinitism is working on adding support for BLS signatures in smart contract wallets, Bundlers would also need to support these signature types & currently no implementation has been started in this area.
  3. Production Grade ERC-4337 Paymasters - Infinitism has released the first set of paymaster contracts to start with. This is where I have also been personally working & will be releasing something soon.
  4. BLS Proxy Wallet Smart Contract - We have our first SCW which is EIP-4337 compatible, web3well, but we would need many more such implementations.
  5. More SCWs - EIP-4337 opens up a plethora of things that we can do with our wallets now, think about changing recoverable private keys, pausing accounts, accounts based on username passwords, post-quantum signature supports, changing private keys, gets. The possibilities are endless & I look forward to all the unique implementations the community will come up with.

All the above have been collected from ERC-4337 Progress Report #0. This doc keeps on getting updated so keep an eye on it.

There is a lot of work still and things are moving fast, and we are ever closer to AA being a reality. That said Ethereum also has so many other things going for it, did you know the merge is also closer than ever before? The time is set, it is now inevitable, we all are waiting for 58750000000000000000000. The current ETA is Thu Sep 15 02:32:54 2022 UTC, follow bordel.wtf for the live updates.

Until next time, WAGMI!!

Subscribe to Garvit Khatri
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.