Cointime

Download App
iOS & Android

Account Abstraction: The Future of Accounts on Ethereum?

Account Abstraction is one of those developments that the Ethereum scene is hoping for a lot. It is “a long-term dream of the community” wrote Vitalik Buterin.

Account Abstraction, they say, is supposed to bring the longed-for “mass adoption.” It is supposed to make Ethereum — heck, crypto in general — mainstream. But what’s behind the term?

“In summary,” explains the Argent wallet’s blog, “Account Abstraction takes crypto from the current state of having one model for everything and losing it all because of one small mistake, to a future where an account can be customized to meet individual needs.”

This, Argent continued, “makes self-preservation a viable option for a mainstream audience. An alternative to a scary world where you have to choose between seed phrases and centralized exchanges.”

Sound exciting? But to understand it, you first have to realize what an account is — and what its limitations are.

The hard, simple logic of accounts

An account on Ethereum is more or less the same as an address on Bitcoin: the user’s wallet generates a private key, derives a public key from that, and derives an address from that.

Accounts are simple in design: You can receive coins and tokens with the address, like with an IBAN number, and you can send them if you sign the transaction with the private key. That’s all there is to it.

This hard, simple logic allows a user to manage their keys autonomously, either as a key itself, or as a seed from which to derive keys. This is great for nerds and early adopters — but can be off-putting for the masses.

Keys and seeds can be lost or stolen, and if that happens, nothing can save the owner. Everything that was in the account is gone. This is the hard, simple logic of accounts. That’s why many users — quite rightly — choose to entrust their coins to an exchange.

Smart Contract Accounts

With Ethereum, there is a second type of account: Smart Contract Accounts. These are able to change their state, just like an address changes its balance, without a private key being involved.

Smart contract accounts are versatile. They can use the full range of Ethereum Virtual Machine (EVM) codes to program state changes. For example, a smart contract account for tokens has as its state a table of tokens and accounts.

With such smart contract accounts, one can break the hard, simple logic of accounts. One can introduce arbitrary transaction logics:

  • One can determine that only a certain amount can be debited per day,
  • that two or three signatures are needed to trigger a transaction,
  • that transactions can be reversed for a certain time by a third party,
  • that the tokens associated with the account will be returned to a certain address when a certain amount of time has passed,
  • that one must have a certain token in the wallet to transfer another, etc.

Smart contract accounts enable a variety of new transaction terms. They allow money — and the bank account — to be programmed like an app. They make so much possible — but so far, the ecosystem continues to use the simple, basic standard accounts.

“You can already do all these things with smart contract wallets today,” writes Vitalik Buterin, “but the Ethereum protocol makes it very difficult because it requires everything to be packaged into a transaction that originates from an external account.”

Smart contracts themselves do not form transactions. They merely change state when a user sends a corresponding transaction to them. That transaction must come from a traditional account and be signed with a private key. So the problem with the key and seeds is still there.

But not only that: smart contract accounts also make things much more complicated than they need to be. An example: one holds tokens on a smart contract that only pays out a certain amount per day. To make a payout, one would have to trigger the smart contract by making a transaction from a traditional account. For that, in turn, one has to pay a fee, for which the conventional account needs some Ether.

To get around such complications, one can bring a third party into play to send the trigger transaction. But even that would be suboptimal.

When accounts become smart contracts

Account abstraction means, in Vitalik Buterin’s cerebral but apt way of putting it, that “the EVM code is used not only to implement the logic of the application,” — as in smart contracts — “but also to implement the verification (nonces, signatures …) of the individual users’ wallets.”

Argent puts this in slightly less complex terms: “You turn accounts into smart contracts with their own logic, which is a valid transaction.” So accounts become smart contract accounts without the need for a trigger transaction by a traditional account.

“It’s no longer one model for everything,” Argent continues, “instead, each user can have an account customized to their needs.” You can do virtually anything. Other signature algorithms, such as quantum-safe, multisig accounts, accounts that change hands every week, accounts that can only hold a certain amount of money — there are more possibilities than we can dream up.

You can form accounts with “parental controls”, accounts that you can mine through a social network, accounts where you pay transaction fees not with Ether but with tokens, and so on.

And all this is made possible by a tiny detail: By making the account a smart contract.

Three suggestions

With all the advantages, one wonders, of course: why doesn’t this exist yet? If everyone wants it, and it promises so much — what are we waiting for?

The reason, according to Argent, is that it’s not easy. Account abstraction requires “multiple changes to the heart of the protocol.” Such changes are hard to coordinate, the harder the older and bigger Ethereum is. As a result, Account Abstraction has been discussed since 2016, but is still not implemented.

At the same time, there are several promising proposals:

  • EIP2938 proposes a reduced type of Account Abstraction, allowing smart contract accounts to act as “top-level accounts” — accounts that can initiate transactions and pay the fees. To do this, it introduces a new transaction type and two new opcodes, making the change manageable and simple. The price, however, is that EIP2938 does not support all possible functions, and does not replace the old accounts.
  • EIP3074 goes the other way: it wants to enrich the existing accounts with capabilities like from smart contracts. Users should be able to delegate control of the account to a smart contract. This way, users can benefit from account abstraction with their existing accounts without having to generate new accounts. In doing so, however, users will still need to store their seed phrases, which is why Argent compares it to modernizing carriages with faster horses.
  • EIP4337 comes closest to full account abstraction without requiring consensus-driven changes. However, it is also by far the most complex proposal. It breaks the transaction into individual operations that miners or stakers then assemble and execute. This makes it easy to build smart contract wallets without worrying about transaction fees. At the same time, the implementation of EIP4337 would be relatively disruption-free, as legacy accounts would still be maintained.

Argent does not seem 100 percent happy with any of the proposals, but would welcome any as progress. But when there are multiple approaches but no clear criteria to evaluate them, it is difficult to choose one. This could mean that it will be a very long time before Account Abstraction comes to Ethereum.

P2SH

In some ways, Bitcoin is further along than Ethereum here. With the P2SH address format, Bitcoin already has a kind of account abstraction: A P2SH transaction is triggered by submitting the script, which is based on a previously determined hash. In principle, you can put anything into the script.

This means that you can already form multisig addresses, which, unlike with Ethereum, do not have to be triggered by a transaction from another address. You can also form addresses where funds are frozen until a certain point in time, and there are plans to allow so-called “vaults” through this, which only allow withdrawals under certain conditions.

P2SH addresses come close to the desired account abstraction — but have their own unique problems. For example, they support only limited functions, usually have a terrible user experience, and often the essential operations take place offchain — such as signing a multisig transaction — for which there is then no commonly used protocol.

So there are reasons to look forward to account abstraction on Ethereum.

https://medium.com/coinmonks/account-abstraction-the-future-of-accounts-on-ethereum-f86ccb109396

Comments

All Comments

Recommended for you

  • Bank of Japan Adjusts Bond Purchase Plan for July to September

    On June 16, the Bank of Japan announced plans to purchase 355 billion yen of 1 to 3-year Japanese government bonds twice a month from July to September (previously three times a month for 255 billion yen). The plan includes purchasing 320 billion yen of 3 to 5-year Japanese government bonds twice a month (previously three times a month for 230 billion yen). Additionally, the bank will buy 335 billion yen of 5 to 10-year Japanese government bonds twice a month (previously three times a month for 240 billion yen). It also plans to purchase 100 billion yen of 10 to 25-year Japanese government bonds twice a month (previously three times a month for 80 billion yen). Lastly, the plan includes purchasing 75 billion yen of ultra-long-term (remaining maturity of over 25 years) Japanese government bonds twice a month (previously twice a month for 75 billion yen).

  • Bank of Japan: Prepared to Modify Bond Purchase Reduction Plan if Necessary in Future Policy Meetings

    On June 16, the Bank of Japan stated that it will respond flexibly if long-term interest rates rise rapidly, such as by increasing the purchase of Japanese government bonds and implementing fixed-rate bond purchase operations. It is prepared to modify the bond purchase reduction plan in future policy meetings if necessary.

  • Bank of Japan: Need to Pay Special Attention to Future Developments in the Middle East and Their Impact on Financial Markets, Economy, and Prices

    On June 16, the Bank of Japan stated that it is currently necessary to pay special attention to the future developments in the Middle East and their impact on financial markets, foreign exchange markets, the economy, and prices. It is essential to monitor global demand related to artificial intelligence and the future fluctuations in foreign exchange rates and their effects on the Japanese economy and prices.

  • Bank of Japan: Accommodative Financial Environment Expected to Persist After Policy Rate Adjustment

    On June 16, the Bank of Japan stated that it expects the accommodative financial environment to continue after the adjustment of the policy rate, providing strong support for economic activities.

  • Morgan Stanley: Hard Drive Shortage to Last at Least Until 2028, Seagate and Western Digital Set for Major Gains

    On June 16, Morgan Stanley significantly raised the target prices for Seagate Technology and Western Digital in a notice to clients, citing a survey in Asia that indicates the hard drive cycle is extending, with shortages expected to last at least until 2028. Analyst Erik Woodring raised Seagate's target price from $767 to $1,035 and Western Digital's target price from $488 to $650, maintaining an overweight rating for both. Woodring stated, "Our surveys in Asia over the past three weeks clearly show that the hard drive cycle is extending—shortages are expected to last at least until 2028—and also indicate that hard drive prices are strengthening significantly and meaningfully." The firm estimates that HDD demand is growing by 40% to 50% annually, while supply is increasing closer to 30% to 35%. Morgan Stanley noted that this gap is driving the shortage to "last at least until 2028."

  • Bank of Japan Raises Interest Rate by 25 Basis Points as Expected

    On June 16, the Bank of Japan raised its interest rate by 25 basis points, increasing the target rate from 0.75% to 1.00%, the highest level in 31 years, in line with market expectations. This decision follows three consecutive meetings where rates remained unchanged.

  • Bank of Japan to Halt Bond Purchase Reduction from April 2027

    On June 16, the Bank of Japan announced that it will suspend the reduction of bond purchases starting from April 2027, maintaining the monthly purchase scale of Japanese government bonds at approximately 2 trillion yen. The current plan to reduce the monthly purchase scale of Japanese government bonds by 200 billion yen will remain unchanged until the first quarter of 2027.

  • Japan's Interest Rates May Enter '1 Era' for the First Time in Over 30 Years

    On June 16, the market widely expects that the Bank of Japan will raise its benchmark interest rate to the highest level since 1995 during a monetary policy meeting held without the presence of its governor. According to a survey by industry media, nearly all observers of the Bank of Japan anticipate that at the end of the two-day meeting on Tuesday, policymakers will increase the benchmark rate by 25 basis points to 1%. The Bank of Japan has previously stated that Governor Kazuo Ueda has been hospitalized for treatment of a liver cyst infection and will submit his opinions to the board in writing, without participating in the vote in person. This anticipated rate hike will be the first by the Bank of Japan since December of last year, coinciding with the central bank's efforts to address inflationary risks stemming from conflicts in the Middle East, despite a peace agreement being on the verge of formal signing. The market will closely monitor any clues regarding when the Bank of Japan may take further action, as traders are concerned that if the yen weakens, Japanese authorities may intervene in the foreign exchange market after the meeting concludes.

  • US Spot Ethereum ETF Sees Net Inflow of $22.58 Million Yesterday

    On June 16, according to monitoring by Trader T, the US spot Ethereum ETF experienced a net inflow of $22.58 million yesterday.

  • US Spot Bitcoin ETF Sees Net Outflow of $64.84 Million

    On June 16, according to monitoring by Trader T, the US spot Bitcoin ETF experienced a net outflow of $64.84 million yesterday.