ERC-4337: Account abstraction on Geminon

Geminon
4 min readMar 6, 2023

--

On March 1, the very long-awaited official launch of the EIP-4337 proposal was announced at the Walletcon of Denver. The announcement was a surprise since this new standard was not expected to be ready for quite some time.

What is account abstraction?

There are two types of account in Ethereum: user accounts (Externally Owned Account, EOA) and contract accounts (CA), also called smart contracts.

The contract accounts are in essence computer programs stored in the blockchain which users and other contracts can interact with, but cannot initiate transactions by themselves: transactions can only be sent to the blockchain from an EOA.

EOAs are generally used through a wallet, which is software that stores the private key that allows to sign the account transactions and facilitate basic functionalities such as sending transfers to other users and visualize the account balances.

Current EOAs based wallets have several important limitations, especially in their usability, since there are no advanced options to safely store the seed phrase (the set of words that allows the private key to be regenerated and with it the wallet) or the private key beyond writing them in a physical support that can be lost, stolen or destroyed in an accident, which is a risk of loss of assets in certain cases. There are also other limitations:

  • They do not allow to use multi signature schemes, necessary for companies and institutions.
  • The accounts cannot be customized, e.g. implement expenditure policies.
  • Transactions gas can only be paid from EOA itself, which results in less privacy since it is always necessary to add initial funds, usually from an exchange.
  • You cannot use session keys: each transaction has to be signed separately.
  • You cannot batch operations to save gas.
  • There is no easy way to hand down the account without compromising its safety.

The EIP-4337 proposal was created in 2021, after more than 5 years of work, to allow the use of contract accounts as smart wallets without the need to modify the Ethereum consensus layer (so it was finally implemented as ERC-4337, at the level of applications instead of at protocol level), thus solving all these limitations from the EOAS we described.

Why is it so important?

In a nutshell: account abstraction eliminates for users all complexity associated with the use of crypto wallets (private keys, seed phrases, contract approval signature, transactions signature, gas, etc.) and allows any mobile phone to become a hardware wallet just by downloading an app, since it is now possible to store the private key in the phone hardware security module, being almost as safe as a hardware wallet (this option did not exist for EOAs since transactions must be signed using an elliptic curve encryption algorithm (ECDSA), which is different from that used by mobile devices).

But the most important thing is that the new ERC-4337 standard transforms a crypto wallet into something that has all the features of a real bank:

  • Complex access controls can be established, such as 2FA.
  • Transaction signature with the phone (fingerprint, facial recognition, etc).
  • Establish spending limits by transaction, daily or monthly.
  • Automatic recurring payments: receipts, payrolls, loan letters …
  • Decentralized account recovery mechanisms.
  • Possibility that a third pay the transactions gas.
  • Session keys to play blockchain games without constantly signing transactions.
  • “Dead man’s switch”, which allows to leave the assets of the account in inheritance.
  • It is possible to implement post-quantum safe signature algorithms, so that the accounts in Ethereum would reach security against quantum computing even without updating the protocol.

Broadly, it is possible to implement any functionality or security system that developers want to program, and there is also the possibility (if the wallet is implemented using a proxy) that it is upgradeable without the need to change the address. And all this while keeping the self-custody of the assets in a fully decentralized way.

In short, account abstraction is the most important breakthrough that has been made for the mass adoption of crypto since Bitcoin’s own creation. We are yet months away from the first applications to take advantage of this technology, but the fact is that the barrier has just been broken so that hundreds of millions of people around the world can use crypto on a daily basis with the same ease with that they use their bank application.

How does it impacts Geminon?

In recent weeks the team has been preparing the new roadmap (Geminon v2) of the project for the next two years. Although the public presentation of the new features of Geminon will not take place until within a few weeks, we can advance that one of the final objectives that we pursue with the new developments is the creation of a Fintech application of fully decentralized digital banking, built taking advantage of the benefits of smart contract technology. Well, it turns out that this idea that we intend to develop is exactly an implementation of the account abstraction of the ERC-4337 standard that has just been introduced.

This is very positive for two reasons: first, because being one of the greatest breakthroughs of recent years for the broad adoption of cryptocurrencies, Geminon now becomes one of the first projects to take advantage of the idea and propose a complete implementation of it, which will enhance capital attraction to the project. And second, because having already been developed the basis of the required technology in the form of ERC standard, it will now be much easier for us to deploy an application based on it.

Soon we will make public the litepaper of Geminon v2 and you will know in detail the new developments we are preparing.

--

--