Ethereum co-founder Vitalik Buterin, along with collaborators Sam Wilson, Ansgar Dietrichs, and Matt Garnett, proposed a new Ethereum Improvement Proposal (EIP) number 7702, designed to significantly improve the functionality of Ethereum’s Externally Owned Accounts (EOAs). EIP-7702 aims to temporarily integrate smart contract functionality into EOA, a revolutionary concept that could redefine user interactions on the Ethereum network.
Evolution of Ethereum Account Abstraction
Ethereum’s account model includes two basic types: externally owned accounts (EOA) and contract accounts. EOAs are controlled by private keys and have limited functionality and security features, limiting their use in more complex transactions typically reserved for smart contracts.
Several EIPs have been introduced to address these limitations.
- EIP-4337: Implemented in March 2023, it built a framework that allows smart contracts to act as accounts that can validate and execute transactions, known as UserOps. This offering significantly improves user experience by incorporating advanced features such as biometrics, especially in applications developed on platforms such as Polygon and Coinbase.
- EIP-3074: This protocol, proposed before EIP-4337, aimed to empower EOAs by allowing them to temporarily delegate transaction authority to smart contracts. The proposal includes two new opcodes, AUTH and AUTHCALL, to facilitate this delegation, but security concerns have been raised about the potential for misuse by malicious contracts.
- EIP-5003: Building on EIP-3074, this proposal introduces the AUTHUSURP opcode, which can permanently convert an EOA to a smart contract account, solving some compatibility issues with EIP-4337 while creating potential fragmentation in the account abstraction methodology.
Innovative aspects of EIP-7702
The introduction of EIP-7702 is a response to the complex environment created by its predecessor. We propose a more concise and integrated approach by allowing EOAs to temporarily adopt smart contract code during transactions, combining the security and simplicity of EOAs with the versatility of smart contracts.
EIP-7702 has risen pic.twitter.com/bwInPdWaE5
— ً (@lightclients) May 7, 2024
Here’s how the EIP-7702 works: At the start of a transaction, the EOA’s contract_code field is temporarily set to the specific smart contract code required for the transaction. This code leverages smart contract functionality to execute transactions. Once the transaction is complete, the contract_code is cleared and the EOA returns to its original state.
This process instead uses callable functions (check AUTH and execute AUTHCALL) that can integrate seamlessly with existing Ethereum infrastructure, thus bypassing the need for new opcodes and associated hard forks.
Jarrod Watts, developer relations engineer at Polygon, emphasized the importance of EIP-7702, saying, “Vitalik just proposed EIP-7702. “This is one of the most impactful changes Ethereum will bring.” The community’s response highlights the transformative potential of EIP-7702 in bridging the gap between traditional EOAs and more dynamic smart contract accounts.
“EIP-7702 represents the fusion of the flexibility of smart contracts and the underlying security model of EOA,” Watts said. “This is an important step forward in making Ethereum more accessible and secure for everyday users.”
Vitalik just proposed EIP-7702.
This is one of the most impactful changes Ethereum will bring.
Here’s everything you need to know about how it works and how we got there.
— Jared Watts (@jarrodWattsDev) May 8, 2024
If adopted, EIP-7702 could fundamentally change the way users interact with decentralized applications (dApps) and manage digital assets on the Ethereum network. By allowing EOAs to temporarily operate with advanced features in smart contracts, EIP-7702 promises a seamless and more secure user experience that can accelerate the adoption of Ethereum’s more sophisticated features.
However, the success of EIP-7702 will depend on thorough testing, community consensus, security implications, and especially careful consideration of how temporary smart contract code is managed and revoked.
At press time, ETH was trading at $2,997.
Featured image from Forbes India, chart from TradingView.com