August 28, 2023
Beginners Guide to Smart Contract Wallets, Account Abstraction, and ERC-4337
By: Soul Wallet
Welcome to our beginner's guide on smart contract wallets, account abstraction and ERC-4337! Learn about the past and future of Ethereum wallets and Ethereum user experience. Regardless if you're new or an experienced crypto user, this is designed to give you helpful information on your learning journey.
With its official debut in 2015, the Ethereum blockchain marked a paradigm shift for the early crypto industry and the beginning of a revolution for the entire world. Through smart contracts, Ethereum created new tools for human coordination, including decentralized finance (DeFi), decentralized autonomous organizations (DAOs), non-fungible tokens (NFTs), digital identity systems (ENS), and much more.
In order to access the new exciting world of Ethereum and these tools, you need a wallet. Wallets are the access point that allows you to store funds, transact, swap, lend, borrow, stake, and much more. The first Ethereum wallet was Mist, a full-node software wallet that was released by the Ethereum foundation, but the vibrant Ethereum community quickly created alternatives including software wallets like MyEthereumWallet, Metamask, and hardware wallets like Ledger. Smart contract wallets like Soul Wallet are the next evolution.
Below you can see the evolution of Ethereum wallets over time.
Most traditional Ethereum wallets are Externally Owned Accounts (EOAs). An Ethereum Externally Owned Account (EOA) is a type of Ethereum account controlled by a private key and has the ability to send transactions and interact with smart contracts on the Ethereum network. Examples include Metamask, Coinbase Wallet, Rainbow Wallet and many more, which require you to remember a secret recovery phrase to keep your money safe. While EOA's are straightforward and free to create, they can sometimes feel rigid, inflexible and impersonal.
Smart contract wallets (sometimes called Smart Accounts), however, harness Ethereum's programmability. Offering you unmatched control, they are the preferred choice for those desiring flexibility and a wallet that is truly your own. Platforms like Argent have pioneered this movement, while at Soul Wallet, we envision a revolution in the Ethereum user experience, starting with your wallet.
Smart contract wallets are the future of Ethereum!
Account abstraction helps enable better smart contract wallets by making them easier to build and safer to use. At its core, account abstraction is a mechanism allowing you to simplify your interactions with the Ethereum blockchain. Before account abstraction was proposed, Ethereum transactions followed a rigid structure, often limiting the potential innovations and customizability that could be experienced by users. As Ethereum has grown in its complexity and user base, there has been a clear demand for more flexible transaction models and wallet designs. Instead of being bound by preset rules within EOA’s, with account abstraction, you can define you can customize your wallet experience to your liking. This opens up tremendous benefits across both user experience and security. At Soul Wallet, we consider account abstraction the lever that helps make using Ethereum easy and secure.
What is bringing account abstraction to Ethereum? ERC-4337! An audited Ethereum standard was originally written by Vitalik Buterin, Yoav Weiss, Dror Tirosh, Shahaf Nacson, Alex Forshtat, Kristof Gazso, and Tjaden Hess. It's specifically tailored to enable account abstraction on Ethereum without necessitating consensus layer 1 protocol changes. This means more user-friendly Ethereum wallet designs, unlocking all the benefits we will discuss in this blog post.
Recognizing its potential, we've chosen to implement the ERC-4337 standard in our wallet development. This decision aligns with our commitment to delivering a next-generation wallet that combines ease of use and enhanced security. With this standard, we envision offering you an Ethereum web3 wallet experience that is as unique as you are. Your Soul Wallet is You!
Smart contract wallets offer enhanced user experience, by harnessing the power of account abstraction.
One notable benefit of web3 smart contract wallets is the social recovery mechanism. You can appoint trusted contacts (Guardians) such as friends, family or your other wallets to assist in wallet recovery in the case of loss or theft. Given that smart contract wallets aren't generated via a private key, Guardians become your vital account recovery path. While this is much more streamlined than old wallet recovery methods of writing down secret recovery phrases, this isn’t the end game. Account abstraction opens the door to wallet creation via social logins, passkeys, and many other potential new functionality options, enhancing the overall user experience.
Transaction batching and gas abstraction is another huge advantage with smart contract wallets. For instance, you can make a swap on a Uniswap, deposit your new asset in Aave, and take out a loan all within a single transaction. Furthermore, you can initiate that transaction even if you don’t have any ETH in your wallet, since your smart contract wallet will allow you to pay for gas with any supported ERC-20 token you may have in your web3 wallet.
Finally, account abstraction enables smart contract wallets to offer sponsered transactions. This means that third parties (such as Dapps or Layer 2 blockchains) can enable you to interact on chain for free, since they will be covering the gas fees via sponsorship!
This is user experience at its finest.
Smart contract wallets are a game-changer for crypto security and address many challenges prevalent in traditional EOA wallets.
A central advantage of smart contract wallets is the ability to have features such as multi-sig authorization and key rotation. A multi-layered authentication approach is invaluable for joint accounts or organization accounts where multiple approvals are desired to approve and process transactions. At Soul Wallet, you can easily turn on our two-factor authentication feature. This will make it so assets can not leave your wallet without your approval via a second device/wallet.
In addition, smart contract wallets can enable transaction limits, automated recurring transactions, and more. For instance, if you are traveling to Devcon for a week, you can set a transaction limitation that will prevent your wallet from sending more than 1 ETH during the specified time window you will be traveling. This can allow you to keep your wallet with you and utilize it for normal small transactions, but prevent larger scale money movements, improving security and protecting your nest egg. Automated recurring transactions are also possible with smart contract wallets. For example, if you need to pay your gardener a flat rate every two weeks, instead of having to login into your wallet and manually process the transaction each time, you can set it up one and have it automatically sent each week!
Smart contract wallets leverage code-based rules to help you achieve an unprecedented level of control over your assets, resonating with the core Ethereum principles of decentralization and self-sovereignty.
With Soul Wallet, you are truly in control.
While there are tremendous benefits to Smart Contract Wallets and they are paving the way as the future of Ethereum wallets, it's important to understand challenges and concerns that may exist.
The first challenge is ensuring that they are supported by 3rd party Ethereum Dapps like Uniswap, Aave, MakerDAO, and other Ethereum decentralized applications. Luckily, the Ethereum community is generally aligned in understanding that smart contract wallets are the future and we are already seeing broad based support for EIP1271 signature scheme validation.
The second concern is the potential vulnerabilities or risks associated with the core smart contracts of the wallet itself. Since these wallets are built on smart contracts, there always exists the chance of bugs in the contract. Luckily, security is the #1 priority at Soul Wallet, so we have taken a multi-prong approach to ensuring our smart contract wallet is the most secure on the market. Our Core Smart Contract code has been designed with a security-first approach. While extensible and flexible, we've intentionally kept away from complexity. The Ethereum community is already reviewing the code, and formal audits will start in Q3.
A third concern is the decentralization of Bundlers. Bundlers within ERC-4337 smart contract wallets are similar to Validators on Ethereum. They are responsible for gathering transactions from the alternative mempool and packaging user transactions into bundles. While this can have centralization concerns, Soul Wallet is dedicated to having an open market for Bundlers and allowing users to decide who their bundler will be.
The final challenge with smart contract wallets is their support for Layer 2 solutions. While Ethereum Layer 1 has been the main playground for Ethereum users historically, the future is a rollup-centric roadmap. This means that important Layer 2's such as Optimism, Scroll, Taiko and others will need to be supported. At Soul Wallet, we deeply believe in a roll-up-centric future and we want to support all the popular Layer 2 solutions that make sense.
Smart contract wallets are the next evolution of the Ethereum user experience, which open the door to more self custody ease of use, security and customizability.
Account abstraction, which helps enable smart contract wallets, offers numerous benefits to Ethereum users. It enables customizable security features, gas fee abstraction, flexible key management, transaction batching, and much more. Together, these advantages enhance the usability and security of Ethereum, bringing us closer to the ideal of a user-centric and self-sovereign digital economy. Account abstraction and smart contract wallets play a critical piece in the future of Ethereum.
As the Ethereum ecosystem continues to evolve and innovate, Soul Wallet seeks to exist as a public good that makes Ethereum easier to use and more secure for every human that desires to participate.