This post provides an overview of my expertise on ERC-4337, a standard that aims to simplify account handling for users and provide a “bank-like” experience.
What’s ERC-4337?
ERC-4337 is the most cutting-edge ERC added to the Ethereum mainnet. Its potential to greatly enhance user experience is unparalleled, without needing any modifications to the consensus-layer protocol.
This standard was initially proposed by Vitalik Buterin in 2021 and was deployed on the Ethereum mainnet in March 2023. By using this standard, it is possible to implement Contract Accounts with a different set of enabled features than Externally Owned Accounts.
To enable these new features, a new object called UserOperation has been added to package user intent and create a new memory pool to manage user intent.
UserOperation and Entry point fields
A UserOperation looks like a transaction; it’s an ABI-encoded struct that includes fields such as:
- sender: the wallet making the operation
- nonce and signature: parameters passed into the wallet’s verification function so the wallet can verify an operation
- initCode: the init code to create the wallet with if the wallet does not exist yet
- callData: what data to call the wallet with for the actual execution step
Although there are more aspects that are important in this operation, one key element is the Entry Point — a singleton contract used to execute bundles of UserOperations. Bundlers/Clients whitelist the supported entrypoint.
Much of the complicated safety measures are done in a global contract called the “entry point”. The “validateUserOp” and execution functions are gated with “require(msg.sender == ENTRY_POINT)”, so only the trusted entry point can cause a wallet to perform any actions or pay fees. The entry point creates a wallet using the provided “initCode” if the wallet does not exist already. This is enough to protect wallets from attacks.
Awesome new possibilities ✨
Here are some new possibilities that we can explore using ERC-4337:
- Multisigs and social recovery
- More efficient and more straightforward signature algorithms (eg. Schnorr, BLS)
- Post-quantum safe signature algorithms (eg. Lamport, Winternitz)
- Wallet upgradeability
- Entities with the ability to perform multiple tasks, handle multi-factor authentication, initiate and sustain cryptocurrency subscriptions, and perform other functions.
- Standard user-onboarding using mobile devices.
- Changes are easy to implement on other chains that are Ethereum Virtual Machine compatible.
Check out some great points in this article https://beincrypto.com/learn/erc-4337/#h-what-does-erc-4337-mean-for-the-users
Conclusion
I truly believe that this new standard has come to help the mainstream adoption of web3, bringing several new possibilities and simplified processes. Before learning about this standard, I was following the LUKSO network. Perhaps by combining these two ideas, some interesting possibilities could arise.
All Comments