
Author: 0xnatalie Source: Chainfeeds
After more than 3 years of precipitation and improvement, at the 183 ACDE meeting of Ethereum, the EIP-3074 received wide support from the Ethereum community and was officially included in the next Ethereum hard fork.EIP-3074 was proposed by Ethereum researcher Sam Wilson, Go Ethereum developer Matt Garnett, etc., and its core is to allow any external account (EOA) to operate like a smart contract.EssenceAs Paradigm CTO Georgios Konstantopoulos said, “wallet user experience will be increased by 10 times.”So how does EIP-3074 do this?What is the difference between ERC-4337?
EIP-3074 is an upgrade for EVM
An external account (EOA) is a type of account type in Ethereum directly controlled and managed by users, which is the account created by our commonly used notes, such as Metamask.EIP-3074 introduced two new Ethereum virtual machines: Auth and AuthCall, which enables EOA to connect a smart contract and hand over the control of the transaction to the smart contract.
-
Auth instruction: Used to verify an ECDSA signature, and set a context variable “
authorized "
EssenceIf the signature is valid and the signature address matches the given authorized address, it will “authorized
“Set to the authorization address.In this way, the Auth instruction allows a smart contract to represent an EOA execution operation, thereby realizing the entrustment of authorization control. -
AuthCall instruction: Similar to the existing call instructions for executing an external call.The difference is that AuthCall willThe authorized address set by the Auth instruction before using it as the caller addressEssenceIt also means that AuthCall uses the authorized EOA as the sender, not the contract itself.
The overall process is: the user signs the authorization message, the Invoker contract is received and verified, the Invoker contract uses the Auth and AuthCall instructions to send a transaction as an EOA, representing the user’s execution of the transaction, without using the user’s private key, and then returning the result to the user.
The difference from ERC-4337
The ERC-4337 is at the level of the agreement and does not need to change the consensus layer. The main goal is to achieve account abstraction (account abstraction), allowing smart contracts to directly have funds and has the function of similar to Ethereum account.That is to make the smart contract account have the characteristics of EOA actively initiating transactions.
The EIP-3074 needs to be implemented through the Ethereum hard fork. The main goal is to give EOA a function of similar smart contracts, entrust EOA’s control to smart contracts, so that smart contracts can represent users, and support batch transactions, sponsorship transactions(That is, to pay gas costs by third parties to execute transactions).Although it makes EOA have the function of smart contract wallets, the account is still EOAEssenceIf the key is stolen, it means completely lost.(Unless a special contract is set for account recovery)
Why is it important?
In the era of multi-chain, ERC-4337 requires a lot of development to support ERC-4337.The migration transaction proposed by EIP-7377 allows EOA users to migrate their accounts to smart contracts. It requires users to manually send a migration transaction.In contrast, the EIP-3074 allows EOA to have the function of smart contracts, which can be used directly on all chains and does not require users to move manually.
Compared with other proposals, the advantage of EIP-3074 is simple and efficient. Without additional processes, users can enjoy the function of smart contracts.Before the Ethereum community, the Ethereum community would worry about the technical security of EIP-3074. After improvement and testing, the community widely supported the addition of EIP-3074 to the next Ethereum upgrade.Essence
For example, in the field of DEFI, the batch trading function of EIP-3074 will greatly improve the efficiency of liquidity providers and traders and reduce participation costs.In addition, by authorizing user accounts to perform transactions, the DEFI application can be used as the role of sponsor to pay the GAS fee for users, thereby reducing the threshold for users to use DEFI products and promoting large -scale applications of DEFI.
In the field of full-chain games, through EIP-3074, users can grant the authority of account operations to third parties through authorization, thereby avoiding the problem of confirming and paying GAS costs on the chain confirmation and payment of GAS in each transaction.Game developers or other third parties can perform transactions instead of users. Users only need to authorize at one time, simplifying the transaction process and improving the smoothness of the game.
Potential risk
In Ethereum trading, node verifications need to know the details of the transaction in order to properly handle them.This can ensure the security and stability of the network.In EIP-3074, an intelligent contract representative EOA executes the transaction. When it involves sponsorship transactions, interacting with other contracts or accounts may change the status of the account before and after execution of the transaction, making it difficult for the node to verify the transaction to accurately predict the transaction.Impact, thereby causing inconsistent security risks of networks.
In addition, although users can authorize third -party operation accounts by signing, this also means that third -party (Invoker) can operate user accounts to a certain extent, which may lead to potential security issues.If the authority of the third party is abused or attacked by hackers, the user’s funds and personal information may be threatened.