Account Abstraction is confusing because there are a lot of different flavors and a lot of stated benefits.
But the simplest description is: "we want EOAs to have smart contracts"
If we add smart contracts to EOAs, we can (for example) support alternate signature schemes, because the smart contract can:
- keep another public key from another schema (e.g. Passkey) in storage
- verify messages signed by the corresponding Passkey privateKey before executing arbitrary calls via multiCall
Adding smart contracts to EOAs will be a big change and could be chaotic. If it is done naively, accounts will be in a variety of states, and upstream users will have weaker assumptions.
The various flavors of AA (EIP-4337, EIP-3074, EIP-7702) all stem from different approaches to dipping Ethereum's toes in the water with respect to adding smart contracts to EOAs.
EIP-4337 accomplishes "add smart contracts to EOAs" by just telling people "just use a smart contract wallet for now"
EIP-3074 "adds smart contracts to EOAs" by adding two opcodes, AUTH and AUTHCALL, which couple an EOA to a separate smart contract account
- an EOA calls AUTH to attest that a separate contract (the "invoker account") has permission to spend the EOA's assets / call functions on the EOA's behalf
- the invoker acount can use AUTHCALL to make a CALL to a contract as if the EOA were the caller
EIP-7702 "adds smart contracts to EOAs" by allowing EOAs to point to a separate contract account which contains code.
- after this is done, the EOA is "delegated" to that other contract from a code perspective
- people (or the EOA itself) can call the EOA as a contract, and the code from the delegated address will be run as if it were deployed at the EOA
EIP-7702 is elegant in the sense that it doesn't require additional opcodes, and it doesn't open up the EVM to the full craziness of arbitrary bytecode directly on each EOA.
The main protocol modification is adding a new transaction type by which the EOA owner (privateKey holder) signs a delegation to an external contract for its code.
Once that is done, the EOA owner also needs to set up the new authorization method (assuming there is one). For example if another signature scheme like Passkey is going to be used for authentication, the EOA owner needs to upload their Passkey public key to storage along with a ECDSA signature attesting to that newPublicKey.
Once this is done, UserOps can be submitted to the EOA (treating it like a smart contract), signing using the Passkey private key.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
a hierarchy of metrics: 1. net profit (the E in P/E ratio) 2. gross profit (profit before OpEx aka salaries etc) 3. protocol revenue (portion that does or can accrue to tokenholders) net of incentives 4. revenue (protocol revenue + cost of revenue aka LP yield) 5. volume 6. TVL
here is how analysis on protocols can be improved:
A1. be aware that 6/5/4 are easily gamed, and when making comparisons across protocols, endeavor to measure real protocol revenue net of incentives (3)
this might require looking at an unincentivized period or segment
A1 (cont) gamed how?
TVL - gamed by leverage (recursive borrowing) and double-counting from composability - most famously by Dylan&Ian
volume - gamed by wash trading, but also by effectively-negative fees (LOOKS, DYDX, many new platforms)
Eth net supply growth does NOT mean the network's value accrual (i.e. fee burn minus outlays) is 'unprofitable' for tokenholders in aggregate
It just means it's 'unprofitable' (very slightly) for unstaked Eth holders
Quick thread to elaborate:
Fee burn (post EIP-1559) is a value accrual method. Supply goes down + marketcap flat -> price goes up
Inflation from staking would seem like the opposite effect, but it's mostly not: 2/6
Staking-based inflation results in value transfer from nonstakers to stakers. The extreme was OHM with 7000+% APY to stakers but the same principle applies to Eth
Inflation is a 'cost' to nonstakers but a source of income to stakers. To holders in aggregate it's *mostly* 0
3/6