Liquid staking $ETH with Rocketpool Following the merge, Ethereum staking has been made possible through a number of platforms, such as centralized exchanges, rocketpool, and Lido, to name a few. In this article, we will focus on Rocketpool.
Account Abstraction
Account abstraction is considered a safer alternative to the risky world of seed phrases or relying solely on centralized exchanges. To fully comprehend account abstraction, you must first understand the two types of Ethereum accounts.
Two types of account in Ethereum
The two main types of accounts in Ethereum are externally owned accounts (EOAs) and contract accounts.
Externally owned accounts (EOA)
EOAs are accounts that are controlled by a private key and are owned by a person or entity. EOAs can be used to send transactions and interact with smart contracts on the Ethereum network. Your MetaMask account is an example of an EOA.
EOAs have three properties:
- A balance to represent the amount of ETH available to the account
- A nonce to ensure that every transaction is unique
- An address to uniquely identify the account on the network
The state of the blockchain, and hence the state of an account, can only be modified through transactions. This trigger must come from something external to the blockchain; hence, on Ethereum, every transaction must be initiated by an EOA. That means that when a transaction is executed by the Ethereum Virtual Machine (EVM) the first account touched must be an EOA, and the corresponding account must pay a fee to the miner/validator for the execution of the entire transaction.
What if you misplace your private key or it is stolen?
Because your private key is also your account, losing it means losing your account.
Worse, if someone has your private key, they have access to your account and all the tokens it contains. You have no control over the situation!
Hundreds of millions, if not billions, of dollars have already been lost or stolen as a result of the loss or theft of private keys.
Contract accounts (CA)
Contract accounts are accounts that are created and controlled by smart contracts. They are self-executing contracts, with the terms of the agreement between buyer and seller directly written into lines of code. Contract accounts can have their own code and can store data on the Ethereum blockchain. In contrast to EOAs, a contract account can only send a transaction in response to receiving one.
In other words, what does “account abstraction” mean?
💡 Account abstraction would mean that regular users switch from EOA accounts to contract accounts. In conclusion, account abstraction transforms crypto from its current one-size-fits-all strategy, where anyone can lose everything with a minor error, to a future where an account can be customized to a person’s needs. where a self-custody safety net can be built. Giving them a much prettier UX as well.
Why? Contract accounts allow for a more customizable and user-friendly UX.
For example, you could use social recovery instead of seed phrases to control and access your accounts.
There are a few wallets that use account abstraction right now (such as Argent and Unipass), but we predict that AA will be widely used across Web3 in the coming year.
Benefits of account abstraction
Account abstraction can offer the best of both worlds and drastically improve the user experience by taking steps toward a model where, in the long term, all accounts are contracts, contracts can pay for gas, and users are free to define their security model.
Account abstraction breaks the account coupling and makes the authorization of a transaction programmable by turning every account into a smart contract. With account abstraction, every user can deploy and use an account with custom authorization logic tailored to their needs.
1. Multicall
If you’re using a Dapp on Ethereum today, you have to make a new transaction for every on-chain interaction. This is frustrating, time-consuming, and expensive when gas fees are high.
With Account Abstraction, you can instead bundle multiple transactions into one, and execute the sequence of operations in one atomic transaction. This feature is called multicall.
The benefits of account abstraction extend much further than just combining three transactions into one. AA can radically simplify even more complex processes into a one tap experience for users.
2. Session keys for simplicity and security
Session keys are a breakthrough for UX, particularly for blockchain games. They allow you to pre-approve the rules for interacting with a Dapp, so you can use it as much as you want within those rules without having to sign every single transaction.
In other words, you can enjoy using a Dapp while knowing your assets are protected because you’ve restricted what the Dapp can and can’t do with them. This means maximizing ease of use, while minimizing risk.
3. Social recovery – for security & the end of seed phrases
The goal of social recovery is to protect people if they lose their account or if it’s somehow compromised. Social recovery does this while avoiding seed phrases, the typical recovery method for wallets such as MetaMask. Seed phrases need to be eliminated as they’re hard to use, insecure, and a major barrier to mass adoption. With social recovery, if you lose your private key, you can just authorize a new key as the legitimate wallet owner. The mechanisms for this can vary. You could choose a recovery method that relies on your trusted contacts, your hardware wallet(s), a third-party service, or even a combination of them all.
Importantly, social recovery does not sacrifice self-custody. You remain in control of your assets. And for further protection, you can use time delays so that you have an opportunity to cancel the recovery if you wish.
4. Multi-factor authentication & enhanced security
Two-factor authentication is becoming the norm in modern banking for large transfers to new addresses. What if you wanted similar, or even smarter, protection in crypto? You now can. Account Abstraction lets you have accounts that require signatures from multiple keys, with a transaction only going ahead if certain conditions are met.
How is this different to using a multi-signature wallet like Gnosis Safe? The difference, as Vitalik says in this post, is that wallets leveraging AA can offer greater customization, security and usability. AA allows you to tailor your account’s security levels to meet your needs and use a variety of different devices to approve transactions.
So what could this look like more broadly? You could:
- Have two (or more) factor authentication for crypto. Imagine that one of the keys for your account is managed by a service that will only co-sign if you’ve confirmed with a second factor like email or SMS. If you confirm the second factor, the transaction succeeds. If you don’t, it’s automatically blocked.
- Keep a list of scam addresses and automatically block transactions to them. You could also block transactions to an incorrect contract.
- Set a daily transfer limit and automatically block anything above it (unless you explicitly approve it to go through).
- Integrate offchain services for additional protection. For example, use a security service to check an NFT collection is verified on OpenSea before approving a transaction, asking for two-factor authentication if not.
5. Plug-ins – for greater flexibility
Plug-ins make an account more flexible and modular. Third party developers can build plug-ins with new functionalities they want to enable when creating their account. You can also make an account extendable by letting users add or remove functionalities after the account has been created. You can almost think of it as an app store for your account – choosing a plug-in for gaming, social recovery, session keys or more.
Plug-is can help to future proof your account, as the one certainty in crypto is how quickly the space evolves. Plug-ins will help you to harness the latest features that emerge – whether that’s privacy, or hyperchains.
These five points cover some of the biggest benefits we see, but that’s by no means it.