Account Abstraction

Why Account Abstraction

  • limtations of EOAs

    • can only sign txns

    • only support one elliptic curve (secp256k1)

    • difficult seed phrase management

    • no txn batching - gas is expensive

  • multi-sigs on L1

    • e.g. gnosis safe

    • cant start or sign txns

    • second class citizen on ethereum

    • limited support and flexibility

  • goal of account abstraction (4337) is to make smart contract wallets first class citizens

    • customized signature verification (can use different elliptic curves)

    • transaction bundling (multicall)

    • paying fees with non-native tokens

    • payment delegation

  • differences between AA on Ethereum and Starknet

    • ethereum: application layer, starknet: protocol layer

    • both support custom signatures

    • fee delegation: ethereum has paymaster smart contract, starknet has metatransactions

  • signature verification and tx execution logic defined as a smart contract

  • process of having to sign multiple transactions to conduct a single function (e.g. swap) exposes user to potential MEV attacks & other inefficiencies

  • multicall on starknet

    • multiple steps (user operations) as a single transaction

    • create a bundle with all req. txns, and execute entire bundle at the same time in one block

  • with AA, user accounts are smart contracts

  • to deploy a smart contract, you need to pay gas fees

  • but to pay gas fees you need a user account

  • how does one deploy a user account if you dont have a user account to pay gas fees?

  • solution: counterfactual deployments

    1. calculate the address off-chain

    2. send funds to the address

    3. deploy your user account

    4. starknet OS deducts gas fees

Last updated