EIP-7377 An excellent solution for migrating from EOA to smart contract wallets before the popularization of account abstraction.

EIP-7377 A great solution for migrating from EOA to smart contract wallets before account abstraction becomes popular.

Author: David

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 a 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 offer a better user experience compared to EOA wallets.

For experienced crypto users, using an EOA wallet is already familiar enough. But from the perspective of attracting more new users, EOA wallets still have certain issues with user interface and understanding cost: confusing signatures, figuring out gas fees, the hardcore logic of “action = transaction,” etc.

Therefore, the community has gradually reached a consensus that there is a need for a smooth transition from EOA accounts to smart contract wallets, which has also become a kind of political correctness.

However, the information popular in the crypto community generally only focuses on narratives and not on implementation:

Assuming we all know that smart contract wallets are better than EOA wallets, the path is very clear, but the question is how to get there? Where is the bridge?

Even more difficult to solve are the real problems that come with path dependence: I already have various assets in my EOA account, and now you want me to migrate to a smart contract account, isn’t that troublesome?

How can we effectively achieve this transition? And how can we simplify the process of user asset migration?

There was no road in this world until someone paved it in advance.

Recently, the EIP-7377 proposal has provided a possible solution for this. The proposal was put forward by Matt Garnett, a developer of Go Ethereum, 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 Behind EIP-7377 Proposal

Since 2015, smart contract wallets have been considered an important way to solve the user experience problem on 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 the assets in their EOA accounts to new smart contract addresses, which is very difficult in terms of both cost and operational processes.

Therefore, the motivation of EIP-7377 is to address this practical need by providing a mechanism at the protocol level to migrate 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 pragmatic EOA transition solution for new users before the account abstraction is widely adopted.

Plain Explanation of EIP-7377 Technical Implementation

So, how does this proposal specifically implement 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 summary is that EIP-7377 proposes a new transaction type 0x04 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 a pointer to the specified code in the code storage. At the same time, the migration transaction can also directly set the storage value of the sending account. The storage field in the transaction will be written as key-value pairs in 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 people without a technical background. After consulting some technical friends and public information, we attempt to simplify all the technical details and provide a quick understanding of EIP-7377 through metaphor:

  • EIP-7377 proposes a special type of transaction that can be understood as a “migration card”.
  • Ordinary users only need to initiate this migration card transaction to transfer the assets in their accounts to smart contract wallets.
  • This is equivalent to your account on the original website, which contains information such as username, password, and avatar (your original EOA contains token name, quantity, chain, gas limit, etc.). However, the functionality of this website is not very good, and you want to completely migrate to another new website.
  • In order to facilitate the migration, the new website has introduced 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 of 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 used to transfer data back and forth. Moreover, the new website will inherit some validation rules from the old website, so other users cannot tell whether you are a new user or an old user.

This is the effect that EIP-7377 wants to achieve technically. By using the special “migration transaction” card, the smooth migration from EOA to smart contract wallets is achieved 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 it includes various information related to encrypted assets:

The potential impact, significance, and risks of EIP-7377

The EIP-7377 proposed EOA-to-smart contract account migration scheme, which is expected to have a positive impact on the Ethereum ecosystem in the long term. We believe that it is expected to be one of the key steps in promoting account abstraction implementation.

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 will not actively pursue technological innovation under the orientation of asset priority. If the underlying protocol already supports “one-click migration,” and is accompanied by appropriate incentive activities and user-friendly front-end interface adaptation, the theoretical willingness of users to migrate will greatly increase.

However, we should also pay attention to the risks of this new feature being used for malicious attacks. Possible malicious means include, but are not limited to:

  1. Phishing attacks: Creating counterfeit migration transactions and deceiving users into approving them through phishing links to achieve the purpose of illegally transferring assets.
  2. Malicious code injection: Hackers can implant backdoors by tampering with the code during the migration process to gain control of the account.
  3. Repeated migration theft: Taking advantage of the restriction that migration transactions can only be executed once, hackers can initiate repeated migration transactions after a legitimate migration, falsely claiming failure and then asking users to approve again, in order to steal assets.

In the crypto world, the complete realization of the vision cannot be achieved with just a single protocol upgrade and innovation. In the dark forest environment, protocol upgrades also require corresponding means such as audit upgrades, trusted source verification, bounty programs, etc., to prevent these threats and ensure the security of migration transactions.

Finally, we also need to think:

The transformation of infrastructure and protocols requires strong ecological driving forces. Who will promote the large-scale migration of users 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 compromised.

The journey from ideal to reality, from conception to execution, is still long.

We will continue to update Blocking; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Blockchain

Will Bitcoin be a harder asset than gold? About value, scarcity, and S2F

Author: Hope (NPC community members) Source: NPC Source Program The halving of Bitcoin block rewards in May 2020 is a...

Blockchain

Tracking Plus Token: Bitcoin dropped 20% in 2 days, is it the smashed disk?

Text: 嚯 嚯 Source: Hive Finance Editor's Note: Original title was "Tracking Plus Token" B...

Blockchain

Bitcoin scripts ushered in important upgrades, and Pieter Wuille officially announced the Miniscript project

Although the function of Bitcoin script is limited, its importance is self-evident, and it has ushered in a major upg...

Blockchain

Research Report | How does the developing blockchain affect emerging markets?

Continue with Chapter 1 "Blockchains – a new trust machine? After this article, this article continues to ...

Blockchain

A new attempt at traditional finance, the technology of the Stock Exchange enters the currency circle

In January 2019, the London Stock Exchange Group announced a partnership with the digital asset trading platform AAX,...

Blockchain

Grayscale Q3 Report: Investment inflows exceeded $250 million this quarter, a twofold increase from the previous quarter

Grayscale, the digital currency asset management company, announced yesterday that its "digital market capitaliz...