Why is Vitalik in a hurry to propose the new account abstraction scheme EIP-7702?

CN
1 year ago

This is a proposal between ERC-4337 and EIP-3074.

Author: 0XNATALIE

EIP-3074 was included in Ethereum's next hard fork plan in April this year. The proposal allows Externally Owned Accounts (EOA) to delegate transaction permissions to smart contracts, aiming to provide users with a more convenient experience. However, this feature has also raised concerns in the community, with many members worried that misuse of signatures could put the entire account's funds at risk, providing opportunities for phishing attackers. In order to further enhance security, Vitalik Buterin recently proposed EIP-7702 as an alternative to EIP-3074, sparking widespread discussion in the community.

EIP-7702 introduces a new transaction type to enhance account abstraction functionality. This new transaction type allows Externally Owned Accounts (EOA) to temporarily adopt the characteristics of a smart contract during the transaction process and then revert to their original state after the transaction is completed. So, what are the differences between the account abstraction proposals ERC-4337, EIP-3074, and EIP-7702?

ERC-4337: Application-layer account abstraction standard

ERC-4337: Account abstraction using Alt Mempool. Proposed by Vitalik, ERC-4337 is an application-layer standard aimed at enabling smart contract accounts to have the ability to initiate transactions like EOAs. It introduces a smart contract called EntryPoint, allowing smart contracts to behave like user accounts, meaning users can interact with smart contracts as if they were managing their assets and transactions with an account. This enables complex logic, such as multi-signature and automatic transaction execution.

Key features:

  • No hard fork required: ERC-4337 does not require a hard fork to implement and does not need any modifications to the Ethereum protocol.

  • Compatibility: This approach is compatible with the existing EOA system, making the transition smoother.

  • Objective: Achieve account abstraction, allowing smart contracts to function as accounts for processing and validating transactions.

  • Essence: Enable smart contract accounts to initiate transactions like EOAs.

  • EIP-3074: Authorization and Delegated Execution

EIP-3074: AUTH and AUTHCALL opcodes. Proposed by Ethereum researchers SamWilsn, Go Ethereum developer Matt Garnett, and others, with no involvement from Vitalik in drafting this proposal, this is a method that allows EOAs to delegate their permissions to smart contracts, introducing two new opcodes: AUTH and AUTHCALL, enabling smart contracts to act on behalf of EOAs, such as batch processing transactions and sponsoring gas fees. This is a significant change for Ethereum's virtual machine.

Key features:

  • Delegation mechanism: EOAs can authorize a smart contract through the AUTH opcode and then have this smart contract execute operations on their behalf through AUTHCALL.

  • Security risks: The delegation mechanism may lead to security issues, as authorization to a malicious contract could result in fund theft.

  • Objective: Enhance the functionality of EOAs by allowing them to temporarily delegate their permissions to smart contracts.

  • Essence: Upgrade EVM by adding two opcodes.

EIP-7702: Temporarily Smart Contractized EOA

EIP-7702: Set EOA account code for a transaction. Proposed by Vitalik as the lead author, this proposal was just released on May 7th. As an alternative to EIP-3074, EIP-7702 introduces a mechanism that allows EOAs to temporarily adopt smart contract functionality during a transaction. Through this method, EOAs can temporarily transform into smart contract wallets during a single transaction execution and revert to a normal state after the transaction. Furthermore, because EIP-7702 has provided a framework for temporarily changing EOA code, implementing EIP-5003 (allowing EOAs to permanently transform into smart contract accounts) becomes relatively simple. By setting the code not to be cleared after the transaction ends, EOA to smart contract permanent transformation can be achieved.

Key features:

  • Temporary transformation: During the transaction, the smart contract code of an EOA is temporarily granted the ability to perform specific operations.

  • High compatibility: EIP-7702 is highly compatible with the smart contract wallet code of ERC-4337, allowing for the direct use of smart contract code already written and deployed for ERC-4337, enabling the reuse of existing account abstraction work and avoiding the fragmentation of existing account systems.

  • No need for new opcodes: Compared to EIP-3074, EIP-7702, although also a protocol-level standard, temporarily applies smart contract code in transactions without the need to permanently change the Ethereum virtual machine.

  • Objective: Combine the characteristics of EIP-3074 and ERC-4337 to provide a more flexible and compatible account abstraction solution.

  • Essence: Temporarily apply smart contract code.

EIP-7702 provides a method to achieve functionality similar to EIP-3074 without introducing new opcodes, while better preparing for the realization of the endgame of account abstraction. The endgame of account abstraction refers to a foreseeable future state in which all accounts on Ethereum use smart contract wallets to manage assets and transactions, no longer relying on traditional EOAs. This widespread use of smart contract wallets for accounts is referred to as the "endgame" of account abstraction. EIP-7702 not only addresses current issues but also ensures long-term effectiveness and practicality through its compatibility design with potential future account models.

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

Share To
APP

X

Telegram

Facebook

Reddit

CopyLink