|
Ethereum's account abstraction introduces programmability to five key functionalities traditionally hardcoded in External Owned Accounts (EOAs):
1. **Authentication:** Shifting from fixed ECDSA keys to various authentication methods.
2. **Authorization:** Moving from granting all permissions to a single key to multiple access policies.
3. **Replay Protection:** Separating transaction ordering from replay protection mechanisms.
4. **Gas Payment:** Decoupling gas payment from the account's ETH balance to support alternative gas payment methods.
5. **Execution:** Evolving from single calls to a target address to complex execution logic involving multiple calls.
Advanced signature schemes, such as Schnorr, BLS, and post-quantum signatures, are proposed along with:
- Key management for secure key rotation and dead man’s switches for inheritance purposes.
- Access policies, including multisignature and role-based access control, as well as specific dapp session keys.
- Innovative replay protection, supporting parallel transactions and presigned future operations.
- Gas abstraction to facilitate gas sponsorship and payment with assets other than ETH.
- Execution enhancements, supporting batch transactions and atomicity of transactions, for customized dapp user experiences.
The EIP-3074 proposal, primarily advocated by Sam Wilson, Matt Garnett, and other collaborators, addresses the former viewpoint. It suggests introducing two new opcodes, AUTH and AUTHCALL, into the Ethereum Virtual Machine (EVM), which would be used by entities known as "invokers" — smart contracts designated to run on behalf of an EOA upon receiving authorization.
Under EIP-3074, users digitally sign messages with their private keys to express their transaction intent. This signed message is then incorporated into a blockchain transaction, which attracts an invoker. The invoker, possessing the message and using the AUTH opcode, temporarily assumes the responsibility of commanding the user account. Subsequently, AUTHCALL is used to execute the user transaction. Importantly, this process frees users from the requirement to hold ETH to pay transaction fees, as other assets like ERC-20 tokens can be used for payment.
EIP-3074 proposes seamless enhancements to existing EOAs without the need to migrate assets to new wallet forms (as required by ERC-4337). This approach can be seen as equipping EOAs with additional modular functionalities. |
|