EIP-7702: Opening the Door to Account Abstraction

It’s been a year and a half since one of the most famous Ethereum Request for Comment, ERC-4337, went live. You can say that it rekindled the account abstraction efforts, reminded the community of its benefits, and led to a myriad of improvements in terms of gas savings, user experience, etc. Smart Accounts (smart contract wallets) gained traction, and Externally Owned Account (EOA) wallets stepped up their game—the future was looking bright!

But has the adoption slowed down recently despite the account abstraction hype? It would seem so, but hope is not yet lost - after the rather controversial ERC-3074 from earlier this year, enter EIP-7702! Included in the upcoming Pectra Ethereum upgrade, this is (in short) a protocol change that will allow EOAs to benefit from account abstraction developments. In this article, we look into this EIP in detail, what the current challenges are and how it can open the door to account abstraction to the masses!

Аccount abstraction is stalling - but why

Despite major advancements in the account abstraction space, and for Smart Accounts in particular, we failed to see the next billion users enter the crypto space. People already in it are either stuck to their trusty EOA wallets or are still managing multiple wallets across devices. Why would that be?

Compatibility

We believe that one of the main reasons why AA adoption is slowing down is that users cannot migrate/import their existing accounts. As pioneers in the AA wallet space, we have been live since late 2021, and users have asked us multiple times, "Why can't I use my same address/account” since we launched the wallet.

Furthermore, to this day, not all dApps and/or protocols support smart contract signatures or accept message signing from non-deployed accounts (before any transactions have been made on a network). Ambire’s co-founder and CEO Ivo authored ERC-6492, a proposal for a standard way for dАpps to verify signatures from contracts that haven't been deployed yet (counterfactual contracts).

Force of habit and/or legacy

People tend to be creatures of habit. We’ve been building in the AA space since 2018 and see a natural resistance to change and trying new things. Users will complain about their current wallet but would still be reluctant to migrate all their funds to a new wallet. The reasons behind this are various: e.g., they have active staking positions, soul-bound tokens, why add yet another wallet to their portfolio when they’re used to their old one, they’ve heard of various scams and aren’t 100% trusting anything anymore, they’re still not convinced AA/Smart Accounts are better than EOAs, etc.

The solution: converting EOAs to Smart Accounts or enabling AA features for EOAs

Well, what if your trusty old EOA wallet could be converted to a Smart Account or certain Smart Account features enabled for it?

The first attempt: ERC-3074

We all had very high hopes for ERC-3074. In theory, it was the solution we were looking for, and overnight, it gained massive traction. It proposed delegating the control of an existing EOA to a smart contract (which would be able to control this EOA and make calls from its address but not initiate transactions). It was published with its sidekick ERC-5003, which allowed for an EOA to be fully converted into a smart contract account by revoking the original private key.

While this all sounded very promising, there were still a number of issues that caused community backlash for ERC-3074, e.g., lack of compatibility with 4337. It went back to square one and wasn’t quite what we needed.

A few weeks ago, EIP-3074 sent the AA world into shambles.

Initially it looked like it's synergetic with ERC-4337, since they do different things. One enables EOA migration, another enables decentralized mempools.

However, the nitty gritty details looked suboptimal: it's hard…

— Ivo e/acc (@Ivshti) May 7, 2024

The actual solution: EIP-7702

There is clearly a need for functionality improvements for EOAs. People want to batch operations into a single transaction, there is demand for meta transactions, and EOA users aren’t ready to fully convert their EOAs to Smart Accounts and want to give them specific permissions rather than global account control.

This is where EIP-7702 comes in, suggesting to add a new transaction type that sets the code for an EOA during execution. In essence, this proposed transaction type allows EOAs to act like Smart Accounts. This means that the EOA only has Smart Account code during the transaction, and becomes a regular EOA after the transaction.

Ethereum’s co-founder Vitalik Buterin co-wrote this proposal in a day. Unlike its predecessor 3074, it unlocks the full range of account abstraction features, is compatible with existing (and future) ERC-4337 infrastructure, is function-based for smoother integration, and only requires a single authorization, which enables Smart Account benefits for EOAs without the need for hard forks.

EIP-7702 doesn’t “convert” EOAs per se: accounts are still powered by a single private key, and while it’s possible to enable account recovery, you can’t revoke the “root” key. However, we think this makes the most sense from a technical perspective, and also in terms of UX, as most crypto natives are used to this security model already. Once you’ve dipped your feet into Smart Accounts, you can create a brand new Smart Account that doesn’t have a root key and is, for example, a multisig.

EIP-7702 is a huge leap forward for account abstraction. Replaces EIP-3074 and it solves many of its drawbacks.

Furthermore, it calmed down the tensions between the 4337 and 3074 camps.

Never seen the AA community so united 😍😍

There’s almost no downsides. One tiny thing is…

— Ivo e/acc (@Ivshti) May 8, 2024

The future: hybrid account abstraction

So, what does the future look like? It’s definitely bright, with so many efforts to remove friction from the crypto ecosystem, make it easier and more user-friendly, and bridge old and new technology. The beauty is that not just the Ethereum Foundation but many projects in the space are also working towards more native, more compatible, and more wide-spread AA.

Let’s look at hybrid account abstraction, e.g., an innovative approach introduced by Ambire Wallet that builds upon account abstraction to bring EOAs and Smart Contracts together and to offer users a more comprehensive, flexible, and secure experience. By integrating the best features of Externally Owned Accounts (EOAs), or what we refer to as Basic Accounts and Smart Accounts, hybrid account abstraction addresses many of the current challenges of crypto self-custody (e.g., complicated onboarding, lack of account recovery, etc). Ambire allows users to switch between account types easily and make the most of both Basic Accounts (EOAs) and Smart Accounts within the same wallet - something you currently cannot do with any other wallet.

How does hybrid account abstraction work in practice

Ambire Wallet supports existing EOAs (say your Metamask, Rabby, Zerion, Rainbow, etc.) along with Smart Accounts. You can import an account with its seed phrase or connect a hardware wallet in a couple of easy steps and continue using it as you would on the wallet it was created on, but with a much better UX. But that is not all: During this process, you will be given the option to derive one or more Smart Accounts from your existing Basic Account. Picture this like an alias account that upgrades its functionality and improves security. It’s done by adding a thin account abstraction layer on top of accounts already associated with your wallet, which you are importing, and you end up with a new set of addresses (which were already there but needed to be unlocked and revealed).

Furthermore, Ambire Wallet already has native support for ERC-4337 and will also support EIP-7702 once it becomes part of the Ethereum protocol.

Ambire is perfectly positioned for EIP-7702 because it’s the only wallet to put EOAs and Smart Accounts on an “equal” level, without hierarchy or dependency between them. Furthermore, Ambire’s Smart Accounts already follow the simple, tried, and secure security model of EOAs and hardware wallets.

Our team introduced hybrid аccount abstraction, an innovative approach that builds upon аccount abstraction to offer users a more comprehensive, flexible, and secure experience.

In essence, you can make the most of both EOAs and Smart Accounts within the same wallet. pic.twitter.com/pLeCoYULAM

— Ambire Wallet (@AmbireWallet) August 15, 2024

Final words

Each new EIP or ERC comes with a new set of excitement, hope, and even sometimes disappointment - being involved in the Ethereum ecosystem is a rollercoaster. But we shouldn’t lose sight of the goal: making self-custody easy and secure without further complications or new hurdles for the participants. EIP-7702 is a great start, even if it doesn’t solve all the issues AA has - we look forward to seeing what other improvements the future of Ethereum holds, and we are honored to be a part of the joint effort!

​​Interested in Ambire? Follow us:
Discord | X (Twitter) | Reddit | Github | Telegram | Facebook‌