Externally Owned Accounts are controlled by anyone with the private keys while Contract Accounts are smart contract accounts controlled by code.
EOA is tied to the users and managed by a cryptographic pair of private and public keys.
For EOA to interact with Ethereum, they have to initiate a transaction and pay gas fees for EVM execution
CAs can only send a transaction upon EOA authorization and cannot pay gas fees.
Both these accounts types are still in use to date but with several limitations
These limitations are:
• Losing my private key means my account is lost forever
• Risk of losing assets to malicious actors via phishing, hacks, social engineering e.t.c
• Payment of gas fees in only native tokens
Manually approve each Txns and so many others.
So imagine a situation where EOA has the ability to execute EVM codes like CA (smart contracts) and CA now has the ability to initiate transactions and pay for gas fees just like EOA.
Wait a bit, Saint…So like you reversed their functionalities?
No Ser, rather both doing what each other can’t do before i.e Improved functionalities
This is simply the concept of account abstraction.
In summary, Account Abstraction means EOAs can now do what CAs do and/or CAs can now do what EOAs does with improved and upgraded functionalities.
Chains Leveraging AA
• Ethereum
• zkSync Era
• Starknet
Ethereum
The current state of EVM doesn’t support account abstraction but for AA to be implemented, it has to be done in two ways:
• Upgrading EOAs to execute code
• Upgrading CAs (Smart Contracts)
1/ Upgrading EOAs to execute code
This simply transforms EOAs to act as smart contracts i.e to make EOAs programmable
This can be done in two ways:
• EIP 3074
• EIP 5003
2/ Upgrading CAs (smart contracts)
This simply transforms CAs so they can initiate transactions and pay for gas just like EOAs.
This can be done in two ways:
• EIP 2938
• EIP 4337
zkSync Era
zkSync’s approach to AA takes the form of Ethereum’s EIP 4337 which transforms these account types to act just as CAs.
zkSync's AA is implemented natively into the chain and it's the first EVM chain to support that.
It focuses more on improving the overall UX for web3 users and bringing mass adoption in the following ways:
• No more seed phrases:
Introduces social recovery, biometric verifications e.t.c
• Payment of fees in any token:
Introduces paymaster which covers fees on behalf of the users.
• Uninterrupted user experience:
Limits every interaction signing by introducing sign once and make as many interactions within a defined parameter.
Bundle multiple Txn into one by introducing one-click experience for all.
StarkNet
Similar to zkSync’s approach, StarkNet also launches its chain with the native account abstraction.
StarkNet currently offers Signature Abstraction which will allow different account contracts to use different signature validation schemes than Ethereum’s ECDSA (elliptic curve digital signature algorithm).
ECDSA simply means Txns signature must originate from EOAs private key before it’s considered valid.
Signature Abstraction eliminates this by allowing users to define custom rules for authorizing wallets to Initiate Txns.
StarkNet last proposal also included fee abstraction
Only a few days the polygon zkEVM went live, and this has created a whole new feeling in the space and marks a new beginning to revolutionizing DeFI for mass adoption.
@muxprotocol previously MCDEX is a multi-chain leveraged trading and aggregator protocol which allows zero price impact, supports up to 100x leverage and deep aggregated liquidity to give users a seamless trading experience.