The internet is an essential part of our everyday lives, but before it became widespread, only a few users knew about it and used it accordingly. Blockchain technology finds itself in the same position and aims to attain the same status as Web2 and be useful in daily life. Account Abstraction is one project that could ensure the mass adoption of cryptocurrency. This article discusses this new technology, how it works, and cases of account abstraction.
To fully grasp the idea behind account abstraction and its potential benefit to the Ethereum ecosystem and the cryptocurrency industry, we need to understand the different types of accounts we have in Ethereum and how account abstraction aims to improve things.
Firstly, Ethereum has two types of accounts:
These accounts are controlled and managed by users outside the blockchain ecosystem. They are managed through public-private ley pairs and the user who owns the private key can use the assets stored in the EOA.
EOAs use 12, 18, or 24 string of words called seed phrases. These words are generated when a user is setting up their wallet. The EOA uses this seed phrase to generate a private key that the user uses to sign transactions.
The seed phrase is the key to the wallets, and users must safeguard their seed phrases to secure them against hacks and thefts. If the private key is eventually lost, the seed phrase is the only way the user can gain access to re-generate the private key, opening the doors to stored assets.
EOAs are an essential part of the design of the Ethereum system. EOAs power the network and can only go through a state transition when an EOA starts a transaction and uses ETH to pay gas fees. Although EOAs are essential to the Ethereum ecosystem, they are limited in features and flexibility.
EOAs can perform two basic functions:
These functions, however essential to the Ethereum ecosystem, are not without their flaws. Some of these flaws include:
Seed phrases are the only security linked to EOAs. So when users lose their private keys and seed phrase, they lose access to their stored assets since there is no recovery option in case such things happen.
Owners of EOAs must sign every transaction manually, leaving no room for automation or customization of transactions.
ETH is the token used to pay gas fees in the Ethereum network, and owners of EOAs must have a balance of EOAs must have ETH at their disposal to cover the gas fee for any transaction. They can not use any other token to make such payments.
The ecosystem is not suitable for users who are just entering the system, leading to an overall poor user experience.
These are smart contracts functioning as crypto wallets. It allows users to code various logic into the smart contracts, making the transactions customizable, with the added advantage of adding other features to the accounts.
However, contract accounts can not function on their own. They can not initiate transactions and only execute certain actions when transactions from an EOA trigger the smart contract code. Contract accounts also don’t have private keys or seed phrases.
To operate a contract account, users have to possess an EOA with an ETH balance, making it easier for harder for users to operate a contract account than operating an independent EOA.
Source: Metamask
EOAs have shown their vulnerability over the years. Its major disadvantage is the long and tiring process required when initiating a transaction and the lack of security and account recovery services if the user loses their private key.
Account abstraction is a proposal for a blockchain system paradigm that allows users to utilize smart contract wallets rather than the usual EOAs. This proposal suggests the elimination of EOAs in carrying out transactions.
Account abstraction unlocks several possibilities: signless transactions, co-owned wallets, bundle sign, whitelist smart contracts, outflow rate control, and easy wallet recovery when private keys are lost. These additions will make web3 safer, faster, and more flexible for users.
Account abstraction dates back to the creation of Ethereum. Over the years, many blockchain account abstraction approaches have been tested. They came as Ethereum Improvement Proposals, EIP-86, and EIP-2938. These versions failed at practical application and are currently inactive.
EIP-3074 is another account abstraction proposal that proposed using sponsored transactions rather than trying to convert smart contracts to EOAs. It allowed users to give control of their EOA to a smart contract, allowing developers a fluid platform to build new transactional models for EOAs. Users could utilize the advantages that come with account abstraction without having to use a contract.
In 2021, Vitalik Buterin, the founder of Ethereum, and other prominent blockchain pros released a proposal on account abstraction, which aims to improve user experience, enhance the security of wallets, and many more. This new proposal, EIP-4337, shows how account abstraction can be achieved by relying on high-layer infrastructure rather than consensus-layer changes. It has been live on the main net for a while now, and now developers are focusing on developing wallets that support EIP-4337, making it EVM compatible.
What account abstraction does is merge externally-owned accounts and contract accounts into just one account. It can move different functions of both accounts, such as signature verification and gas payment, out of the core protocols into the Ethereum Virtual Machine (EVM).
The combination of these two accounts is called smart contracts or abstracted account wallets. Smart contracts act entirely differently from EOAs by using UserOperations rather than sending regular transactions like EOAs do. UserOperations represent operations conducted on behalf of the user.
The UserOperation object includes several data elements that specify the type of transaction, the token limit, and the gas fee at several transaction stages. Smart accounts send UserOperations to a common waiting area called mempool, which houses UserOperations.
These UserOperations are bundled by bundlers, which function similarly to nodes that verify regular transactions. They also use the same logic as mining and validator nodes to arrange transactions in an order that generates the most value. The bundler holding the UserOperations is then sent through an entry point where each separate UserOperation is verified by using different functions.
An example of how account abstraction works is its implementation in Argent Wallet. Argent is a smart contract wallet that provides users with a seamless, efficient, and secure experience. Argent has pioneered major features relating to account abstraction like social recovery, multi-call, or on-chain fraud monitoring.
Account abstraction was first introduced as Ethereum’s latest solution for wallet security. Several popular blockchain experts, including Ethereum’s founder, wrote the account abstraction proposal, and this proposal was equipped with certain objectives that account abstraction aimed to accomplish.
Some of the objectives include:
Most cryptocurrency projects aim to enhance user experience and make it easier for users to join the ecosystem and use the numerous platforms seamlessly. Account abstraction makes that possible in the following ways:
Account Abstraction converts EOA into smart contracts with the logic used to set the requirements for the completion of a transaction. This means the signer who authorizes transactions with a private key and the account can be separated, leading to several possibilities for account use.
Account Abstraction could allow the EOA to perform various actions, such as using different or no keys to authorize transactions. It could also change the signer of the account every other week.
This makes things easier for users to modify and use their accounts however they like. Users no longer have to worry about backing up their private key due to the introduction of social recovery, giving them an account that is more flexible and accommodating, leading to a better experience for the user while using the platform and its services.
Account abstraction has various uses, one being increased wallet safety. EOAs are equipped with several limitations that restrict users unfamiliar with blockchain. Some limitations include:
These limitations are challenges facing the average user looking to participate in blockchain and web3 spaces. These limitations prevent users from securing their wallets and safeguarding their transactions, leading to mistakes that might jeopardize the funds’ safety in the accounts.
Most users are new to how crypto accounts and transactions work. As a result, they tend to make costly mistakes that might lead to them losing funds. Account abstraction gives users a more user-friendly platform, making it easier for them to navigate and understand how it operates, making it easier to guard their accounts safely.
Account abstraction fixes this by giving users the power to set clear transactional rules that dictate the transactional activities of a wallet by implementing programmable logic. Logic can be seen as a layer over the wallet before activities are carried out.
Account abstraction, like every innovation, has its little flaws. Although it has numerous benefits and can greatly improve the experience of the users in areas of security and user experience, these smart contracts still come with disadvantages, such as:
Account abstraction facilitates interactions between users and smart contract accounts without using Ethereum addresses and private keys. This gives users a couple of use cases with existing applications. Platforms stemming from account abstraction will affect several areas and enhance the blockchain system with key features like:
With account abstraction, users can create accounts using familiar methods rather than the normal process of generating and properly managing cryptographic key pairs. This greatly eases the entry of new users into the blockchain system.
With EOAs, users have to initiate and sign on every transaction manually, and there’s no way to automate this process. With smart contracts, users can select and set certain parameters such as spending limits, gas limits, access to certain tokens, and much more.
Another key feature for account abstraction is using ERC-20 tokens for any platform transaction. This would erase the need for users to hold, exchange, and spend their ETH balance to complete their transactions.
Account abstraction allows users to share different levels of wallet access with multiple users. Users can set a multi-signature where two or more users must sign for a transaction to be executed.
Since users, with the aid of account abstraction, can now control their accounts freely, they can set their accounts to make regular payments rather than repeating the same transaction repeatedly.
Smart accounts do not require seed phrases for security, meaning account owners can assign multiple devices, other users or third-party services as guardians. This helps in situations where the users lose their credentials. The guardians can sign a transaction to assign new credentials to gain access to the smart account.
The possibilities with account abstraction are numerous, and once fully incorporated into the blockchain ecosystem, users and developers will greatly benefit from its different implementations.
The internet is an essential part of our everyday lives, but before it became widespread, only a few users knew about it and used it accordingly. Blockchain technology finds itself in the same position and aims to attain the same status as Web2 and be useful in daily life. Account Abstraction is one project that could ensure the mass adoption of cryptocurrency. This article discusses this new technology, how it works, and cases of account abstraction.
To fully grasp the idea behind account abstraction and its potential benefit to the Ethereum ecosystem and the cryptocurrency industry, we need to understand the different types of accounts we have in Ethereum and how account abstraction aims to improve things.
Firstly, Ethereum has two types of accounts:
These accounts are controlled and managed by users outside the blockchain ecosystem. They are managed through public-private ley pairs and the user who owns the private key can use the assets stored in the EOA.
EOAs use 12, 18, or 24 string of words called seed phrases. These words are generated when a user is setting up their wallet. The EOA uses this seed phrase to generate a private key that the user uses to sign transactions.
The seed phrase is the key to the wallets, and users must safeguard their seed phrases to secure them against hacks and thefts. If the private key is eventually lost, the seed phrase is the only way the user can gain access to re-generate the private key, opening the doors to stored assets.
EOAs are an essential part of the design of the Ethereum system. EOAs power the network and can only go through a state transition when an EOA starts a transaction and uses ETH to pay gas fees. Although EOAs are essential to the Ethereum ecosystem, they are limited in features and flexibility.
EOAs can perform two basic functions:
These functions, however essential to the Ethereum ecosystem, are not without their flaws. Some of these flaws include:
Seed phrases are the only security linked to EOAs. So when users lose their private keys and seed phrase, they lose access to their stored assets since there is no recovery option in case such things happen.
Owners of EOAs must sign every transaction manually, leaving no room for automation or customization of transactions.
ETH is the token used to pay gas fees in the Ethereum network, and owners of EOAs must have a balance of EOAs must have ETH at their disposal to cover the gas fee for any transaction. They can not use any other token to make such payments.
The ecosystem is not suitable for users who are just entering the system, leading to an overall poor user experience.
These are smart contracts functioning as crypto wallets. It allows users to code various logic into the smart contracts, making the transactions customizable, with the added advantage of adding other features to the accounts.
However, contract accounts can not function on their own. They can not initiate transactions and only execute certain actions when transactions from an EOA trigger the smart contract code. Contract accounts also don’t have private keys or seed phrases.
To operate a contract account, users have to possess an EOA with an ETH balance, making it easier for harder for users to operate a contract account than operating an independent EOA.
Source: Metamask
EOAs have shown their vulnerability over the years. Its major disadvantage is the long and tiring process required when initiating a transaction and the lack of security and account recovery services if the user loses their private key.
Account abstraction is a proposal for a blockchain system paradigm that allows users to utilize smart contract wallets rather than the usual EOAs. This proposal suggests the elimination of EOAs in carrying out transactions.
Account abstraction unlocks several possibilities: signless transactions, co-owned wallets, bundle sign, whitelist smart contracts, outflow rate control, and easy wallet recovery when private keys are lost. These additions will make web3 safer, faster, and more flexible for users.
Account abstraction dates back to the creation of Ethereum. Over the years, many blockchain account abstraction approaches have been tested. They came as Ethereum Improvement Proposals, EIP-86, and EIP-2938. These versions failed at practical application and are currently inactive.
EIP-3074 is another account abstraction proposal that proposed using sponsored transactions rather than trying to convert smart contracts to EOAs. It allowed users to give control of their EOA to a smart contract, allowing developers a fluid platform to build new transactional models for EOAs. Users could utilize the advantages that come with account abstraction without having to use a contract.
In 2021, Vitalik Buterin, the founder of Ethereum, and other prominent blockchain pros released a proposal on account abstraction, which aims to improve user experience, enhance the security of wallets, and many more. This new proposal, EIP-4337, shows how account abstraction can be achieved by relying on high-layer infrastructure rather than consensus-layer changes. It has been live on the main net for a while now, and now developers are focusing on developing wallets that support EIP-4337, making it EVM compatible.
What account abstraction does is merge externally-owned accounts and contract accounts into just one account. It can move different functions of both accounts, such as signature verification and gas payment, out of the core protocols into the Ethereum Virtual Machine (EVM).
The combination of these two accounts is called smart contracts or abstracted account wallets. Smart contracts act entirely differently from EOAs by using UserOperations rather than sending regular transactions like EOAs do. UserOperations represent operations conducted on behalf of the user.
The UserOperation object includes several data elements that specify the type of transaction, the token limit, and the gas fee at several transaction stages. Smart accounts send UserOperations to a common waiting area called mempool, which houses UserOperations.
These UserOperations are bundled by bundlers, which function similarly to nodes that verify regular transactions. They also use the same logic as mining and validator nodes to arrange transactions in an order that generates the most value. The bundler holding the UserOperations is then sent through an entry point where each separate UserOperation is verified by using different functions.
An example of how account abstraction works is its implementation in Argent Wallet. Argent is a smart contract wallet that provides users with a seamless, efficient, and secure experience. Argent has pioneered major features relating to account abstraction like social recovery, multi-call, or on-chain fraud monitoring.
Account abstraction was first introduced as Ethereum’s latest solution for wallet security. Several popular blockchain experts, including Ethereum’s founder, wrote the account abstraction proposal, and this proposal was equipped with certain objectives that account abstraction aimed to accomplish.
Some of the objectives include:
Most cryptocurrency projects aim to enhance user experience and make it easier for users to join the ecosystem and use the numerous platforms seamlessly. Account abstraction makes that possible in the following ways:
Account Abstraction converts EOA into smart contracts with the logic used to set the requirements for the completion of a transaction. This means the signer who authorizes transactions with a private key and the account can be separated, leading to several possibilities for account use.
Account Abstraction could allow the EOA to perform various actions, such as using different or no keys to authorize transactions. It could also change the signer of the account every other week.
This makes things easier for users to modify and use their accounts however they like. Users no longer have to worry about backing up their private key due to the introduction of social recovery, giving them an account that is more flexible and accommodating, leading to a better experience for the user while using the platform and its services.
Account abstraction has various uses, one being increased wallet safety. EOAs are equipped with several limitations that restrict users unfamiliar with blockchain. Some limitations include:
These limitations are challenges facing the average user looking to participate in blockchain and web3 spaces. These limitations prevent users from securing their wallets and safeguarding their transactions, leading to mistakes that might jeopardize the funds’ safety in the accounts.
Most users are new to how crypto accounts and transactions work. As a result, they tend to make costly mistakes that might lead to them losing funds. Account abstraction gives users a more user-friendly platform, making it easier for them to navigate and understand how it operates, making it easier to guard their accounts safely.
Account abstraction fixes this by giving users the power to set clear transactional rules that dictate the transactional activities of a wallet by implementing programmable logic. Logic can be seen as a layer over the wallet before activities are carried out.
Account abstraction, like every innovation, has its little flaws. Although it has numerous benefits and can greatly improve the experience of the users in areas of security and user experience, these smart contracts still come with disadvantages, such as:
Account abstraction facilitates interactions between users and smart contract accounts without using Ethereum addresses and private keys. This gives users a couple of use cases with existing applications. Platforms stemming from account abstraction will affect several areas and enhance the blockchain system with key features like:
With account abstraction, users can create accounts using familiar methods rather than the normal process of generating and properly managing cryptographic key pairs. This greatly eases the entry of new users into the blockchain system.
With EOAs, users have to initiate and sign on every transaction manually, and there’s no way to automate this process. With smart contracts, users can select and set certain parameters such as spending limits, gas limits, access to certain tokens, and much more.
Another key feature for account abstraction is using ERC-20 tokens for any platform transaction. This would erase the need for users to hold, exchange, and spend their ETH balance to complete their transactions.
Account abstraction allows users to share different levels of wallet access with multiple users. Users can set a multi-signature where two or more users must sign for a transaction to be executed.
Since users, with the aid of account abstraction, can now control their accounts freely, they can set their accounts to make regular payments rather than repeating the same transaction repeatedly.
Smart accounts do not require seed phrases for security, meaning account owners can assign multiple devices, other users or third-party services as guardians. This helps in situations where the users lose their credentials. The guardians can sign a transaction to assign new credentials to gain access to the smart account.
The possibilities with account abstraction are numerous, and once fully incorporated into the blockchain ecosystem, users and developers will greatly benefit from its different implementations.