Interpretation of EIP-7377: Paving the way from EOA to smart contract wallet

Original Author: David Compilation: 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 a unified and seamless user experience has become increasingly important. In the roadmap of Ethereum 2.0, account abstraction, merging, and sharding are placed in equally important positions.

Vitalik Buterin also tweeted that the smart contract wallet has a better user experience than the EOA wallet.

Understanding EIP-7377 in one article: the pavement for migrating from EOA to smart contract wallet

For crypto veterans, using the EOA wallet is already proficient enough. But from the perspective of attracting more new users, there are still some problems in the user interface and understanding cost of EOA wallet: confusing signatures, where to get the gas fee, and the hard core logic of "action = transaction" ....

Therefore, the community has gradually formed a consensus that a smooth transition from EOA accounts to smart contract wallets is required, which has also become a political correctness.

However, the popular information in the Crypto circle generally only talks about the narrative, not how to realize it:

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

What is more difficult to solve is the real problem after path dependence: I already have various assets in the EOA account, and now you ask me to migrate to the smart contract account, is it troublesome?

How can we effectively achieve this transformation? How easy is the migration of user assets?

There is no road in this world unless someone paves the road in advance.

Recently, proposal EIP-7377 offered a possible solution to this. The proposal was proposed by Go Ethereum developer Matt Garnett, and its purpose is to add a new transaction type that allows EOA accounts to permanently migrate their accounts to smart contract wallets through a one-time transaction. This provides a feasible path to advance the Ethereum account abstraction.

Understanding EIP-7377 in one article: the pavement for migrating from EOA to smart contract wallet

Motivation for the EIP-7377 proposal

Since 2015, smart contract wallets have been considered an important way to solve Ethereum user experience problems. Compared with EOA accounts, smart contract wallets have stronger programmability, can realize complex mechanism design, improve security and user-friendliness.

However, due to historical reasons, on the whole, only a small number of users on Ethereum currently use smart contract wallets, and a large number of assets are still stored in EOA accounts. This became an obstacle to advancing the development of Ethereum.

With the accumulation of assets, ** users cannot easily manually migrate all the assets in the EOA account to the new smart contract address, which is very difficult in terms of cost and operation process. **

Therefore, the motivation of EIP-7377 is to solve this real demand and achieve a smooth transition by providing a mechanism for migrating from EOA to smart contract wallet at the protocol level. This may greatly increase the willingness of existing users to migrate, and provide a more pragmatic EOA transition plan for incremental users before account abstraction is popularized.

Popular explanation of EIP-7377 technology implementation

So, how does this proposal realize the transfer of EOA to the smart contract wallet?

In the original post on the technical forum, the author gave a brief explanation:

Understanding EIP-7377 in one article: the pavement for migrating from EOA to smart contract wallet

The general meaning of this abstract is that EIP-7377 proposes a new transaction type 0x04, which is specially used for "migration transactions".

In the technical language of the original post:

"It will set 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, the migration transaction can also directly set the storage value of the sending account. The storage field in the transaction will be written as a key-value pair to the sending account In addition, code storage uses pointers instead of inline code. The advantage of this is that shared code can be reused, redundancy is reduced, and the size of the state tree is optimized."

Understanding EIP-7377 in one article: the pavement for migrating from EOA to smart contract wallet

The above original description is very obscure and difficult to understand for people without technical foundation. After consulting some technical friends and public information, we try to simplify all technical details and quickly understand EIP-7377 through metaphors:

  • 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 the account to the smart contract wallet.
  • This is equivalent to your account on the original website, which contains user name, password, avatar and other information (your original EOA contains currency name, quantity, chain, gas limit, etc.). But the site is not functioning very well and you want to completely migrate to a new site.
  • In order to facilitate the migration, the new website has launched a "migration card". You only need to submit this "migration card" on the new website, and then your account information will be automatically copied over, which is equivalent to directly connecting the old and new account data. This is much more convenient than manually moving data one by one.
  • At the same time, for safety reasons, the "migration card" can only be used once, and repeated migrations are not allowed to swipe data back and forth. And the new website will inherit some verification rules of the old website, so other users can't tell whether you are a new user or an old user.

Understanding EIP-7377 in one article: the pavement for migrating from EOA to smart contract wallet

This is what EIP-7377 technically wants to achieve. Using the special "card" of "migration transaction", the smooth migration of EOA to the smart contract wallet is completed in a safe and efficient way by directly operating the account code and storage.

Of course, the specific migration object is not the username, password, and avatar in the above metaphor, but contains various information related to encrypted assets:

Understand EIP-7377 in one article: the pavement for migrating from EOA to smart contract wallet

(Note: Due to the non-technical background, the author cannot fully understand all the contents of the proposal. Please also make further corrections and supplements from the technical experts. Original post address:

Potential impact, implications and risks of EIP-7377

EIP-7377 proposes a migration plan from EOA to smart contract accounts, which will have a positive impact on the Ethereum ecosystem in the long run. We believe that it is expected to be one of the key steps to promote the implementation of account abstraction.

This smooth migration method supported at the protocol level can greatly reduce the difficulty and path dependence of users migrating to smart contract wallets. For Crypto users, they are often not proficient in the underlying technology, and they will not make active technological innovations under the guidance of asset priority. If the underlying protocol already supports "one-click migration", then supplemented with appropriate incentives and friendly adaptation of the front-end interface, the willingness of users to migrate will theoretically increase greatly.

However, we should also be aware of the risk of this new functionality being used for malicious attacks. Possible malicious means include but are not limited to:

  1. Phishing attack: Make a forged migration transaction, and then deceive the user into approving the transaction through a phishing link to achieve the purpose of illegally transferring assets.
  2. Malicious code implantation: Hackers can implant backdoors by tampering with codes during the migration process to obtain account control rights.
  3. Repeated migration theft: Using the restriction that migration transactions can only be executed once, hackers can initiate repeated migration transactions after legal migration, falsely claim failure and then let the user approve again to achieve the purpose of stealing assets.

In the encrypted world, a single protocol upgrade and innovation cannot realize the complete vision overnight. In the dark forest environment, protocol upgrades also need to be accompanied by corresponding audit upgrades, trusted source verification, bounty programs and other means to prevent these threats and ensure the security of migration transactions.

Finally, we also need to think about:

The transformation of infrastructure and protocols requires a strong ecological driving force. 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 encrypted world that advocates freedom and decentralization, how can such system upgrades form consensus and synergy?

Ethereum has a huge ecology with many stakeholders. Although this transformation is positive, it may also encounter doubts and resistance from different groups. The planning and details of the transition process need to be carefully designed to gain community consensus and ensure that user interests are not compromised.

From ideal to reality, from conception to implementation, the road is still long.

View Original
  • Reward
  • Comment
  • Share
Comment
No comments