visit
ERC-4337 has arrived, and it's shaking up the game with account abstraction and smart contract functionality all in one account. Here's what you need to know:
As of March 2023, the ERC-4337 proposal has been deployed on the Ethereum mainnet, achieving the goal of account abstraction. It was proposed by Vitalik Buterin and other developers in 2021 and authorized to become an ERC in 2023. This is a big deal and a long-awaited proposal to introduce account abstraction using an alternate mempool. It's a big topic, but don't worry; we're going to break it down and make it easy to understand. So let's get started!
"Account abstraction […] is a key step in making blockchain technology more accessible and practical for everyday use."
Vitalik Buterin, Ethereum co-founder
Account abstraction is a way of separating the concept of an Ethereum account from the blockchain itself. In other words, instead of relying on the blockchain to store and manage account balances and transactions, we can use a separate system to do that. By using an alternate mempool for account abstraction, we can create a separate system for managing account balances and transactions without having to modify the blockchain itself 😱.
I know what you're gonna say: "Isn't storing account balances and transactions on the blockchain the whole purpose of the technology?" And you'd be absolutely right, but there are also benefits of using account abstraction. One is scalability - by reducing the amount of data that needs to be stored on the blockchain itself, we can make Ethereum more scalable and efficient.
Another is flexibility - by using an alternate system to manage accounts, we can create more flexible transaction structures and lower gas costs.
And finally, account abstraction can enable more advanced privacy features by allowing for more sophisticated account management.
ERC-4337 was implemented using a higher-layer pseudo-transaction object called a UserOperation, which is similar to rollups. Users send UserOperation objects into a separate mempool, and bundlers package these objects into a transaction that gets included in a block. The bundlers pay gas for the bundled transactions and get paid fees by the individual UserOperation executions.
While account abstraction could provide benefits like scalability and flexibility, it could also introduce additional complexity and potential security risks, such as Malicious UserOperations, Centralization of bundlers or compromised mempool. So it's important to carefully weigh the pros and cons before implementing it in a project.
🔥If you've been reading this far, you are an absolute legend 😎 and I sincerely appreciate it 🫰. Consider leaving a like or a comment for more content like this.