What is Account Abstraction?

Account abstraction is the customizability of your crypto wallet to make it more safe and convenient, giving you or your DAO easier control of your assets.

It’s when you turn a basic crypto wallet (also called an externally-owned account or EOA) into a customizable smart contract, like a DAO contract or multisig, that allows you to adapt the wallet to best fit your needs.

To abstract something is to draw attention away from something. When we abstract actions in crypto, we are pulling the action the user takes away from the action that’s performed on the blockchain.

In practice, account abstraction is when we replace externally-owned accounts (EOA wallets like Metamask) with programmable smart contracts, like a DAO contract, multisig, or smart wallet. Rather than using the basic functions of an EOA, we can program more safeguards and improvements into a smart contract that holds funds for you.

For example, when you click on the Mail icon on your desktop menu bar, that is an abstraction that makes it easier to access your email with one click. Even typing in “gmail” into the search bar and signing in with your username and password is an abstraction. If you were interacting directly with the source code, that would not be an abstraction.

Why is account abstraction important?

From Mt. Gox to FTX, we’ve seen centralized exchanges fail to safely hold user funds time and time again. Sacrificing the web3 values of trustlessness and transparency for better UX is unfortunately a choice that many users have lost funds over.

Never has self-custody, permissionless execution, and decentralization proved so important. But, self-custody comes with risks. Poor user experience, unfamiliar security practices, and unclear sign-up flows mean that getting started with an EOA wallet is extremely daunting for a first-time user, making the centralized exchange look all the more attractive.

Account abstraction can strike a balance between self-custody and protection from human error. This is done by improving the user experience of your self-custodial wallet, so you don’t need as much technical knowledge to interact with crypto and the blockchain. This means that account abstraction increases the overall safety of using the wallet, because it’s easier to use the wallet correctly and avoid making mistakes.

By using smart wallets—programmable smart contracts on the blockchain—rather than simple EOAs, we can program more functionality directly into the wallet itself, which wouldn’t be possible with an EOA. These functions can improve wallet UX, prioritize security, and bend to fit the needs of specific verticals, like investment, gaming, social, and art collection.

Through DAOs, you can make account abstraction a collective endeavor by abstracting away the responsibility of holding your organization’s keys. Instead, manage your organization’s treasury on-chain as a team.

A DAO itself is an account abstraction

A DAO itself is an account abstraction

A DAO contract is an on-chain treasury with certain parameters that determine when the treasury can “move,” or be transferred to different addresses. So, if one actor wants to fund a work stream, and the others don’t agree, that actor cannot unilaterally move the funds. Tokens or allowlisted wallets vote on whether or not the funds can move, and if they don’t reach quorum and pass rate, they don’t move.

Fundamentally a DAO is an account abstraction, because voting abstracts the treasury, which is stored in a vault managed by smart contracts on-chain.

You can think of a DAO as a smart wallet with many holders who have to meet certain thresholds to execute a transaction. The governance parameters, such as quorum, vote duration, pass rate, and timelock, are security mechanisms themselves. With properly set parameters, security is baked into your DAO. Security is more than the code behind the contract: security is part of the process of creating the DAO and its governance.

Account abstraction uses cases

What are some use cases of account abstraction?

Here are some ways account abstraction can be applied for more efficient, safer asset management on the blockchain:

Recovery options for wallets

Today, if you lose your private key, you lose access to all your funds on that account. They’re locked on the blockchain forever. This makes succession planning nearly impossible, unless you share the entirety of your wallet information with at least one person, meaning they could easily move funds without your knowledge.

Account abstraction allows us to further customize what you can do with that wallet so the funds aren’t locked for eternity. For example, you could enable social recovery, meaning that multiple actors have different pieces of your seed phrase, and they can put them together to recover your funds. But, no single actor has the entire key. This adds a layer of security for the asset owner and their dependents, abstracting away the risk of holding your private key yourself.

Two-factor authentication and safeguards for signatures on mobile

For more security, you could add two-factor authentication to your smart wallet. For example, if you want to send funds over a certain limit, you would need to sign the transaction with a hardware wallet as well as your browser smart wallet.

This could also be helpful for using your wallet on your phone, which isn’t as secure. With account abstraction, you could create a smart wallet that authorizes a mobile key to sign transactions on your phone. You could set a limit, such as to not allow transactions above 1 ETH, and to override that limit you need another signature.Batching transactions for efficient blockchain gaming and social

If you’re playing or developing a web3-enabled game, you’ll quickly realize that signing a transaction for every action you take is annoying and detracts from the game itself. Instead of using an EOA, a smart wallet could batch transactions meaning you only need to sign a transaction once you reach a certain number of events. Instead of signing a transaction every hour, just sign one big transaction at the end of the game.

This is also applicable for web3 social. It would be cumbersome to sign a transaction every time you follow someone, post something, or like a post. Batching transactions makes this much easier, so you don’t have to constantly open your browser wallet to perform actions.

How does aragon use account abstraction

How does Aragon use account abstraction?

Because of the modularity of the new Aragon protocol, you can design your DAO vault how you want. This system is highly flexible and can be easily upgraded allowing for added functionality, unlike a typical multi-signature wallet. Here’s how we use account abstraction:

1. Governance mechanisms

The governance mechanisms at Aragon are an account abstraction because the process of voting abstracts away access to the DAO treasury itself.

Whether you use an allowlist of wallets or launch a token to distribute governance power to token holders, you’re abstracting away access to funds with the governance mechanism you use. Instead of having an EOA with a single signer, you have a smart contract that is basically a smart wallet with lots of permissions and requirements for “signing” the transaction, or moving the funds.

2. Permission management

The new Aragon protocol is a permission management system for DAOs. Grant and revoke permissions to different plugins as your organization evolves, rather than having to start over from scratch every time you want to upgrade your DAO.

The plugins are an example of account abstraction because they create different parameters you need to meet before performing an action. They also abstract away the interactions with the protocols themselves, such as if your DAO wants to contribute to a Balancer pool, you could simply add a Balancer plugin. This abstracts away the steps of putting treasury funds into the pool through an easier, simpler interface.

3. Oracles allowing conditional permissions

We can use the new Aragon protocol to grant conditional permissions, meaning an actor can initiate an action only if a certain parameter is met. This allows us to set policies in a DAO that are enforceable on-chain. This is account abstraction because it allows DAOs to create more steps and safeguards around their treasury.

For example, imagine a DAO with a Uniswap plugin, that is only given permission to execute transactions on the ETH/DAI pair. This acts as an opt-in filter to help keep things simple in the DAO, not requiring too many plugins to be installed!

4. Meta-transactions

Meta-transactions are when one actor pays for another actor’s transactions. So, a DAO could subsidize its subDAO’s transactions by paying for them. Or, the subDAO could pay for the transactions its secretary or finance manager makes, so that individual doesn’t need to pay out of pocket to manage the treasury and pay contributors. This improves the UX of working in a DAO, because you can abstract away the cost of transactions.

Account abstraction could be the biggest UX unlock for web3 yet

Part of the reason users flock to centralized applications is because the UX is much easier. Signing up with email, paying with credit card, and making trades from your mobile phone are all functions that centralized parties offer that make their custodial wallets look more attractive. But, since we’ve seen the failure of these parties, we know that storing assets on-chain in self-custody is the only way to be certain they will be safe from institutions, but introduces human error. If you lose your seed phrase today, it’s gone forever.

Account abstraction can decrease the potential for human error and improve UX while still allowing self-custody of your funds. It’s a revolutionary concept that could onboard the next generation to crypto.

If we harness account abstraction to improve the UX of self-custodial wallets, we can revolutionize the industry and make onboarding new people to web3 easy and fast. The future of web3 UX is bright with smart wallets!

Source link

#Account #Abstraction