Cointime

Download App
iOS & Android

Account Abstraction: Game Changer for Web3 Adoption

Validated Individual Expert

Introduction

“Not your keys? Not your crypto!” is a blockchain mantra. But what do we mean by “keys”? Real-world keys change according to the function they serve. The key for your bike lock is not the same type as the high-security keys for a Brinks truck. However, on Ethereum, all keys have the same structure. Any operation on Ethereum - regardless of its value or the purpose it serves - requires signing a transaction with a seed phrase that should be known to the account owner and no one else. This is a major UX hurdle and a barrier to the mainstream adoption of crypto.

Account Abstraction helps blockchain applications break out of this paradigm. First introduced in a post by Vitalik in 2015, the concept of Account Abstraction is now coming to life on both Layer-2 blockchains such as Starknet and zkSync, and on Ethereum itself through EIP-4337. Account Abstraction delivers the power of web3 with the simplicity and comfort of web2 experience. It constitutes a major milestone towards scaling self-custody.

EOAs on Ethereum and their limitations

Let’s first remind ourselves how crypto accounts work on Ethereum. Ethereum has two basic entities: smart contracts and EOAs (externally owned accounts). An EOA is an entity with (1) an account address, derived from a private key, (2) an ETH balance, for paying fees or sending ETH to others, and (3) an identifier called ‘nonce’, which is a serial number for transactions sent from this EOA, used for replay protection. EOAs are the only entities on Ethereum that can send transactions For a transaction to be valid it must be signed with the private key from which the account address was derived. This means that “owning” an EOA is essentially owning the private key used for deriving the account address.

While smart contracts on Ethereum are fully programmable, the logic used to verify the validity of transactions is not programmable, but rather hard-coded in the EVM (Ethereum Virtual Machine). Valid transactions must strictly follow a set of rules, such as:

  • Signature scheme. Transactions must be signed using the ECDSA signature scheme, on the elliptic curve secp256k1
  • Transaction fee. The source of the transaction fee must be the same EOA that initiated the transaction. Moreover, the fee must be denominated in ETH.
  • Replay protection. Transactions must be sent sequentially by their ‘nonce’ identifier.
  • The private key is immutable. Since the account address is derived from the private key, it’s impossible to change the ‘secret’ used to sign transactions.

Those rules are embedded into the Ethereum protocol and cannot be changed. They stem from design decisions that optimize for protocol security and efficiency in operating Ethereum nodes. However, they restrict dApp developers from many use cases. For example, when using EOA it’s impossible to let another account pay your transaction fees. This would be a valuable feature for decentralized games that may want to subsidize the first few “moves” of each player. In other cases, blockchain users may want to authorize other users to send transactions on their behalf, perhaps with some limitation on the transaction value or frequency. This too is impossible using EOAs. In addition, while password rotation is a basic primitive in web2, it is impossible to change the password of an EOA, or count on other entities to help you recover your password without giving them full access to your account.

Account Abstraction to the rescue

Account Abstraction is the idea of decoupling the hard-coded logic described above from the EOA, turning all accounts into fully programmable smart contracts. This would provide account owners, wallets, and dApps flexibility in determining how transactions should be signed and accepted, and where transaction fees should come from. In other words, Account Abstraction is the technical infrastructure that enables Smart Contract Wallets.

The concept of Account Abstraction can be split into three categories that correspond to the three main limitations that currently exist in EOAs:

(1) Signer abstraction. Give smart contracts flexibility in determining what a validly-signed transaction is, rather than enforcing ECDSA scheme with a fixed private key as the only acceptable signature. This means that smart contracts could decide for themselves to accept other signature schemes - for example, ones that are more suitable for shared secrets. Contracts could also require different signature schemes for different entry point functions, or even not require any signature at all!

(2) Fee abstraction. On Ethereum, the first thing an account owner is required to do is fill the account with some ETH, so that they can pay transaction fees and start using the account. Imagine a blockchain architecture where dApps could subsidize transaction fees for their users, or let users pay fees in any token currency they wish (and perhaps swap to ETH on the fly); this would solve a major UX challenge Ethereum faces today.

(3) Nonce abstraction. This is a lesser-discussed and more delicate area of Account Abstraction, yet not less interesting. The ‘nonce’ identifier on EOAs provides protection from transaction replay, but it also enforces a transaction model that is inherently sequential. What if a smart contract wanted to accept two transactions in parallel from the same EOA, regardless of their order? This becomes possible when the ‘nonce’ mechanism can be controlled by the smart contract rather than being hard-coded into a generic transaction processing logic.

Scaling self-custody

15 years after the Bitcoin paper, crypto wallets today are still more like high-maintenance friends than the slick products we’d expect them to be. The CEX collapse of last year has taught us that self-custody is the way to go, but managing one’s own keys is still a significant burden and security risk. Even core crypto developers occasionally lose their keys or have them compromised (tweet). Smart contract wallets - operated through Account Abstraction - may be the catalyst for eliminating those risks and driving the mass adoption of self-custody wallets. Account Abstraction makes account management less burdensome through two mechanisms: smarter signing of transactions, and better recovery processes.

First, signer abstraction capabilities allow wallets to embed web2-like features into their products. For example, the Braavos wallet utilizes the secure enclave of iOS and Android devices to allow users to sign transactions with their fingerprint or face ID, without inputting any seed phrases at all. Similar signer abstraction features allow developers to control the security level required for approving individual transactions, case by case. This paves the way to true multi-factor authentication on web3 wallets. Similarly to your online bank account, daily transactions may be executed from a single device, but transacting with new recipients or executing particularly valuable transactions may prompt users to sign on multiple devices.

Account Abstraction also improves the UX of account recovery. Signer abstraction allows having multiple signers for an account, each of them with individual powers and privileges. For example, the major owner of an account may share some lower-privileged keys with friends, in a way that the friends could help recover the main key but not spend any of the assets in the account. This is often referred to as social recovery, and is already implemented in smart-contract based wallets, such as the ArgentX wallet.

Opportunities in crypto payments

Crypto payments are widely discussed as one of the major use cases of blockchain. However, this promise hasn’t materialized yet. Historically, this has been due to costly transaction fees, which are now coming down thanks to rollups and scalability solutions. However, mature payment solutions in TradFi aren’t successful merely because of low transaction costs. They require additional features, such as credit issuance, fraud detection, dispute processes and recurring payment mechanisms.

Account Abstraction allows translating those traditional payment concepts into the crypto space. For example, Visa has recently presented a proof-of-concept for using Account Abstraction for a recurring payment system. Imagine a programmable self-custodial wallet, that authorizes Visa to automatically pull funds (up to some monthly limit) on a recurring basis, without requiring the user’s signature on each transaction.

Gaming UX meets web3

Another area prone to disruption by Account Abstraction is web3 gaming, through batch transactions and fee abstraction.

A major barrier to bringing gaming activity on-chain - beyond transaction costs - is the need to sign a transaction for every on-chain activity. Prompting a user to click the ‘sign’ button in their wallet disrupts the flow of the game and makes the web3 gaming experience quite cumbersome. Account Abstraction allows game developers to create “session keys” that are pre-authorized to sign gaming transactions for a particular timeslot. Such keys could be stored in the browser’s or smartphone’s local storage, and be revoked as needed. This brings the UX of web3 games closer to the familiar experience in web2 games.

In addition, fee abstraction allows game developers to subsidize transaction fees for their users. This is a particularly good method for onboarding new players, who may be new to crypto or may want to experiment with the game before spending transaction fees.

The road ahead

Account Abstraction has always been on the Ethereum roadmap. Ethereum improvements proposals such as EIP-86 (2017), EIP-2983 (2020) and EIP-3074 (2020) paved the way to EIP-4337 (2021), which introduces a new decentralized infrastructure on top of Ethereum to operate smart contract wallets. In addition to EIPs, smart wallets dApps emerged on Ethereum, such as Gnosis. However, all those were second-class citizens to the native account model on Ethereum, the EOA.

The opportunity to fix the limitations of Ethereum and bring smart contract wallets to users may be through Layer 2 scaling networks. Layer-2s such as Starknet and zkSync have Account Abstraction embedded in the protocol level, making it easily accessible to developers through native tooling and infrastructure.

About the Author

Gal Ron is a product manager & blockchain researcher at StarkWare, where he works on building the ecosystem of Starknet, a zero-knowledge scaling technology for Ethereum. He previously graduated with an MBA from Stanford Graduate School of Business, and a Master’s degree in Computer Science from Tel Aviv University.

References

[1] Why Account Abstraction is a Game-Changer for Dapps (Julien Niset at Devcon Bogotá)

[2] Auto Payments for Self-Custodial Wallets (Visa Crypto Thoughts Leadership)

[3] Vitalik's "Road to Account Abstraction" notes

[4] ‘Account abstraction’ supercharges Ethereum wallets: Dummies guide (Andrew Fenton, Cointelegraph)

[5] Random thoughts on Account Abstraction by Sylve Chevet

[6] Account Abstraction 101: a Comprehensive Guide (by Braavos)

Comments

All Comments

Recommended for you

  • Experts: The Strait of Hormuz 'Will Never' Return to Pre-War Status

    Ali Akbar Dareini, a researcher at the Iranian Strategic Studies Center, stated that Iran and Oman are about to reach an agreement on the future management of the Strait of Hormuz, with the main obstacle being U.S. pressure on Oman to adopt a position more aligned with Washington. Dareini emphasized that Iran considers future control of the strait crucial for its national security. In recent months, the U.S. has conducted strikes against Iran, which Iran claims were launched from bases in the region. Dareini noted that the ongoing negotiations between Iran and Oman present the U.S. with a 'good opportunity to extricate itself from this quagmire' by recognizing Iran and Oman as the countries that will determine the 'future' of the Strait of Hormuz. 'However, the Strait of Hormuz will never return to its pre-war status,' he continued. 'The geopolitical landscape of the region has changed.'

  • Iran: Negotiations with Oman Unrelated to Reopening of Strait of Hormuz

    On August 8, a spokesperson for the Islamic Revolutionary Guard Corps of Iran stated that the reopening of the Strait of Hormuz is unrelated to negotiations between Iran and Oman, but rather depends on whether the United States fully accepts Iran's conditions and ceases interference in regional negotiations. "Once the United States accepts Iran's conditions, the Strait will undoubtedly reopen." (CCTV News)

  • Whale Shorting $102 Million in Bitcoin Faces Partial Liquidation, Remaining Liquidation Price Around $65,300

    On August 8, TheDataNerd reported that a whale using 40x leverage to short $102 million in Bitcoin recently faced partial liquidation, incurring a loss of $1.46 million over the past week. Currently, the margin call has reduced the short position to approximately $60 million, with an opening price of $64,212.5 and a liquidation price of $65,310.2.

  • BTC Falls Below $65,000

    Market data shows BTC has fallen below $65,000, currently reported at $64,999.23, with a 24-hour increase of 1.01%. Market volatility is high, please exercise risk control.

  • Hedge Fund AISituational Awareness's Mysterious $400 Million Investment Targets Chip Startup Source Foundry

    On August 8, sources revealed that the hedge fund Situational Awareness, managed by former OpenAI researcher Leopold Aschenbrenner, made a mysterious $400 million investment in the chip manufacturing startup Source Foundry just days after facing imminent collapse. Previously, Bloomberg reported that the hedge fund invested in a private company backed by Sequoia Capital, but did not disclose the name of the specific company. The Wall Street Journal had earlier reported that the recipient of the investment was Source Foundry, unveiling the target of this mysterious funding deployment by Situational Awareness.

  • US Spot Bitcoin ETF Sees $101.79M Net Inflow Yesterday

    On August 8, according to Trader T's monitoring, US spot bitcoin ETFs saw a net inflow of $101.79 million yesterday.

  • US Official: Ukraine Agrees to Avoid Strikes on Non-Russian Tankers and Black Sea Oil Facilities

    On August 8, according to a US official, Ukraine has agreed not to target certain non-Russian tankers and Black Sea infrastructure vital to Kazakhstan's crude oil exports. This follows ship attacks last month that caused loading disruptions. The US official said Ukraine has set up contact points so commercial shipping companies can communicate information and ensure safe passage. The commitment was reached after meetings between senior US government leaders and Ukrainian leadership, marking a potentially significant step toward increasing regional oil shipments. Previously, activity in the region had cooled significantly due to several recent attacks near the Caspian Pipeline Consortium terminal in Russia's Novorossiysk. (Jin Shi)

  • U.S. July Nonfarm Payrolls Fall by 23,000, Missing Market Expectations

    On August 7, U.S. nonfarm payrolls decreased by 23,000 in July, compared with market expectations of an increase of 80,000, and the previous value was an increase of 57,000.

  • US May and June Nonfarm Payroll Additions Revised Down by 103,000 Combined

    On August 7, the US Bureau of Labor Statistics: May nonfarm payroll additions were revised down from 129,000 to 63,000; June nonfarm payroll additions were revised down from 57,000 to 20,000. After the revisions, the combined additions for May and June were 103,000 lower than previously reported.

  • Web3 data and AI company Validation Cloud completes $10 million in new round of financing

     Web3 data and AI company Validation Cloud announced a $10 million financing round from True Global Ventures. The company plans to use the funds to expand its AI products and achieve seamless access to Web3 data.