Your resource for web content, online publishing
and the distribution of digital products.
S M T W T F S
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
 
 
 
 
 
 
 
 
 
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
 
 
 
 
 

Empowering the Solana Community with Soldreamers: Bridging the Gap with Educational Value

DATE POSTED:July 8, 2024
Account Abstraction

“Not your keys, not your crypto” has been the most commonly said mantra in the crypto industry. This phrase sets the foundation for what self-custody should be and tells you that you’re responsible for the security of your crypto assets. Do you remember when you created your first non-custodial wallet? But along the line, you were asked to keep 12 seed phrases (your private keys), and if these seeds were to leave your custody, your cryptocurrencies could be stolen. Crypto wallets, traditionally requiring users to manage complex private keys, have posed significant risks and challenges. These hurdles have hampered the broader adoption of cryptocurrencies, making the ecosystem daunting for everyday users. The basic concept of account abstraction aims to remove the complexity of managing your crypto account, offering more flexibility and enhanced functionality.

The two kinds of Ethereum accounts

In Ethereum, there are two kinds of accounts: externally owned accounts (EOA) and contract accounts.

  • Externally owned accounts: EOA, for short, this type of account is managed by a private and public key. The public key becomes your Ethereum address with which you receive funds (similar to your bank account), and the private key is used to sign a transaction and grant access to your funds.
  • Contracts accounts: These accounts, also known as smart contract accounts (SCA), are programmable and capable of executing code. They don’t have private keys and cannot initiate transactions on their own. Instead, they are triggered by EOA transactions and run the code they contain according to pre-defined rules. This allows for complex functionalities like decentralized applications (dApps) and self-executing agreements.
The Role of Account Abstraction

Generally, EOAs are simpler accounts to use for sending, receiving, and signing transactions, but they have limited functionalities and pose the risk of revealing your private keys to malicious contracts, which could lead to the loss of your cryptocurrencies. Contract accounts, though powerful, are too sophisticated for an average user to interact with, hence the need for an abstraction layer.

Account abstraction (AA) blurs the line between externally owned accounts (EOA) and contract accounts. What does this mean? This enhances the functionality of accounts by allowing the inclusion of smart contract logic in account operations. This allows for more flexible account management and interactions with smart contracts, which in turn leads to a more appealing user experience.

In Computer Science, “abastraction” is the process of simplifying a complex concept by only focusing on what’s important while ignoring ones.Features & Benefits of Account Abstraction

Although account abstraction is still a developing concept, there are some basic features that it currently offers. These include:

Signature Abstraction

Initially, signing a transaction required a private key; as stated earlier, this signature mechanism was inefficient. Signature abstraction refers to the flexibility in how transactions are authorized and validated. This allows users to set custom criteria before a transaction is initiated. These custom rules could be:

  • Transaction limits: This sets a cap on how much can be spent from your wallet in a transaction.
  • Multi-signature approvals: Before a transaction is initiated, there would be a need for approval from two or more trusted entities (known as guardians). This also allows for non-cryptographic authentication methods such as passwords, PINs, or biometric data.
  • Session keys: These are temporary keys used to authorize transactions with specific dapps for a limited period
Gas Abstraction

When you’re interacting with dapps on Ethereum, you’ll need gas fees in ETH to complete a transaction. This method presented a hurdle to new users who needed to source for ETH before completing their transactions. Account abstraction decouples the payment of fees from the user initiating the transaction. This doesn’t mean you wouldn’t pay fees, rather, alternative mechanisms can be used to cover the fees. So, what other alternatives are there?

  • Gas fees in ERC-20: With the help of a paymaster, the gas fees (in ETH) could be covered partly or in full and paid back later with a stablecoin or a dapp’s native token. A paymaster acts as an intermediary and handles the gas fee on behalf of the user, allowing them to interact with the blockchain without needing to hold ETH.
  • Gasless transaction: Some dapps could sponsor the fees completely when a user interacts with it. This gives that web2-like feeling when using them.
Social Recovery

Social recovery allows users to regain access to their smart contract accounts through trusted contacts or guardians, who can collectively authorize account recovery if the user loses their private key, enhancing security and usability without relying solely on the private key.

Road to Account Abstraction

The first Ethereum proposal for account abstraction was EIP-86, which was published in 2016, few months after the launch of the Ethereum protocol. This proposal tried to introduce signature abstraction and contract accounts. Fast forward to today, and many EIPs have been released towards the implementation of account abstraction, but one has garnered much attention and adoption, this is EIP-4337, now called ERC-4337.

The ‘what’ of ERC-4337

ERC-4337 became an official standard in March 2023, after Yoav Weiss introduced a new smart contract on Ethereum called ‘EntryPoint’. EIP-4337 implements account abstraction on Ethereum, allowing the functionality of smart contract wallets to be extended to all users without requiring changes to the underlying consensus protocol.

Key Features of ERC-4337
  • UserOperation: UserOperation allows users to create a ‘list’ of multiple transactions that needs to be executed. This may include sending out ETH, making a swap and interacting with a dapp. Initially, you would need to do all these manually, but UserOperations bundles all these into a single operation.
  • Bundler: After a user creates and signs a UserOperation, it needs to be submitted to the Ethereum network. Bundlers search and pick multiple UserOperations, then submit to Ethereum network for validation. Bundlers are incetivzed through fees paid by users or the Paymaster.
  • EntryPoint: This contract is designed to verify and execute the UserOperation transactions submitted by the Bundler. If there are any malicious transactions, it would revert all actions of that operation.
Looking Forward

Account Abstraction (AA), embodied by ERC-4337, promises a significant leap forward for blockchain interactions. By separating signing from user accounts, AA enhances security and empowers users with greater control. Imagine a future where crypto management is as seamless as using your favorite app — that’s the potential of AA. With ongoing development and implementation, AA is poised to revolutionize the way we interact with the blockchain, paving the way for a more secure, user-friendly, and accessible crypto experience.

Crypto Without Keys: Is Account Abstraction the Future? was originally published in Coinmonks on Medium, where people are continuing the conversation by highlighting and responding to this story.