Introducing Smart Wallets on Common Ground

Introducing Smart Wallets on Common Ground

Account abstraction is a new buzzword in the web3 space. What is it and how are leveraging it on Common Ground?

Published on May 10, 2024

May 10, 2024

Introduction to Account Abstraction

Account abstraction is a concept in the Ethereum ecosystem that aims to improve the functionality and flexibility of user accounts. Traditionally, Ethereum has two types of accounts: externally owned accounts (EOAs), controlled by regular wallets, and contract accounts, which are governed by smart contract code. Account abstraction seeks to unify these models, allowing user accounts to include smart contract logic. People call these resulting wallets "Smart Wallets".


The journey of account abstraction began with the recognition of limitations in the EOA model. EOAs, being simple and controlled directly by private keys, lack the programmability and flexibility offered by smart contracts. The goal has been to enable user accounts to support complex operations, such as multi-signature wallets, social recovery, and gas abstraction.

The concept evolved through various Ethereum Improvement Proposals (EIPs), with early attempts to separate signature validation from transaction execution. Although not implemented, these proposals paved the way for more sophisticated approaches.

Today, account abstraction is being actively explored and implemented through various projects and proposals. The Ethereum community continues to push forward with initiatives to integrate account abstraction more deeply into the ecosystem.


The future of account abstraction

Now that we've understood the present, let's look at the near-term future.


LUKSO and Account Abstraction

LUKSO, one of our partner ecosystems that's building a blockchain for the creative economy, has taken significant strides in account abstraction. They introduced the concept of Universal Profiles, which are on-chain accounts that can interact with dApps, manage digital assets, and support social recovery and programmable permissions.


On Common Ground, we have implemented LUKSO's Universal Profile accounts, enabling our users to benefit from these advanced features.


Passkeys and EIP-7212: Revolutionizing Internet-Native Accounts

Passkeys represent a significant advancement in digital identity management, offering a seamless, secure, and user-friendly way to manage online accounts. Passkeys replace traditional passwords with cryptographic keys, making authentication more secure and convenient. They leverage public-private key pairs to authenticate users without the need for memorizing or storing passwords.


Passkeys operate by generating a unique key pair for each account, where the private key is securely stored on the user's device, and the public key is registered with the service provider. This setup ensures that even if the service provider is compromised, the user's private key remains safe.

If you want to test Passkeys yourself, simply head over to WebAuthN and create a test account.


To create a wallet with a passkey you can try a demo at DefiForTheWorld

In order to sign Ethereum transactions with passkeys while keeping transaction cost cheap, a change to the protocol is required. EIP-7212 introduces that missing feature via a "pre-compile".

EIP-7212 therefore aims to standardize the implementation of account abstraction, facilitating the widespread adoption of passkeys. By providing a framework for creating accounts with embedded smart contract logic, EIP-7212 enhances security and usability, making passkeys a viable option for both Web2 and Web3 applications.

Smart wallets combined with passkeys as a universal login solution, will allow all users, including Web2, to bypass the need for traditional Web2 logins like Google or Facebook. These smart wallets offer easy onboarding and self-custody credentials, appealing to both Web2 developers and users. While mainstream options like Apple or Google might mediate passkey recovery, alternatives like Yubikeys and self-custody EOAs provide users with more control over their digital identities.


JoyID and Passkey Wallets

JoyID allows projects like Common Ground to leverage Passkey Wallets without waiting for EIP-7212 to be merged into the Ethereum Protocol.


JoyID's system involves decentralized management of keys and authorization mechanisms via an Account Abstraction (AA) account on Nervos CKB. The AA account allows for Passkey authorizations across devices and secures an encrypted shard forming part of a 2-of-2 key pair. The counterpart shard is generated by the device using the Passkey during signing. This process achieves a decentralized signature conversion from secp256r1 to secp256k1 without server assistance, maintaining security and decentralization.


Conclusion

Projects like LUKSO, initiatives like EIP-7212, and innovations from JoyID are at the forefront of the Smart Wallet transformation, offering practical implementations and setting the stage for broader adoption. On Common Ground, integrating these advanced account features allows us to offer our users a more robust and user-friendly experience, leveraging the full potential of Web3 technologies.