Account2

Account2

A unique account abstraction implementation.

Account2

Account2

A unique account abstraction implementation.

The problem Account2 solves

Account2 is a contract designed to accomplish three key features not yet enshrined in the Ethereum protocol, i.e., Account Abstraction, Economic Abstraction and Account Linking.

Account Abstraction - the ability to have an account that will allow a relayer to act on behalf of the account owner as msg.sender. This will solve three major UX challenges experienced in the first allowing all transactions to be bundled in a single transaction (i.e.: the necessity for an approve transaction before a swap transaction). Next it will allow a relayer to sponsor the gas for a transaction which is a major UX hurdle for Ethereum adoption. Lastly, a controlling key that has been compromised can be replaced in a single transaction transfering all the asset held in the Account2 account.

Economic Abstraction - the ability to pay an Ethereum transaction gas fee in any ERC20 token. Economic abstraction allows the user to pay for transaction in any ERC20 they hold in their Account2.

Account Linking - the ability to associate accounts hierarchically with a single private key. Since the owner of an account can be a contract we set the owner to a root Account2 and all requests will begin in the root Account2 and will be forwarded to subordinate Account2 accounts. Using singly linked design we can establish any level of heirarchy with minimum overhead for each hop.

Challenges we ran into

The initial architecture took time to think about, we had to think about all the different edge cases.

Tracks Applied (6)

Biconomy

Biconomy

Safe

Safe

CoinDCX

CoinDCX

Moonbeam

Moonbeam Network

Shardeum

Shardeum

Ethereum Foundation

Ethereum Foundation

Technologies used

Discussion