This is where the concept of account abstraction enters the scene. Account abstraction applies the automation principles inherent in smart contracts to crypto wallets, specifically Externally Owned Accounts (EOAs). Similar to its utilization in smart contracts, account abstraction empowers wallet owners to customize their wallets. These potential modifications encompass arrangements for recurring payments, protocols for access management, and alterations to payment methods for network charges.
The notion of account abstraction has stirred discussions within the blockchain community since its inception and appears poised to manifest in the near future. Prominent Layer 2 networks such as zkSync and Starknet are reportedly exploring applications for this technology.
Now, let’s delve into the mechanics of account abstraction and its operation.
Account Abstraction, Externally Owned Accounts (EOAs), and Smart Contracts
At its core, account abstraction disentangles Externally Owned Accounts (EOA) and smart contracts from the rigid ECDSA (Elliptic Curve Digital Signature Algorithm) digital signature scheme and the network’s consensus layer. The ECDSA serves as the validation system for EOAs and smart contract accounts, utilizing the private-public key pairing system to govern access management and the transaction execution structure for blockchain accounts. Moreover, every transaction is subjected to validation through the consensus layer.
To unravel this intricate framework, let’s break it down step by step.
First, we must understand the two types of accounts present on Ethereum and similar EVM networks:
- Externally Owned Accounts (EOAs):
- EOAs represent personal accounts owned and controlled by individual participants within the network. These accounts are denoted by cryptographic addresses, often referred to as wallet addresses. These addresses facilitate the reception and tracking of transactions involving EOAs.
EOAs operate via a public-private key pairing mechanism that encrypts information, allowing only transaction participants or holders of corresponding public keys to access complete transaction and account data. The private key serves as the exclusive means of controlling an EOA, granting the private key holder the rightful ownership to sign transactions without limitations. This system is governed by the ECDS algorithm.
The ECDS algorithm generates a signature by utilizing the transaction and the EOA’s private key. This signature encodes the transaction and its proof, enabling the recipient to verify the transaction by decrypting it using the corresponding public key. Transaction validation occurs through the network’s consensus layer, culminating in finality once these conditions are met.
- Smart Contracts:
- Functioning as a virtual computer, the EVM (Ethereum Virtual Machine) translates code fragments into state-altering instructions, much like a vending machine. These code fragments define smart contracts. Unlike EOAs, smart contracts are also represented by addresses. However, a significant divergence lies in the signature system; transactions can be executed without mandatory private-public key requisites. This characteristic empowers developers to engineer automation through smart contracts.
With a grasp of EOAs, smart contracts, and their distinctions, we can revisit the concept of account abstraction.
Mechanics of Account Abstraction
Account abstraction endeavors to infuse EOAs with the automatability inherent in smart contracts. Nevertheless, EOAs were initially structured differently and are compelled to adhere to their original design to align with network regulations. However, this original design proves overly rigid and intricate, particularly for users who possess moderate technical acumen. To actualize this vision, EOAs must be abstracted (isolated) from this stringent system, giving rise to the term “account abstraction.”
A parallel concept was introduced for smart contracts (EIP-2938), outlining a set of implementations that enable smart contracts to circumvent the signature algorithm. This extension prolongs transaction validity by executing arbitrary EVM bytecode. This functionality aims to empower smart contracts to manipulate gas prices and limits within their comfort zone.
EIP-4337 introduces an account abstraction system for EOAs that can bypass the consensus layer using an alternative mempool, a pseudo-transaction, and bundlers for transaction packaging and inclusion in blocks for validation. Ethereum’s co-founder, Vitalik Buterin, took to Twitter in October 2022 to endorse the benefits of EIP-4337.
By circumventing the consensus layer, accounts gain the flexibility to challenge certain original blockchain rules and effectuate several adjustments. However, what does this signify for users?
Potential Applications and Advantages of Account Abstraction
Visionary leaders and pioneering projects are exploring avenues to apply account abstraction, ushering in fresh opportunities for blockchain technology and propelling mass adoption. The potential use cases for account abstraction include:
- Enhanced User Experience:
- Blockchain technology and cryptocurrencies are maturing into alternatives to conventional financial systems. This evolution can be largely attributed to their robust security mechanisms. Yet, this security comes at the expense of an inflexible design that poses challenges and may lead to irreversible losses.
Blockchain users must navigate the intricacies of accepting and revoking permissions for decentralized applications (dApps), managing seed phrases and wallets, all while scrutinizing each transaction. This intricate process detracts from the user experience, particularly for newcomers seeking to enter the space (hence the popularity of centralized exchanges).
While account abstraction may not entirely resolve these issues, it has the potential to significantly enhance the usability of blockchain wallets. Projects within the blockchain realm can leverage account abstraction to deliver products equipped with pre-designed flexible features, making basic operations more accessible for users with limited technical expertise.
- Reduction of Seed Phrases:
- One of the key objectives of account abstraction is to reduce reliance on private keys. It’s worth noting that while account abstraction doesn’t eliminate the need for private keys entirely, it can facilitate the creation of contracts and protocols that mitigate the necessity for seed phrases. This streamlining of seed phrase management aims to simplify how blockchain enthusiasts handle their seed phrases.
This is achieved by enabling EOAs to establish multiple points of control for their accounts and instituting recovery mechanisms for lost private keys. Smart contracts can be devised to allow users to set alternative access routes involving authentication methods beyond seed phrases.
Accounts can be safeguarded using two-factor authentication systems, and EOAs can designate a recovery account for their wallets. The recovery account functions similarly to personal email addresses when utilizing the “Reset password” option on Web 2.0 platforms.
Another approach involves designing a recovery system through smart contracts that pose questions to users. Access would be granted to individuals who accurately answer these questions.
Additionally, account abstraction can curtail the need for seed phrases by constructing an infrastructure where users can create multiple accounts linked to the same seed phrase. The primary account’s seed phrase can unlock sub-accounts, while an additional recovery option backs up the seed phrase for the primary account. This enables users to establish accounts managed by a group without disclosing the seed phrase to all parties involved.
- Redefined Fee Payment System:
- For transactions to occur, EOAs must remit fees in Ether (ETH). Consequently, new users must fund their accounts with ETH to initiate interactions within the network. While faucet projects endeavor to encourage adoption by offering small quantities of native tokens to newcomers, this approach often falls short and opens avenues for misuse. Account abstraction has the potential to rectify this in two major ways.
Firstly, it introduces an alternative fee payment structure. Smart contracts could be devised to permit accounts to settle consensus-layer fees using a currency of their preference.
Furthermore, account abstraction empowers one account to settle transaction fees on behalf of another account. Users could manually select the account to perform this function or automate the process through smart contracts. Cryptocurrency projects could leverage this functionality to cover transaction fees or gas charges for users engaging with their smart contracts, potentially reducing the fees borne by each transaction through smart contract-backed fee coverage.
- Streamlined Automated Payments:
- Presently, EOAs must validate transactions by signing them before they are processed on the blockchain. Even transactions initiated via smart contracts require validation prior to execution. Recurring transactions also necessitate validation for each instance, which may become cumbersome for frequent and multiple transactions.
With account abstraction, EOAs can establish an automated confirmation protocol for recurring transactions. These transactions can be swiftly confirmed without requiring intervention from the EOA owner. This automation can also be extended to future payments. Automated payment systems facilitated by account abstraction could incorporate diverse authentication mechanisms such as biometrics and two-factor authentication to simplify transaction authorization.
- Consolidated Execution of Complex Actions:
- Similar to the scenario discussed earlier, the requirement for EOAs to actively endorse each transaction can prove tiresome. Herein lies the role of account abstraction. It can be programmed to bundle multiple operations and sign them collectively, streamlining the process. For instance, it could entail endorsing and executing a swap within a decentralized exchange, all in one transaction.
Challenges to Embracing Account Abstraction
The potential applications outlined above are intriguing, fostering anticipation among blockchain enthusiasts for the improvements and novel opportunities that may emerge. However, given that account abstraction is still an emerging concept, it’s plausible that compatibility issues with existing smart contracts may arise, potentially resulting in elevated costs for interactions with the blockchain network. Additionally, since smart contracts demand greater computational resources, this could translate to higher gas fees.
While current blockchain-level security remains inviolable, the proliferation of hack incidents within decentralized applications built on the blockchain is noteworthy. Account abstraction, along with the products harnessing its capabilities, might introduce a new layer of vulnerability to blockchain wallets, potentially creating exploitable vulnerabilities. The alternative account management structures and external authentication systems facilitated by account abstraction could potentially reduce the security standards of blockchain wallets to those reminiscent of the Web 2.0 landscape.