Imagine using a flip phone in today’s world—it gets the job done, but it’s clunky and limited in functionality. That’s kind of how blockchain wallets feel right now.
Crypto users still get stuck on 16-word seed phrases, With such a mechanism, onboarding the next billion users into Web3 is going to be hard. Improving the user onboarding experience is critical.
Retaining self-custody over one’s assets is critically important. However, until recently, self-custodial wallets have been clunky and confusing for the average user. Most people forget their Web2 passwords on a monthly basis, so how are users expected to keep their seed phrase and private keys safe for eternity?
Simply put, it’s a security nightmare. As we’ve seen countless times, one wrong move, whether initiated by bad actors or negligence, can result in the loss of millions of dollars.
As the first contact point for new crypto users, Ethereum wallets must be easy to use, secure, and customizable to fit each user’s needs. This requires developers to integrate the simplicity of Web2 financial products with the features of Web3.
This is exactly what account abstraction achieves.
Account abstraction improves the safety and security of self-custodial wallets by removing the users’ reliance on the private key and making wallets programmable. With this improved UX, non-custodial wallets can finally scale to millions of mainstream crypto-users.
With account abstraction, smart-contract wallets (otherwise known as smart-contract accounts) enable broader functionality than externally owned accounts (EOAs), such as setting up automatic payments or integrating with apps. Basically, they’re the smartphones of the blockchain world.
What is native account abstraction?
Before going deeper into understanding what account abstraction is, a brief reminder on the two types of accounts currently available on Ethereum.
- Externally Owned Accounts (EOA)
- Contract Accounts (CA)
Externally owned accounts (EOAs)
Externally owned accounts, like MetaMask and Coinbase Wallet, are the typical account type for Ethereum users. Each EOA consists of a private and public key, called a keypair.
All transactions are authorized and signed by private keys. Once a transaction is signed, the EVM verifies that the signature is valid using the EOA’s account address. The hard-coded logic in the EVM signifies that the account (the object holding your tokens) and the private key (signer) are coupled as one.
Losing your private key means losing your funds, or even control of your account, forever.
Contract accounts
Meanwhile, contract accounts, synonymous with account abstraction, are smart contracts deployed on the Ethereum blockchain. These contracts are controlled by code logic and do not require private keys. Unlike EOAs, contract accounts can not initiate transactions. Instead, their transactions are triggered by instructions from EOAs.
Networks with account abstraction support can be categorized into two: those with native support and those without. Let’s explore their differences.
Native account abstraction refers to the implementation of AA by a protocol such that all user accounts on it are smart-contract accounts by default. This is not the case, for example, on Ethereum. The world’s second-largest cryptocurrency network by market cap recently added support for AA, meaning a developer building a dApp has the option of implementing AA if they want, but it’s not Ethereum’s default setting.
Layer 2 validity rollups like Starknet, on the other hand, do have native support for AA, offering all users access to smart-contract accounts without requiring any additional configuration. Let’s compare networks with native support to those without and see the benefits native support brings to crypto users.
Life without native account abstraction
Networks without native AA, by default, rely on a system of EOAs for user accounts—again, we’re talking about basic crypto wallets. Needless to say, this approach has several drawbacks that native AA aims to address:
- Complexity: As mentioned earlier, interacting with dApps on networks without native AA often requires a user to be somewhat of a crypto cyborg. Let’s take Uniswap, the largest decentralized exchange (DEX) on Ethereum, for example. Imagine you’re excited to finally swap some of your Ether (ETH) for the latest new token that’s creating a stir. Here’s what you might encounter:
-
- Wallet woes: First things first, you’ll need a crypto wallet like MetaMask installed and configured. This involves creating an account, backing it up with a complex seed phrase (remember to write it down and store it somewhere safe or lose access to your funds forever!), and ensuring you have some ETH in the wallet to cover transaction fees.
- Setting up the transaction: Then, you’ll need to connect your MetaMask wallet to Uniswap. You might need to copy your wallet addresses (always making sure to double-check you’ve copied the right address!) and sign a bunch of stuff (man, this process is tiring…)
- Fee troubles: Ready to finally swap your ETH? Not so fast! You’ll need to pay a gas fee in a particular cryptocurrency, depending on the platform you’re interacting with. While Uniswap allows you to use ETH to pay for gas since it runs on Ethereum, it’s not always so simple—and by the way, you have our total sympathies if you’re transacting across blockchains…
- Security risks: EOAs place the burden of security entirely on the user. If you lose your MetaMask seed phrase, or someone hacks your account, your precious ETH and any other tokens you hold are at risk of disappearing forever.
- Limited functionality: EOAs offer limited functionality compared to smart-contract accounts. They can only perform basic actions, like sending and receiving cryptocurrency. This restricts the potential for more advanced dApp features and even functionalities within Uniswap, for example, where you might want to set limit orders or automate trades.
Altogether, these hurdles create a significant barrier between the smooth usability of dApps and the everyday user. With native AA, though, Uniswap and other dApps could become as user-friendly as any other app on your phone.
How native account abstraction changes the game
In contrast, networks with native AA offer a vastly different user experience. Imagine that same scenario with Uniswap, only this time if it were running on Starknet, which has native AA support:
- Seamless sign-up: Forget the need for downloading and configuring a separate crypto wallet. With AA, you can simply sign up for Uniswap using your email address or even an existing social media login (if offered). This is familiar territory, similar to how you sign up for most apps today. No more wrestling with seed phrases or worrying about compatibility with different wallets.
- Frictionless swapping: Ready to trade your ETH for that hot new token? With AA, the platform handles everything behind the scenes. You simply select the token you want to swap and the amount, and Uniswap takes care of the rest.
- Pay fees with whatever you have: AA enables the use of paymasters, which are smart contracts enabling flexible gas-fee payment policies. With paymasters, you can pay for gas in whatever cryptocurrency is most convenient for you.
- Better security: Native AA removes the burden of managing private keys. Starknet itself secures your assets, reducing the risk of loss or theft associated with traditional crypto wallets. This allows you to focus on exploring the exciting world of DeFi with greater peace of mind.
- Advanced features: Smart-contract accounts unlock a whole new level of functionality within platforms like Uniswap. Imagine setting limit orders for your trades, automating recurring token purchases, or even integrating with other DeFi applications seamlessly.
The benefits of native AA extend far beyond just DEXes like Uniswap. Native AA has the potential to make dApps accessible and user-friendly for everyone, not just the crypto-savvy few.
To clarify, networks that offer non-native support for AA can also enable the benefits of smart-contract accounts, but that is usually still more complicated, for both the dApp to build and the users to enjoy.
On Starknet and other networks that support native AA, developers can build dApps that offer users the advantages above with minimal configuration requirements.
Key benefits and use cases of native AA
While you probably already get the picture by now, let’s highlight the key benefits and use cases that native AA brings to a network’s users.
- Greater flexibility: Smart-contract accounts can be customized to implement complex spending rules or integrate with dApps seamlessly, allowing for more sophisticated use cases.
- Improved user experience: AA simplifies user interaction with the blockchain by abstracting away the complexities of private-key management (imagine a world without private keys, yet more secure wallets!).
- Secure multi-party payments: Smart contract accounts can be programmed to facilitate secure escrow services or multi-party payments, where funds are released only upon meeting predefined conditions.
- Recovery mechanisms: We’ve all had nightmares about losing our private keys (haven’t we?). With native AA, wallets can incorporate social recovery features, enabling users to regain access to funds through their email, or even through designated guardians.
- Subscription services: Smart contract accounts can be used to automate recurring payments for subscriptions or other recurring transactions.
- Daily spending limits: Just as your regular credit card provides for limits on how much you can spend in a day or month, account abstraction allows for the same on your smart wallet. Braavos, a smart wallet on Starknet, recently implemented daily spending limits as a new feature.
- Hardware signers: Imagine using your smartphone to verify transactions on the blockchain. Native AA enables this by allowing users to leverage biometric data like fingerprints or facial recognition through mobile wallets (pretty neat, huh?). In fact, Starknet wallet Braavos enables both of these features.
- Paymasters: Forget about having the right token for gas fees. With paymasters, users can pay transaction fees in any token they hold and platforms can choose to cover certain transaction fees for users.
- Multi-factor authentication (MFA): Just like you secure your online accounts with 2FA, AA allows you to set up multi-factor authentication for your crypto wallets.
- Quantum-resistant and gas-efficient signatures: Current signature schemes on some blockchains can be computationally expensive (high gas fees) and potentially vulnerable to future advancements in quantum computing. AA allows different account contracts to leverage more efficient and quantum-resistant signature schemes. In simple terms-–cheaper, more secure accounts for everyone!
dApps Using Account Abstraction
Explore the Starknet ecosystem's dApps and enjoy the benefits of account abstraction
Conclusion
Account abstraction signifies a paradigm shift in blockchain interactions. By enabling smart contract accounts, AA lays the groundwork for more secure and user-friendly blockchains.
Ecosystems with native support for AA, like Starknet, are leading the charge in facilitating the widespread adoption of the technology. Starknet, for one, has been a strong champion of AA, even going as far as partnering with Visa to spread its benefits as far as possible.
For a more technical look at how native account abstraction works, check out this page.
Or, if you can’t wait to see native AA in action and enjoy the seamless user experience of a Starknet app, start your Starknet journey by opening a Starknet wallet with Argent or Braavos today, load up some funds from a layer 1 wallet. such as MetaMask, and plug yourself into one of the great dApps in the Starknet ecosystem.
FAQs
-
Native account abstraction refers to the implementation of account abstraction where all user accounts are smart-contract accounts by default. This contrasts with systems like Ethereum, where account abstraction is optional and not the default.
-
Native account abstraction offers seamless sign-up, frictionless transactions, flexible fee payment, improved security, and advanced features without additional configuration. It simplifies user experience by removing the need for separate wallets and private key management. Networks with native support, like Starknet, enable developers to build user-friendly dApps more easily. This approach makes blockchain interactions more accessible to mainstream users, potentially accelerating crypto adoption by providing a smoother, more familiar experience similar to traditional apps.
-
It enhances security by eliminating the reliance on private keys, enabling features like multi-factor authentication, and providing built-in recovery mechanisms.
-
Challenges include technical complexity, gas fees for wallet creation, potential smart contract vulnerabilities, and a lack of universal standards across platforms.
-
Starknet’s native account abstraction simplifies dApp development by allowing developers to focus on building applications without worrying about wallet integrations or account management complexities. This abstraction standardizes user interactions, making it easier for developers to create seamless experiences across different applications on the platform.