Popular tags

    Can you explain what is Abstract Account?


    3 months ago




    This question has a bounty of $0.00 in testnet ETH. Answers to this question are eligible to win that bounty.

    These are testnet contracts. Not real ETH.


    1. What’s the difference between AA (Abstract Account) and EOA (Externally Owned Account)?

    2. What is an abstract account? Where is the account address derived from? Does the account address also come from the mnemonic and the private key?

    3. What is multi-call? What will it bring to UX?

      account abstraction



    3 months ago

    2 answers


    Accepted answer


    Account abstraction is a new paradigm to make blockchain accounts programmable. To first understand AA, you need to understand how things work today. Then I will explain what’s unique and new about account abstraction.

    The Status Quo

    • Today there are two account types on Ethereum : Contract Accounts and Externally Owned Accounts (basically that last one is regular user accounts).
    • For anything to happen on-chain a transaction must be initiated and paid for by an EOA.
    • The way you control an EOA is through its private key. You use this private key to create a signature that proves to the blockchain it’s your account.

    Why it sucks

    • With this setup your private key makes you super vulnerable. And if you lose it, you lose your account and all your funds… Recently a friend of mine inadvertently uploaded his main private key to a public GitHub. A scanning bot instantly picked it up and drained his account of all his saving. $15k worth of tokens.
    • The main issue is that the system is rigid and hard coded. You can implement multi-signature smart contract wallets like Gnosis Safe but the default is this: you get an account with a key and if you lose your key, you’re fucked.
    • The alternative of custodial accounts like Coinbase is not great. If they get hacked you have the same problem, and a single point of failure makes it super easy for governments to seize or freeze all your funds arbitrarily.

    What Account Abstraction improves

    • Account Abstraction unifies Contract Accounts and EOAs. It makes user accounts more ‘programmable’. You remove the logic of signing transactions from the account, you “abstract” it out, hence account abstraction.
    • This unlocks much more flexibility, you could code an account for multi-sig, 2-factor authentications, withdrawal limits, expiration on keys… it makes me think of Revolut Virtual Cards.
    • This is very very exciting because it allows the non-custodial blockchain UX to scale. (Can you really imagine the security risk of letting your parents manage their private keys when their email password is “Miami1973”?)



    3 months ago

    Answer is not submitted on chain


    EOA is a pair of cryptographic keys that holds your assets and all the transactions must be signed by its private key.

    Abstract Account decouples the relationship between account and signer. Abstract Contract is absolutely a contract, the address of the account is computed like a normal smart-contract not derived from the signer.

    Abstract Contract supports multi-call natively, which can make a sequence of operations as one atomic transaction.

    In terms of UX it will bring an amazing improvement. For example the Aspect NFT Marketplace on Starknet, you can add all your favorite NFTs to your shopping cart and then you go buy them only in one transaction.

    Answer is not submitted on chain

    Your answer