Proposed by co-founder Vitalik Buterin, this upgrade focuses on improving “account abstraction” on Ethereum.
Ethereum might soon experience a significant enhancement with the introduction of EIP-7702. Proposed by co-founder Vitalik Buterin, this upgrade focuses on improving “account abstraction” on the blockchain platform.
- Vitalik Buterin and his co-authors introduced EIP-7702 as a substitute for EIP-3074 to improve the abstraction of accounts in Ethereum.
- This proposal allows externally owned accounts (EOAs) to function as smart contract wallets temporarily during a transaction, then return to their initial state afterward.
What is EIP 7702 ?
EIP 7702 Aims to Improve Security and Compatibility
As per the Github summary, EIP 7702 stands out as a crucial alternative to the current EIP-3074, tackling major vulnerabilities by steering clear of opcodes that are expected to become obsolete and avoiding fragmentation within the ecosystem. It is designed to be forward-compatible with future quantum computing advancements and aims for seamless integration with EIP 4337, which is increasingly important as quantum technology progresses.
Authored by Vitalik Buterin, Sam Wilson, Ansgar Dietrichs, and Matt Garnett, the EIP presents a novel transaction type that temporarily transforms user accounts into smart contract wallets. This innovation enables complex operations, such as combining multiple actions into a single transaction, thereby boosting the network’s efficiency and flexibility.
EIP 7702 claims to streamline user interactions and lower transaction costs on decentralized exchange (DEX) platforms by removing the need for multiple transaction steps, representing a significant advancement over existing limitations. The community seems highly interested in this new proposal.
A key feature of EIP 7702 is its focus on enhancing user security and autonomy. According to the Github summary, it permits users to sign transactions with temporary, specific permissions, thereby minimizing risks related to key compromises. This aspect not only increases user trust in the system but also strengthens the Ethereum network’s capability to address both present and future security challenges effectively.
When Buterin and his co-authors presented their EIP, it garnered significant attention for its quantum resistance, addressing long-standing concerns in the cryptocurrency community about the threat of quantum computing. This proposal is seen as a proactive measure to mitigate potential quantum threats.
Key Improvements Introduced by EIP-7702
Enhanced Security
EIP-7702 eliminates the permanent delegation aspect seen in EIP-3074, reducing the risk of funds being stolen by malicious contracts.
Soft Fork Compatibility
Unlike EIP-3074, EIP-7702 can potentially be implemented via a soft fork, making it a less disruptive network upgrade.
Improved Compatibility
EIP-7702 is designed to be compatible with the ERC-4337 standard, promoting a more unified approach to account abstraction.
Quantum Resistance
EIP-7702 is regarded as more resistant to quantum computing threats than EIP-3074, offering better future-proof protection.
How EIP-7702 Achieves These Improvements
New Transaction Type
EIP-7702 introduces a new transaction type with fields for contract code and a signature. During the transaction, the signer’s account code is temporarily replaced with the provided contract code, which dictates how the transaction is executed. After the transaction is completed, the account code reverts to its original empty state.
Function Calls Instead of Opcodes
Instead of introducing new opcodes like EIP-3074, EIP-7702 defines functions to be called within the transaction. This approach provides more flexibility and eliminates the need for a hard fork.
Integrated Approach
EIP-7702 proposes a streamlined and more integrated method, blending the security and simplicity of EOAs with the flexibility of smart contracts. At the start of the transaction, the EOA’s contract_code
field is temporarily set to a specific smart contract required for the transaction. Once the transaction is complete, the contract_code
is cleared, and the EOA reverts to its original state. This method avoids the need for new opcodes and the associated hard forks by using callable functions that can seamlessly integrate with Ethereum’s existing infrastructure. Jarrod Watts, developer relations engineer at Polygon, remarked.
Limitations of Externally Owned Accounts (EOAs)
Limited Capabilities
Currently, Ethereum users interact with the network through externally owned accounts (EOAs), which are simple accounts linked to private keys. While EOAs provide basic functionality, they have several limitations. EOAs can only perform simple tasks, such as transferring tokens to other EOAs and initiating transactions that trigger another smart contract transaction.
Security Vulnerabilities
EOAs rely on private keys, which serve as a single point of failure. If the private key is compromised, hackers can gain access to and steal all the funds associated with the account. This makes EOAs particularly vulnerable to security breaches.
Account Abstraction on Ethereum
Ethereum employs two account models: externally owned accounts (EOAs) and contract accounts. EOAs, controlled by private keys, have limited capabilities and security features, restricting their use in complex transactions involving smart contracts. To address these limitations, Ethereum introduced several EIPs, including EIP-4337, EIP-3074, and EIP-5003.
EIP-4337
Implemented in March 2023, EIP-4337 established a framework that allows smart contracts to function as accounts, capable of validating and executing transactions.
EIP-3074
Proposed prior to EIP-4337, EIP-3074 aimed to enhance EOAs by temporarily delegating their transaction authority to smart contracts.
EIP-5003
Building on EIP-3074, EIP-5003 introduced the AUTHUSURP opcode, enabling the permanent conversion of an EOA into a smart contract account.
Recap of EIP-3074
To overcome the limitations of EOAs, EIP-3074 was proposed to enhance their functionality. This proposal introduced two new opcodes: AUTH and AUTHCALL. AUTH allows EOAs to authorize specific smart contracts to act on their behalf, while AUTHCALL enables these authorized smart contracts to execute transactions for the EOA.
The proposal also introduced the concept of third-party transaction sponsorship, where someone else could pay transaction fees on behalf of a user, thereby improving the user experience. Additionally, users could combine multiple transactions into a single one, reducing transaction fees. This aimed to make Ethereum more accessible to users unfamiliar with gas fees or without access to ETH.
However, EIP-3074 had several drawbacks:
Security Concerns
The delegation process raised security issues. Malicious smart contracts, if authorized, could potentially drain user funds.
Hard Fork Requirement
Implementing EIP-3074 required a hard fork, a major network upgrade that can be disruptive.
Limited Compatibility
EIP-3074 did not integrate well with the emerging ERC-4337 standard for smart contract wallets.
Peoples Reaction on this
The Ethereum community has responded favorably to EIP-7702. Many view it as an essential advancement for broader adoption of smart contract wallets, providing enhanced security and increased functionality. Additionally, some highlight its potential for better interoperability with other blockchains, thanks to its compatibility with the ERC-4337 standard. This suggests that EIP-7702 could effectively address long-standing limitations and contribute to a more secure and versatile Ethereum ecosystem.
Source: twitter.com/hayden.eth
Future Outcomes
While EIP-7702 offers a promising future, there are several considerations for its adoption:
Community Consensus
The Ethereum community must reach an agreement on implementing EIP-7702, which will involve discussions, testing, and possible revisions to the proposal.
Wallet Provider Integration
Wallet providers, such as MetaMask, will need to update their software to support EIP-7702 transactions, which is crucial for user adoption.
Smart Contract Security
The security of the smart contract code used in EIP-7702 transactions is vital. Users need to ensure the code they execute is from a trusted source.
Despite these challenges, the potential benefits of EIP-7702 are substantial. If successfully implemented, it could herald a new era for Ethereum, providing users with a more secure and flexible experience while paving the way for advanced account abstraction in the future.