Author: ETH Gas Station
Translation & Proofreading: Min Min & A Jian
What is account abstraction?
Currently, there are two types of accounts on Ethereum: externally-owned accounts and contract accounts. The former is controlled by the private key, while the latter is controlled by the Ethereum virtual machine code stored in a smart contract account (sometimes called a smart wallet). Account abstraction attempts to combine two types of accounts into one type, that is, to make external accounts behave like contract accounts.
- The financial structure of the Ethereum Ecology: How does it work?
- BTC alone rose back to 10,000 US dollars, facing the daily resistance level
- The market exploded in the early morning, the main force repeatedly washed up
- Ethereum entered the outbreak! Ethereum Foundation allocates 30 million US dollars to escort Ethereum 1.0, 1x, 2.0, etc.
- Market analysis: BTC fluctuates slightly, weekends are still resting
- Everything you need to know about Ethereum 2.0 in 2020
Why is account abstraction so important to Ethereum?
Account abstraction allows more general-purpose wallets to perform complex logic. It transfers functions such as signature verification, gas payment, and replay protection from the core protocol to the Ethereum virtual machine.
Let's take an example and see what is the use of abstraction.
Suppose you want to put all your tokens in a new wallet, and then you accidentally send all your ether to this new wallet. Now, without Ether, you cannot send any transactions, and you cannot transfer the remaining tokens to the new wallet.
Under normal circumstances, you only need to spend a little time with Gas and send some Ether back to the previous address. But in some cases, it is not so easy to recover from this error. The tokens in the wallet cannot be transferred out until you send the ether from another wallet. We are all likely to encounter this situation, not to mention how inconvenient it is.
Account abstraction allows you to use the remaining tokens to pay for gas, just like some smart contract wallets.
Abstraction opens up new possibilities
Many networks and applications built on Ethereum rely on relayers to publish user transactions on the blockchain and pay the relayers fees. However, if there are more complex wallets and contracts, we may not need to use relayers. Take Tornado Cash as an example (this is an application that protects user privacy by acting as a transfer station for user capital flow and obfuscating the flow of funds). If users who need mixed currency can use abstract accounts, then TA can use PAYGAS opcodes To pay for the withdrawal, which does not require a relayer to help withdrawing money. (Translator's Note: The use of relayers to help withdrawing money is intended to reduce the association between the withdrawal address and other users, and to protect privacy). If the Ethereum network can act as your relayer, you don't need to rely on another relayer, and you don't need to pay another fee based on a certain percentage based on the gas fee.
This is just one of the effects of abstraction on the Ethereum network. We don't want to discuss too many technical details, but the benefits of abstraction are not just in terms of paying for gas. After the signature verification is transferred to the Ethereum virtual machine, new cryptographic tools can be used when signing transactions. Smart wallet functions such as multi-signature wallets and social retrieve wallets will be at the same level as basic account functions.
Abstraction also facilitates the implementation of the following technical solutions:
-AZTEC protocol and other two-layer privacy scheme
-and many more
In short, developers in the Ethereum community can use more intelligent Ethereum accounts to create more complex processes and provide a smoother user experience.
How long will it take to abstract?
In fact, there is still controversy over how to achieve account abstraction. However, it is certain that account abstraction is likely to be implemented after the phase 0 phase of Ethereum 2.0. Keep in mind that anyone can support the development work of the Ethereum community. Therefore, if you want to see the account abstraction as soon as possible, you can join the team or promote it.
If you want to learn more about account abstraction, check out the entry on EthHub. This entry delves into some possible implementations and enumerates many useful resources.
Thanks for reading this article! If you have any questions or want to talk about Ethereum, please join us on Discord or follow us on Twitter.