Ethereum Launches Account Abstraction Upgrade to Improve User Experience and Flexibility

Do repost and rate:

On March 2, 2023, the Ethereum Foundation deployed ERC-4337 on the mainnet to implement the proposed Ethereum Account Abstraction, which has been in development since September 2021. The Account Abstraction does not require any modifications to the consensus layer, utilizes the transaction mempool and UserOperation functionality, and does not add any new transactions.

This deployment adds two new features: first, it combines the functionality of an Externally Owned Account (EOA) and a Contract Account (CA), enabling the execution of contracts and the issuance of transactions from a single account. Second, it supports ERC-20 fee payment and fee substitution functions with Paymaster. AA offers more flexibility in validating transactions on the blockchain by allowing programmable validity to verify and validate any blockchain transaction. Unlike the rigid requirements currently hard coded into the Ethereum protocol, AA enables multi-owner accounts via multisig signature verification, the use of post-quantum signatures, and the removal of signature verification entirely for a public account.

With AA, validity conditions can be programmed in a customizable way into a smart contract on a per-account basis rather than hard coding them into the Ethereum protocol, which would apply to all transactions in a generalized way. One potential use case of AA is auto payments, but the broader goal of AA is to make Ethereum transactions more efficient and customizable by allowing users to deploy an account contract with any of the features described above or other features. Overall, AA represents an important step in the evolution of the Ethereum network by offering greater flexibility and functionality for users.

Let's dig into what all that means. TL;DR, the Ethereum user experience and wallet ecosystem can now get a whole lot better.

Accounts

Stepping all the way back, we have to talk about Ethereum transactions and accounts. Many are familiar with the term Bitcoin UTXOs. The UTXO (Unspent Transaction Output) model is the foundational method of maintaining blockchain records and refers to the remaining amount of crypto unspent after executing a transaction. In the context of UTXO-modeled blockchain, individuals do not directly transact specific amounts of digital currency but instead transact in the denomination of UTXOs. Ethereum operates differently via an Account-based model.

The Account-Balance model is an alternative method of maintaining blockchain records, primarily employed by smart contract platforms such as Binance Chain (BNB). It emerged as a solution to the challenges faced by Ethereum developers in adapting the privacy-focused, disconnected logic of the UTXO model to the accounts of decentralized applications (dApps).

Unlike the UTXO model, which resembles cash-based accounting, the Account-Balance model resembles bank-based accounting. On smart contract platforms, each wallet address has a single balance, which is increased or decreased with the receipt or transfer of funds respectively.

The Account-Balance model, as used in Ethereum, functions as follows:

  1. Jan has 10 ETH and wishes to transfer 5 ETH to Steve. The system first deducts 5 ETH from Jan’s account, resulting in Jan now having 5 ETH.
  2. The system then increases Steve’s account by 5 ETH. Since the system is aware that Steve already has 5 ETH, Steve’s final balance is 10 ETH.

While the Account-Balance model allows wallets to derive account balances in a much more straightforward and efficient manner compared to the UTXO model, it should be noted that it is more susceptible to double-spending attacks as compared to the UTXO model.

The method of record-keeping employed by a blockchain is crucial as it directly affects how a crypto wallet derives digital asset holdings. If a wallet cannot conform to the blockchain's mode of record-keeping, it is not functional. For instance, if a Bitcoin-based wallet provider is unable to handle the complexity of the UTXO model and track all the new addresses associated with UTXOs, it will result in a perceived loss of funds for the wallet user.

Source: Kraken

Ethereum Accounts

The Ethereum network has two types of accounts: externally owned accounts (EOA) and smart contract accounts. An EOA is controlled by a private key and has three properties: an ETH balance, a nonce, and an address. Transactions on the Ethereum network must originate from an EOA and be validated using a hard-coded validation process that requires a valid signature, nonce, and account balance.

Externally Owned Accounts (EOAs)

Wallet services such as Metamask, Rainbow, or COINBASE wallet operate as EOAs. The account validation logic is hard-coded into the Ethereum Virtual Machine (EVM), and every signature must use the same signature scheme (ECDSA). However, with account abstraction, EOAs and smart contract accounts become unified and abstracted away, enabling more flexible transaction validation and enabling multi-owner accounts and post-quantum signatures.

Problems with the EOA model

The current design of externally owned accounts (EOA) in Ethereum, which is the standard for wallets today, is not in a state that billions of people across the world can use. The security of EOA wallets relies entirely on users managing a single private key, which is prone to mistakes and hacks, as evidenced by the frequent hacking of holders of valuable NFTs such as Bored Ape Yacht Club. This is a problem with the user experience of Ethereum, and it highlights the need for a more user-friendly and secure way of managing digital assets. We should not expect the next financial system to rely on outdated security measures such as memorizing 12 words written on a piece of paper.

(Smart) Contract Accounts (CAs)

The Ethereum network has two types of accounts: Externally Owned Accounts (EOAs) and Contract Accounts (CAs). CAs are controlled by the logic within the smart contract code and have additional properties like code and storage. To address some of the issues associated with EOAs, projects like Gnosis and Argent have developed smart contract wallets. These wallets dictate which entities are authorized to sign transactions and provide the ability to have multiple signers on an account. However, smart contract wallets are more gas-intensive and need an EOA like METAMASK to pay for gas and trigger actions, which makes their adoption limited. The Ethereum community has been seeking solutions through account abstraction to redesign chains for smart contract wallets to be widely adopted.

Source: BINANCE Research

Differences between EOA and CAs

In Ethereum, digital signatures are used to verify the authenticity and integrity of a message. This is done through keypairs consisting of a private key and a public key. Ethereum uses the Elliptic Curve Digital Signature Algorithm (ECDSA) to generate keypairs for Externally Owned Accounts (EOAs) that control Ethereum accounts. EOAs and Signers are essentially the same things, as they both hold tokens and can move them. In contrast, Contract Accounts (CAs) do not have signing keys, but rather ownership manifested through the contract's code. Only EOAs can initiate transactions and computations on the EVM, but this rule could be changed through the Ethereum Improvement Process (EIP).

Account abstraction is a concept that seeks to make the self-custody of digital assets on the blockchain safer and easier. Currently, externally owned accounts (EOAs) on Ethereum have special privileges that smart contract (SC) accounts do not, despite both account types sharing many of the same properties. With account abstraction, smart contract logic can be used to replace the hardcoded functions of EOAs, making account creation and management more flexible and customizable. This also means that users can build their own safety nets for self-custody, reducing the risk of losing seed phrases or falling victim to hacks. Additionally, account abstraction promises to significantly improve the user experience on Ethereum by simplifying complex transactions and reducing the number of steps required to perform them.

Account Abstraction (AA)

Account Abstraction (AA) is a new solution to combine user accounts and smart contracts into a single Ethereum account type. AA offers more flexibility in validating transactions on the blockchain by allowing programmable validity to verify and validate any blockchain transaction. Unlike the rigid requirements currently hard coded into the Ethereum protocol, AA enables multi-owner accounts via multisig signature verification, the use of post-quantum signatures, and the removal of signature verification entirely for a public account.

With AA, validity conditions can be programmed in a customizable way into a smart contract on a per-account basis rather than hard coding them into the Ethereum protocol, which would apply to all transactions in a generalized way. One potential use case of AA is auto payments, but the broader goal of AA is to make Ethereum transactions more efficient and customizable by allowing users to deploy an account contract with any of the features described above or other features. Overall, AA represents an important step in the evolution of the Ethereum network by offering greater flexibility and functionality for users.

Account abstraction decouples the entity controlling an account within the Ethereum Virtual Machine (EVM) from the entity with the authority to move assets. This upgrade would turn all accounts into smart contract accounts, which can define their own valid transactions. This would bring programmability to transaction validity rules, allowing smart contracts to determine the effects of transactions and also whether they are valid. The implementation of account abstraction would involve designing an API to define specific functions that would enable smart contracts to act as accounts. Once implemented, Ethereum would become more customizable, flexible, and future-proof.

Benefits/Features of AA and its Risks

The benefits of AA are described in the table below.

Source: Binance Research

Despite the many pros, like all things, there are tradeoffs/risks associated with AA. Account abstraction wallets are not currently supported at the protocol level and are implemented as smart contracts. While these wallets provide benefits such as improved user experience, the current implementation is not without issues. Firstly, there is a cost associated with deploying a smart contract wallet, and the gas cost for transactions is higher compared to EOA wallets. Secondly, each wallet needs to be audited before it can be used as a replacement for EOAs, as there are security concerns with smart contracts being hacked. Additionally, the infrastructure to support ERC-4337 is not fully established, as it heavily relies on Flashbots, which is specific to Ethereum. Lastly, smart contract wallets can only interact with decentralized applications that have implemented EIP-1271, raising questions about compatibility with other EVM chains. While these issues can be circumvented through Layer 2 networks, established smart contract wallets like Argent have deviated from ERC-4337 to implement protocol-wide changes.

Regulation and Society adoption

Ждем новостей

Нет новых страниц

Следующая новость