Author: David Translation: Deep Tide TechFlow
In the past few months, discussions about account abstraction and smart contract wallets have been very hot.
With the rapid development of the Ethereum ecosystem, achieving unified and seamless user experience has become increasingly important. In the roadmap of Ethereum 2.0, account abstraction and merging, as well as sharding, are placed in equally important positions.
Vitalik Buterin has also tweeted that smart contract wallets provide a better user experience compared to EOA wallets.
- MakerDAO raises the DAI deposit interest rate to 8% What does it mean and what are the challenges?
- FTX and Genesis reach a preliminary agreement on resolving bankruptcy cases
- Smrti Lab Towards the future of multi-rollup, why do developers prefer RaaS?
Therefore, the community gradually formed a consensus that a smooth transition from EOA accounts to smart contract wallets is needed, which has also become a kind of political correctness.
However, the popular information in the crypto circle usually only focuses on narration, without explaining how to achieve it:
Assuming we all know that smart contract wallets are better than EOA wallets, this path is very clear, but the problem is how to get there? Where is the bridge?
Even more difficult to solve are the real problems after path dependence: I already have various assets in my EOA account, now you want me to migrate to a smart contract account, isn’t that troublesome?
How can we effectively achieve this transition? How to simplify the operation of user asset migration?
There was no road in this world until someone paved it in advance.
Recently, the EIP-7377 proposal provides a possible solution for this. The proposal was proposed by Go Ethereum developer Matt Garnett, with the aim of adding a new transaction type that allows EOA accounts to permanently migrate to smart contract wallets through a one-time transaction. This provides a feasible path for advancing Ethereum account abstraction.
Motivation for the EIP-7377 Proposal
Since 2015, smart contract wallets have been considered an important way to solve the user experience problem of Ethereum. Compared to EOA accounts, smart contract wallets have stronger programmability and can implement complex mechanism designs, improving security and user-friendliness.
However, due to historical reasons, currently only a small number of users on Ethereum use smart contract wallets, and a large amount of assets are still stored in EOA accounts. This has become an obstacle to the development of Ethereum.
With the accumulation of assets, users cannot easily manually migrate all assets from EOA accounts to new smart contract addresses, which is very difficult in terms of cost and operational processes.
Therefore, the motivation of EIP-7377 is to address this practical need by providing a mechanism at the protocol level for migrating from EOA to smart contract wallets, achieving a smooth transition. This may greatly increase the willingness of existing users to migrate, and provide a more practical EOA transition solution for new users before the account abstraction becomes popular.
Plain Explanation of the Technical Implementation of EIP-7377
So, how does this proposal specifically achieve the transfer from EOA to smart contract wallets?
In the original post on the technical forum, the author provided a brief explanation:
The general meaning of this abstract is that EIP-7377 proposes a new transaction type 0x 04, specifically for “migration transactions”.
In the technical language of the original post:
“It sets the code field of the sending account in the state tree to the pointer of the specified code in the code storage. At the same time, migration transactions can also directly set the storage value of the sending account. The storage field in the transaction will be written as key-value pairs into the storage tree of the sending account. In addition, the code storage uses pointers instead of inline code. The advantage of doing this is that it can reuse shared code, reduce redundancy, and optimize the size of the state tree.”
The above original description is very obscure and difficult to understand for those without technical background. After consulting some technical friends and public information, we tried to simplify all the technical details and quickly understand EIP-7377 through analogy:
EIP-7377 proposes a special transaction type, which can be understood as a “migration card”.
Ordinary users only need to initiate this migration card transaction to migrate the assets in their accounts to smart contract wallets.
This is equivalent to your original website account, which contains information such as username, password, and avatar (your original EOA contains coin name, quantity, chain, gas limit, etc.). But this website’s functionality is not good, and you want to completely migrate to another new website.
In order to facilitate migration, the new website has launched a “migration card”. You only need to submit this “migration card” on the new website, and your account information will be automatically copied over, which is equivalent to directly connecting the data between the old and new accounts. This is much more convenient than manually transferring data one by one.
At the same time, for security reasons, the “migration card” can only be used once and cannot be repeatedly migrated back and forth to manipulate data. And the new website will inherit some verification rules from the old website, so other users cannot tell if you are a new user or an old user.
This is the technical effect that EIP-7377 wants to achieve. By using the special “migration transaction” card, it completes the smooth migration from EOA to smart contract wallets by directly manipulating account code and storage in a secure and efficient manner.
Of course, the specific migration object is not the username, password, or avatar mentioned above, but includes various information related to encrypted assets:
(Note: Due to a non-technical background, the author is unable to fully understand all the content in this proposal. Please also ask technical experts for further corrections and supplements. Original post address: https://eips.ethereum.org/EIPS/eip-7377?ref=newsletter.ether.fm)
The Potential Impact, Significance, and Risks of EIP-7377
The migration plan proposed by EIP-7377, which migrates EOA to smart contract accounts, is expected to have a positive impact on the Ethereum ecosystem in the long term. We believe it could become a key step in achieving account abstraction.
This smooth migration method supported at the protocol level can greatly reduce the difficulty and path dependence for users to migrate to smart contract wallets. For crypto users, they are often not proficient in underlying technologies and are not actively involved in technical innovation, prioritizing their assets. If the underlying protocol already supports “one-click migration,” and is combined with appropriate incentive activities and user-friendly frontend interfaces, the willingness of users to migrate theoretically will greatly increase.
However, we should also be aware of the risks of this new feature being used for malicious attacks. Possible malicious methods include, but are not limited to:
Phishing attacks: Creating forged migration transactions and deceiving users to approve them through phishing links, in order to illegally transfer assets.
Malicious code implantation: Hackers can implant backdoors by tampering with code during the migration process, gaining control of accounts.
Repeating migrations for theft: Taking advantage of the limitation that migration transactions can only be executed once, hackers can initiate repeated migration transactions after a legitimate migration, falsely claiming failure and then having users approve them again, in order to steal assets.
In the world of encryption, the complete realization of a single protocol upgrade and innovation cannot be achieved overnight. In the dark forest environment, protocol upgrades also require corresponding means such as auditing upgrades, trustworthy source verification, and bounty programs to prevent these threats and ensure the security of migration transactions.
Finally, we also need to consider:
A transition in infrastructure and protocols requires a powerful ecological driving force. Who will drive users to migrate massively from EOA to smart contract accounts? Who will bear the technical risks and asset security during the migration process?
In the crypto world that advocates freedom and decentralization, how can consensus and collective efforts be formed for such system upgrades?
The Ethereum ecosystem is vast, with many stakeholders. Although this transition has positive implications, it may also face questioning and resistance from different groups. The planning and details of the transition process need to be carefully designed to achieve community consensus and ensure that user interests are not harmed.
From ideal to reality, from conception to execution, the journey is still long.