ERC-4337 has been deployed on the Ethereum mainnet. The token standard implementation was initially proposed in September 2021. The Ethereum blockchain has deployed a feature known as “account abstraction,” seen as a key enhancement that could make it easier for users to recover crypto if they lose private keys to an online wallet.
This proposal just adds a new layer atop Ethereum’s mainnet layer. The goal is to eventually integrate account abstraction into the main protocol. Vitalik Buterin, a co-founder of Ethereum, tweeted about ERC-4337’s advantages in October.
The big really valuable and necessary thing that ERC-4337 provides for account abstraction is a *decentralized fee market* for user operations going into smart contract wallets.https://t.co/JUigSO5OtW
— vitalik.eth (@VitalikButerin) October 1, 2022
Features it brings to Ethereum :
- Introduces wallet recovery, so there's no more losing your crypto when you lose your keys.
- No transaction fees are to be paid as it launches gasless transactions.
- Sets up Two Factor Authentication(2FA) for more security & control over transactions. Also, customized authentication users can sign transactions on their phone using a fingerprint or face scan.
- Automated payments with time-based spending limits and monthly spending limits.
- Bundle up transactions in one single transaction as this prevents replay attacks.
- Smart Wallets will replace Externally Owned Accounts(EOA). There will be no more writing down seed phrases.
- Achieve the key goal of account abstraction.
On Ethereum, users can create two types of accounts that hold their crypto, one is External Owned Accounts (EOA) and the other is Contract Accounts (CA). EOAs, which most Ethereum users opt for, is the type of account you use if you open a MetaMask and Coinbase Wallet.
Wallet recovery can be enabled through social recovery, lawyers or friends, etc. It uses stablecoins to pay for gas. Bundle transactions will improve DApp UX from this. Wallet as smart contracts adds tons of customization to the wallet.
The rumors are true... ERC-4337 has been deployed on mainnet 🚀
— erc4337 (@erc4337) March 2, 2023
🔍 Security audit by @OpenZeppelin
🛠️ Bundlers and paymasters by @stackup_fi, @AlchemyPlatform, @biconomy , @etherspot, @candidewallet, @blocknative & more
🏗️ $300K in grants by @ethereum pic.twitter.com/WOjMvaZe6M
Specification Definitions :
- UserOperation is a structure that defines a transaction to be sent on behalf of a user. To avoid confusion, it is not named “transaction”.
- Like a transaction, it includes “sender”, “to”, “calldata”, “maxFeePerGas”, “maxPriorityFee”, “signature”, “nonce”.
- Unlike a transaction, it contains several other fields, described below.
- Also, the “nonce” and “signature” fields usage is not defined by the protocol, but by each account implementation.
- Sender is the account contract sending a user operation.
- EntryPoint, a singleton contract to execute bundles of UserOperations. Bundlers/Clients whitelist the supported entrypoint.
- Bundler is a node (block builder) that bundles multiple UserOperations and creates an EntryPoint.handleOps() transaction. Note that not all block-builders on the network are required to be bundlers
- Aggregator is a helper contract trusted by accounts to validate an aggregated signature. Bundlers/Clients whitelist the supported aggregators.
More Articles
- EthforAll Introduces Quadratic Voting
- SEC enforces full disclosure & investor protection rule on staking-as-a-service
- ZenGo Seedless wallet on Polygon
Other Videos
- TWAMM: Time-Weighted Average Market Maker
- MobyMask: An Initiative to Eliminate Phishers
- Fractional NFTs: EIP-4675 using EIP-1155 & EIP-1633
Disclaimer: The information contained on this web page is for education purposes only. Readers are suggested to conduct their own research, review, analyze and verify the content before relying on them.
To publish press releases, project updates and guest posts with us, please email at contact@etherworld.co.
Subscribe to EtherWorld YouTube channel for ELI5 content.
Support us at Gitcoin
You've something to share with the blockchain community, join us on Discord!