The EthereumCommunity Conference (EthCC) held in Paris officially opened. Vitalik Buterin, the co-founder of Ethereum, delivered a public speech and once again endorsed the platform for smart contract wallets. The theme was the history and future of account abstraction.
Since the beginning of this year, Vitalik has frequently voiced his support for account-abstract smart contract wallets. For example, on Twitter AMA in June, when answering the question of how to view MPC (EOA)-based wallets and smart contract wallets, he believes that MPC based EOA wallets are fundamentally flawed as they cannot revoke keys, smart contract wallets are the only option.
In Vitalik’s view, account abstraction is elegant because it does not require changes to the underlying protocol like other previous upgrades.
Account abstraction itself is a relatively abstract concept.
Currently, Ethereum accounts and key pairs are so tightly coupled that they are essentially the same thing. i.e. if you control the private key, then you control an account.
Account abstraction decouples entities in the EVM (accounts) from entities that move ownership of assets (key pairs or signers). As long as the CA supports a specific function (such as verifying signatures), it can be an account.
Account abstraction essentially allows users to define the security model of their accounts, making Ethereum more suitable for different use cases.
For example, this feature allows users to set their own transaction verification rules, such as multi-signature requirements or spending limits, and they can also make their accounts compatible with future encryption algorithms.
Vitalik described account abstraction as allowing Ethereum accounts to be controlled by smart contract code rather than private keys.
His idea is that in the future, everyone will switch from the current EOA wallet to a smart contract-based wallet. If successful, managing a crypto wallet will become as easy as managing an email account.
The idea of allowing code to control accounts rather than just keys has been in ethereum’s design from the beginning, Vitalik said.
The Ethereum Yellow Paper outlines two types of accounts: externally owned accounts (controlled by private keys) and contract accounts (managed by smart contract code). However, some challenges arose in the early stages of implementing account abstraction.
In the first Ethereum proof-of-concept release, there was optimism that multi-signature wallets would be more adopted by users. However, this did not happen immediately, and multi-signatures made it harder to detect exchange deposits.
There are also complications associated with paying gas fees from smart contract wallets. The original vision was for all transactions to be simple calls, but reasons like non-unique transaction hashes make the problem difficult.
Over the years, the Ethereum community has iterated on many account abstraction ideas. There are proposals around standardizing signatures, using breakpoint opcodes, restricting access during transaction validation, etc. But progress has been slow due to the complexity of changing the underlying protocol and the focus on providing proof-of-stake. Until 2020, no specific account abstraction EIP (proposal) was proposed.
Independent projects such as Gas Station Network and Argent Wallet have driven further innovation. They found creative ways to enable meta-transactions and abstract accounts using only smart contracts. However, solutions that rely on wrappers also have disadvantages, such as higher overhead per transaction.
Until later, EIP-4337 was proposed, which only uses smart contracts to provide a common account abstraction standard, avoiding basic protocol changes.
An Ethereum (ETH) upgrade will allow users to create non-custodial wallets as programmable smart contracts.
This will unlock many features such as easy wallet recovery, signature-free transactions (which means lower transaction fees), and team wallets (also known as multi-signature wallets).
According to Vitalik, the upgrade could be one of the main catalysts for the adoption of Web3 worldwide. “One of the key properties we want blockchain to have is to give you money before you sign up,” he said.
The idea, he said, is for users to be able to receive any token, such as a stablecoin, in their smart contract wallet and be able to pay for gas without switching to holding ETH.
To allow these types of wallets and transactions to be broadcast, the latest account abstraction upgrade will enable Payment Master, allowing users to pay for gas with whatever token they are transacting.
EIP-4337 also includes signature aggregators, allowing multiple signers to be joined together, only one being used for a transaction.
According to Vitalik, this is a fairly important thing, especially in Rollups, because the signature footprint on these types of L2 solutions is too large.
Ethereum L2, such as Arbitrum or Optimism, batches transactions together and validates them outside of the Ethereum mainnet.
Account abstraction will allow signature aggregation. In simple terms, this would allow for more data compression, which would translate into cheaper computations and, according to Vitalik, “reduce costs by a factor of 86.”
Also, this is not the only Ethereum upgrade currently in the works. Proto-danksharding or EIP-4884 is also in progress.
It has quickly become a major focus of web development as it lays the foundation for a new type of data that will drastically reduce costs and make data usage more efficient.
Finally, Vitalik said that for efficiency and censorship resistance, there is a growing desire to incorporate partial account abstractions (such as ERC-4337) directly into the protocol. He also pointed to the importance of ensuring a smooth transition for legacy EOA users and innovations such as integrating biometric signers.