A gaggle of outstanding Ethereum builders, together with Vitalik Buterin, has proposed a brand new transaction sort (EIP-7702) to reinforce the performance and safety of Externally Owned Accounts (EOAs). The proposal goals to deal with frequent points reminiscent of transaction batching, sponsorship, and privilege de-escalation.
In response to the EIP-7702 draft, the brand new transaction sort “provides a contract_code area and a signature, and converts the signing account (not essentially the identical because the tx.origin) into a wise contract pockets during that transaction.” The proposal is meant to supply comparable performance to EIP-3074.
The motivation behind EIP-7702 is to offer short-term performance enhancements to EOAs, rising the usability of purposes and, in some circumstances, permitting for improved safety. The proposal outlines three specific purposes: batching, sponsorship, and privilege de-escalation.
Whereas EIP-3074 solves these use circumstances, the authors of EIP-7702 imagine it has forward-compatibility issues. They state that EIP-3074 “introduces two opcodes, AUTH and AUTHCALL, that might haven’t any use in an ‘endgame account abstraction’ world the place finally all customers are utilizing good contract wallets.”
Moreover, they argue that EIP-3074 “results in the event of an ‘invoker contract’ ecosystem that might be separate from the ‘good contract pockets’ ecosystem, resulting in doable fragmentation of effort.”
The specification of EIP-7702 particulars the transaction payload format and the method of executing the transaction, which entails setting the contract code of the signing account briefly and reverting it again to empty on the finish of the transaction.
The authors present a rationale for the way EIP-7702 can convert EIP-3074 use circumstances, stating that “it requires pretty little work to transform an present EIP-3074 workflow.”
Additionally they argue that EIP-7702 is designed to be forward-compatible with future account abstraction, avoiding the creation of separate code ecosystems and the necessity for brand spanking new opcodes which will change into out of date.
Regardless of the potential advantages, the authors acknowledge that EIP-7702 breaks the invariant that an account stability can solely lower on account of transactions originating from that account, which can have penalties for mempool design and different EIPs.
As with every proposal requiring customers to signal contract code, the authors emphasize the significance of person wallets being cautious about which contract_code they signal, highlighting the shared safety issues with EIP-3074.