🚀 The special episode of "Dr. Han, What Do You Think" is live!
🎙 Gate.io Founder & CEO Dr. Han takes on a rapid fire Q&A, covering work, life, and some truly tricky questions!
👀 How will he tackle these challenges?
🤩 Click to watch his real-time reactions, and join in the comments!
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.
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.
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:
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."
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:
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:
(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:
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.