Bryant Nielson | October 11, 2023
The world of blockchain and cryptocurrency is often seen as complicated and confusing, especially for new users. Accounts – the basis for interacting on blockchains like Ethereum – have traditionally been complex, consisting of long hexadecimal addresses that must be copied precisely to avoid errors. However, new techniques like account abstraction are emerging to simplify the user experience. This article will explore the evolution of blockchain accounts, how account abstraction works under the hood, and the potential impact on user experience.
Part I: The Evolution of Blockchain Accounts
Blockchain accounts originated with Bitcoin in 2009. Bitcoin introduced the concept of an Externally Owned Account (EOA) – essentially a public-private key pair that allows a user to receive, hold, and send bitcoin. These accounts are represented by a long string of letters and numbers known as a public address. To spend bitcoin, the owner uses the corresponding private key.
Ethereum built on this model, but also introduced Contract Accounts – accounts controlled not by a person, but by code deployed to the blockchain. While innovative, both account types still relied on users directly managing long hexadecimal addresses and keys. Mistakes in copying these addresses often led to lost funds.
Clearly, the traditional account model has limitations in usability. Account abstraction aims to solve these issues and streamline the user experience.
Part II: The Mechanics of Account Abstraction
Account abstraction uses smart contracts to abstract away blockchain account details like addresses and keys. The contracts act as a proxy layer, handling all the complexity behind the scenes.
Here’s how it works: the user deposits funds into a smart contract wallet. This wallet is tied to a human-readable ID, not a cryptographic address. When the user wants to send funds, they simply input the recipient’s ID. The wallet contract automatically looks up addresses, signs transactions, and more.
Ethereum Improvement Proposal (EIP) 2938 formalized some best practices for these smart contract wallets. Features like batched transactions and meta-transactions allow the contract to bundle together logical operations in an efficient manner. The end result is that users don’t have to directly manage private keys, long addresses, or other blockchain intricacies.
Part III: The User Experience Revolution
Account abstraction has the potential to revolutionize the user experience and bring blockchain to the masses. By abstracting away unnecessary complexity, it makes applications simpler and more intuitive.
For end users, abstracted accounts mean readable IDs instead of long addresses. Sending funds can work similarly to apps like Venmo. And smart contracts become transparent building blocks, not opaque code.
Argent Wallet provides a case study. It’s a non-custodial Ethereum wallet utilizing account abstraction. Users access the wallet via a human-readable username and password, with an easy-to-use interface. Yet it retains the security of a decentralized wallet, unlike custodial exchanges.
Account abstraction is a crucial step in unlocking blockchain for the mainstream user. While the technology is still emerging, it provides a glimpse into how blockchain applications could function in the future. As more projects implement simplified account experiences, we can expect blockchain to become far more accessible. Abstraction is key to getting complexity out of the user’s way.
In the years ahead, we may see broad adoption of blockchain applications that the average person can use intuitively. Just as URLs and IPs abstract away the mechanics of the web, account abstraction removes blockchain’s nuts and bolts to elevate user experience. If implemented thoughtfully, these techniques could be