Latest discussions mention that Ethereum has launched and tested a new ERC standard, as we covered in our industry news. With this article, we would like our readers to get a complete understanding of what smart accounts represent. Also, why they are helpful or even necessary, and how you can use these.
During the past years working with blockchain protocols, we have come across this terminology quite often. We’ll try to analyse what is possible with Ethereum’s smart accounts and determine how you can make best use of it.
Table of contents
- Why are smart accounts necessary?
- The solution: ERC4337 – Account Abstraction
- Other types of smart accounts
Why are smart accounts necessary?
Ethereum is moving forward every day with many contributors at work, defining new standards for tokens or processes using the technology. Lately, one of the EIPs that has seen most discussions around is ERC-4337. This standard from late 2021 defines an account abstraction using alternate mempool which relies only on higher-layer infrastructure.
The problem statement
You may know already that Ethereum features smart contracts. Those are defined and executed by Ethereum nodes using Solidity. This language features some advanced programming techniques but it is limited in terms of how transactions are bundled and paid for. Leaving few room for innovation with e.g. aggregated signatures or privacy-preserving applications.
In fact, the only way for a smart contract to execute a transaction and prepare it for you, is by using a so-called Externally Owned Account, or short EOA. These accounts are accounts that you own and therefor things like transaction sponsorships are not possible from within a contract because the accounts are not created inside the smart contract itself.
It turns out that users always have to use their primary accounts such that fees can be paid for. As is necessary in order to get their transactions confirmed. This has multiple flaws: not only does it disregard privacy-preserving techniques, it also limits the potential for operations defined by smart contracts.
As a result of the above, many of the latest use cases on Ethereum needed second-layer protocol definitions. These are usually implemented by intermediaries whom solve the above problems. It would be better for Ethereum, if this could be solved in a decentralized way, without intermediaries.
The proposed solution works by adding an extra or alternative mempool that would not affect other parts of the protocol. It could thereby enable bundling more efficiently, solving it on a high-layer infrastructure (using so-called bundlers).
The solution: ERC4337 – Account Abstraction
To achieve the goal of account abstraction, which is to allow users to use smart contract wallets containing arbitrary verification logic instead of using their primary accounts– or EOAs- to interact with smart contracts, ERC4337 proposes the implementation of an alternate memory pool.
This mempool would be used by bundlers, or block builders. And it would permit including only account-abstracted user operations. This is notably useful to allow signature aggregations using a separate (alternate) mempool.
To perfectly isolate so-called user operations, it is proposed that 3 special contracts will interact with an account:
- The factory (initCode): This is the account that deploys the contract ;
- The paymaster: This is an account that may pay for the gas (or fee) ; and
- A signature aggregator: This is an helper account to validate aggregated signatures.
This proposal of adding user operations would permit new innovative smart contracts that can safely create transactions on users’ behalf, without putting the users’ primary accounts at risk [anymore] and without revealing the actual primary account that is being used.
In addition to the specification of user operations, it is proposed that reputation scoring is implemented. This limits the risks of DoS-attacks against participating nodes. A staking mechanism is also necessary to reduce the potential for sybil-attacks on the protocol.
On the surface, this reputation system is proposed using 2 counter values stored for any account that interacts. It is the number of user operations seen and the number of these that succeeded (got included in a block). Based on the values of these counters, it is possible that the global entity gets banned temporarily.
Other types of smart accounts
To be honest, when I first heard about smart accounts, I was expecting more than transaction- sponsorships and bundling. Even signature aggregations, whilst these are all utterly complicated topics in blockchain networks, they do not, in my opinion, make an account much smarter. But this also goes back to the definition of smart to begin with.
In fact, the word smart is used widely, and is accepted to indicate something that is new and more powerful. Following examples will shed some light:
- Smart Phone: After the mobile phone came smartphones enabling all sorts of use cases and apps ;
- Smart Watches: You’ve all heard of CASIO watches. Today, watches are smarter, they say ;
- Smart Home: Usually, this one refers to a house with digital accessories (smart fridge, etc.) ; and
- Smart Account: See what Ethereum did there? 🙂 [Smile]
Smart accounts are in fact augmented (enhanced) accounts. If you are interested to find out more about Ethereum, we compiled a list of smart contracts to watch in 2023.
Applications: What could smart accounts be used for?
First, let’s be clear that we are not dismissing the proposal of Ethereum developers as to define smart accounts to what they proposed. Instead, this section shall augment their smart account definition with hypothetical- but possible extensions thereof.
- Automatic call delegation: The current proposal plans only with transaction sponsorship as to one of the calls that can be delegated but maybe a more generic call delegation could be implemented such that some operations can be automated in response of user operations.
- Proxying transactions: Obviously, transaction sponsorship enables a prominent use case for transaction proxies. We think that, in 2023, we will see more services on Ethereum – and the plenitude of forks thereof – that put end-users’ privacy in the foreground when it comes to execute on-chain transactions.
- Atomic operation bundles: As it is already mentioned in the Ethereum Improvement Proposal, we also think that atomic operation bundles may be achieved given an implementation of EIP-4337. Such bundles would execute all the operations they contain all at once, which is great for use cases like atomic swaps.
- Custom sponsored transactions: Making it possible to pay for transaction fees using a different EIP-20 tokens is also something that many cryptocurrencies are looking into. In fact, with the advent of decentralized marketplaces for tokens, e.g. Uniswap, we think that automated fee payments with EIP-20 tokens is not so far away anymore.
The funniest part of this article, tho, is that most these features are highly Ethereum-specific and have already been implemented in other blockchain networks including dHealth Network and Symbol, which use the Catapult blockchain engine that our team worked on as well.
As our team at UBC has worked on similar use cases for different blockchain networks, we’d like to remind you that we are available to discuss the above and the challenges involved.
Words on the street has it that these smart accounts will indeed be implemented because a proposal is defined to implement it, which doesn’t require a consensus-layer upgrade of the Ethereum protocol. In other words, even you could implement this on your higher-level infrastructure.
One of the advantages of these types of proposals, other than it being safe to deploy, is that the implementation is simple enough to migrate to other blockchain networks that are faced with the same issues as Ethereum. Will we see a meriad of EIP-4337 tokens soon, what do you think?
We hope that this article was insightful for you and are looking forward to any feedback and messages. Please share your thoughts in the comments section below!
This website may contain information about financial firms, employees of such firms, and/or their products and services such as real estate, stocks, bonds, and other types of investments. While this website may intend - as the author deem necessary - to provide information on financial matters and investments, such information or references should not be construed or interpreted as investment advice or viewed as an endorsement.