Original author: Day

Original source: Vernacular Blockchain

Ethereum co-founder Vitalik Buterin wrote in March this year that self-hosting is very important, and social recovery and multi-signature are good ways to achieve this goal. He also pointed out that in terms of cryptocurrency payments, use ERC-4337 account abstraction wallets It will be more convenient.

Self-custody is important. And social recovery and multisig is a great way to do it.

A quick reddit post on how I think about choosing guardians for social recovery and multisig wallets:t.co/FY1iyJ6BFC

— vitalik.eth (@VitalikButerin) March 17, 2023

In the ETH2.0 roadmap, the official puts account abstraction, merging, and sharding at the same directory level. It is not difficult to see the important position of account abstraction in ETH2.0.

Source: TripleA

The number of global Internet users is around 5 billion. According to official data from TripleA, as of now, the number of global cryptocurrency users has reached 420 million.

As the most widely used crypto wallet at present, Metamask had only exceeded 30 million monthly active users during last year’s bull market. For those who know a lot about the cryptocurrency industry, the number of real cryptocurrency users is still much higher. Discount.

The reason is that the complicated use of encrypted wallets, such as various professional vocabulary, and asset preservation and other issues, prevent ordinary people from entering the cryptocurrency industry. The Ethereum account abstraction mentioned at the beginning can effectively solve these problems and reduce people’s Entry into the cryptocurrency world.

Crypto wallet, as the entrance to the Web3 world, the implementation of the account model lays the foundation for large-scale Web3 users, which is of great significance. In this article, we will briefly understand the related concepts of the account model.

Ethereum account model

To understand the concept of account abstraction, we need to first understand the knowledge of wallet accounts. Regarding the wallet account model (mainly EVM-compatible chains such as Ethereum), it is currently divided into two major categories: External Account (Externally Owned Account – EOA) and Contract Account (Contract Account – CA).

Externally Owned Account, referred to as EOA. Currently, most wallets on Ethereum are EOA wallets, including the familiar hardware wallets such as Metamask, token pocket or Ledger, which all fall into this category. Because the Ethereum address is directly calculated from the public key and does not rely on the blockchain itself and has nothing to do with Ethereum, it is called an external account.

Contract account (CA), referred to as CA, as the name suggests, a contract account is an account controlled by the logic of the contract code. Common contract accounts are such as the smart contract addresses of each token that we need to find when trading in DEX. Although it does not have a private Key, it cannot initiate transactions, but by using the programmability of smart contracts, you can implement more complex business operation logic than the EOA wallet, control the contract account through the EOA wallet, and implement functions such as transactions and signatures.

What both account models have in common:

  • All can receive, hold, send tokens, and interact with deployed smart contracts.

The differences between the two account models:

  • EOA is controlled by a private key. The CA does not have a private key and is controlled by the logic of the contract code;

  • It is free to create an account with EOA, and gas is required to create an account with CA;

  • EOA can initiate transactions, and CA can only respond to received transactions and send transactions;

  • Transactions between EOAs can only be token transfers. Initiating a transaction from EOA to CA can trigger a variety of operations: such as token transfers or the creation of new contracts, etc.

Wallet type

1. Traditional (HD) Wallet

The user generates an address on a traditional wallet. After the address is generated, the user will obtain a public key and a private key. Currently, various software and hardware wallets on the market, such as Metamask, Ledger, etc., are all EOA wallets. Until now, traditional wallets have been the main entry point into the cryptocurrency industry for ordinary users.

Current problems with traditional wallets:

  • The threshold is too high. Users need to have a basic understanding of public keys, private addresses and other related knowledge before they can use the wallet;

  • Assets are easy to lose, and users need to keep their own private keys. Once the private key is leaked, the assets will never be recovered;

  • Inefficiency is low. Every transaction a user makes on the chain requires signature authorization and other steps to complete the transaction confirmation. For example, when playing web3 games, if all games are on the chain, then every action in the game requires signature confirmation, which will affect Play the game for fun.

2.MPC (multi-party computation) wallet

The MPC wallet is essentially an EOA wallet. The MPC wallet breaks a private key into 2 or 3 pieces, and hands some of the fragments to the wallet party for storage. Each party holds some of the private key fragments. When a private key signature is required, Through the algorithm (under the premise that all parties do not reveal their privacy), the private key fragments are spliced ​​into a complete private key to complete the signature. Products currently exist such as Fireblocks, ZenGo, etc.

advantage:

  • The private key is divided into multiple parts, making it more difficult for hackers to crack and improving wallet security.

shortcoming:

  • You need to trust the MPC wallet party and the computing power provided by the third party. When the third party has problems, the service cannot continue.

Both of the above belong to the EOA model, while the smart contract wallet belongs to the CA model.

3. Smart contract wallet

A smart contract wallet is a wallet-like smart contract, an interface that allows users to manage funds, log in, and interact with various dApps. Unlike EOA wallets, since smart contract deployment needs to be on-chain, the creation of smart wallets requires a certain cost. Argent, Gnosis Safe and other old wallets are smart contract wallets.

The "multi-party participation" concept of the multi-signature wallet is similar to the MPC wallet, but it is a wallet built on a smart contract. A wallet is controlled through multiple private keys, and the verification logic is defined through the smart contract. When a transaction needs to be verified, More than one private key, or at least two-thirds of the private keys among multiple private keys, need to participate in verification to complete the signature, so it also belongs to a smart contract wallet. The well-known one is the Gnosis Safe mentioned above.

advantage:

  • Improved security (multiple signatures);

  • Can realize batch transactions and save costs;

  • Scalability, due to the composability of smart contracts, various functions can be added;

  • The responsibilities on the chain are clear, and multi-signature can clarify which private keys are used for signing on the chain;

  • Social recovery allows you to regain control of your account when your private key/password is leaked and lost.

shortcoming:

  • The cost becomes higher, transaction fees become higher, transaction verification requires multiple signatures, recovery costs become higher, and on-chain fees need to be paid to complete;

  • Reduced convenience (multiple signatures);

  • Non-EVM chains require customization to run;

  • Poor compatibility, incompatibility with non-upgradeable contracts, different control account standards between operators, and the inability to switch between various wallets at will.

Account abstraction

From the above, we can know that the wallets supported by the two account models, EOA and CA, have various problems. Therefore, Ethereum officials want to strengthen these two account models through account abstraction.

Account Abstraction (AA), the core is to decouple and split the signature rights and ownership of the account, making the combination of CA and EOA more flexible, and realizing gas payment, programmable permissions and other functions through smart contract code.

Account abstraction is an improved solution based on smart contract wallets, so the boundary between the two is not particularly clear. The Ethereum account abstraction has been proposed in 2016, but the real implementation may be the proposal of the EIP-4337 scheme.

The implementation process of EIP-4337

It is convenient to understand account abstraction. For example, when we want to watch TV, we only need to use the remote control buttons to control the switch, volume, and switch channels. We do not need to understand how these behaviors are implemented step by step inside the TV. The remote control is equivalent to "abstracting" the internal operation of the TV to the surface.

The account abstraction is similar. CA and EOA are "abstracted" and simplified into the form of an Ethereum account. Users do not need to care about which account model it is. The operating logic behind it is just used. If you don’t have a technical background, you can think of it as the modular concept that was so popular before.

Since the EIP-4337 solution is immature, the account abstraction wallet developed based on EIP-4337 cannot be widely used at present. We can understand why it is important through the use cases of account abstraction.

Account abstraction use case:

1. Smart contract wallet

Related concepts are mentioned above. Compared with EOA wallets, smart contract wallets can provide a smooth experience similar to Web2. Users do not need to understand various wallet concepts, lowering the threshold for Internet users to enter web3.

2. No ETH transactions

When traditional wallets conduct transactions, they need to use mainnet tokens (ETH) as gas fees. When the wallet does not have tokennet tokens (ETH), transactions will not be possible. In the EIP4337 proposal, users can conduct transactions even if they do not have Ethereum (pay or use tokens as gas fees).

3. Batch package and merge transactions

Batch packaging and merging transactions support multiple packaging and sending in one transaction, similar to transactions on Dex. New tokens need to be approved and authorized before swapping, while account abstraction can be performed in one step.

4. Automatic operation

Automatically run. When the user sets the trading conditions and the relevant conditions are met, the transaction will run automatically. Password-free payment similar to Alipay. In the game, after meeting the requirements, signatures are automatically authorized to improve the game experience. High-frequency traders on the chain can improve the use experience.

5. Permission split

Permissions are split to manage multiple keys, and different keys give different permissions.

Disadvantages of account abstraction:

  • Wallet compatibility and dependence on smart contracts. When a smart contract is deployed on a chain, it will be bound to the chain and cannot be applied to other chains;

  • As functions continue to increase, the possibility of vulnerabilities also increases;

  • All logic runs on the chain, increasing gas costs.

The above is the relevant knowledge about account abstraction. As the traffic entrance of the Web3 industry, low threshold and convenience are the biggest problems of current wallets. The emergence of the account model can effectively solve these problems. At present, EOA wallet is the mainstream, and most users in the circle are accustomed to using EOA wallet.

(The above content is excerpted and reprinted with the authorization of partner MarsBit, original text link | Source: Vernacular Blockchain)

Statement: The article only represents the author's personal views and opinions, and does not represent the objective views and positions of the blockchain. All contents and opinions are for reference only and do not constitute investment advice. Investors should make their own decisions and transactions, and the author and Blockchain Client will not be held responsible for any direct or indirect losses caused by investors' transactions.

In this article, "ERC-4337", which V God attaches great importance to, may usher in the era of Web3 explosion? First appeared in Block Guest.