On-chain identity is a widely discussed topic in Web3. We encounter various new primitives like ENS, Lens, and wallet addresses. However, the ownership of these primitives is confined within their respective ecosystems, and the lack of identity interoperability and privacy frameworks hampers the effectiveness of Web3 while limiting user comfortability.
With these new primitives and identities, users are managing multiple identities simultaneously. This reveals a pressing issue within the Web3 landscape – the lack of identity interoperability and privacy frameworks. Identity interoperability refers to the ability of different Web3 applications to recognize and verify each other's users' identities.
This limitation hinders the full potential of Web3, impeding seamless interactions and hindering users from leveraging their identities across different applications. Consequently, addressing the problem of identity interoperability becomes crucial as it pertains to the ability of diverse Web3 platforms to recognize and verify users' identities within a decentralized ecosystem. Let's look into the problems that arise a bit deeper:
Fragmentation and Multiplicity of Identity
The Web3 landscape suffers from a fragmented identity ecosystem where each identity is confined within its respective platform or application. This fragmentation restricts the ability of identities to communicate with one another, causing significant user experience friction and impeding seamless interaction across multiple dApps and platforms.
Identities cannot communicate with each other, and users are required to manage them separately. For instance, if I am User X and own Wallet A and Wallet B, a dApp that I usually use with Wallet A won't recognize Wallet B as "mine" (User X) when I connect to it. My identity on the dApp is limited to Wallet A.
Additionally, Web3 users are constrained to using identities compatible with specific dApps. If a dApp is only compatible with MetaMask, users are compelled to use their MetaMask wallet or create a new one. This can result in a poor user experience as users navigate the complexities of connecting the right assets, determining wallet compatibility, and switching networks.
The lack of communication among identities creates challenges in tracking digital identities, managing assets, and preserving privacy. This issue is especially daunting for new Web3 users who may find the process overwhelming.
Privacy and Security Risks:
The current lack of privacy standards in Web3 exposes users to potential risks, as their transactions and associated identity primitives are publicly visible on the blockchain. This compromises user privacy and hinders the seamless integration of Web3 with real-world identities. Users are left with limited control over their personal information and often resort to creating entirely new wallets to dissociate certain transactions from their public identities.
Addressing these challenges requires establishing a single standard for identity interoperability and privacy in Web3. Such a standard would enhance the user experience by enabling users to sign in to applications from different providers using a unified identity. It would also alleviate the need for multiple wallets, streamline asset management, and provide greater privacy control to Web3 users, fostering wider adoption and improved user confidence.
Proposing Towards a Unified Wallet Protocol - A Single Standard for Identity Interoperability
A single standard for identity interoperability will create a seamless user experience by allowing users to sign in to applications from different providers using the same identity. Web2 has mastered this space, in almost any application, you can now log in with existing IDs such as Google, Facebook, AppleID, etc. In the web3 world such a standard is lacking, the closest to this would be logging in with ENS.
A proposed solution would be to create a standardized protocol that allows users to manage multiple wallets under a single ID. This protocol, let's call it the "Unified Wallet Protocol," would simplify the user experience and provide a seamless sign-in process for decentralized applications.
The Unified Wallet Protocol enables users to consolidate and manage multiple wallets under a single ID. Regardless of which wallet they choose, all associated wallets will be linked to the same ID. Additionally, this protocol will allow for the creation of new ERC-4337 (Account Abstraction) wallets under the user's ID and provides an intuitive management system.
The Unified Wallet Protocol aims to streamline the user experience by offering a single sign-in option, eliminating the need to choose between different wallets when connecting to dApps. This protocol replaces and consolidates the WalletConnect experience by providing dapps with a direct SDK. This SDK enables dapps to request a connection to the user's ID and issue an ERC-4337 wallet directly, serving as the user's account for the dapp. This simplified process eliminates the need for additional steps such as connecting, approving, and signing.
To prioritize user privacy, the Unified Wallet Protocol employs zero-knowledge proofs and account abstraction techniques to establish a connection between the user's ID and their wallets without revealing the corresponding wallet addresses. By implementing these privacy measures, the protocol ensures that the association between the user's ID and their wallets remains undisclosed.
On the user side, the Unified Wallet Protocol provides a consolidated interface that allows users to manage their ID and all the wallets associated with it. With managing multiple wallets also comes with the burden of managing multiple private keys. It can be difficult to keep track of all the keys, and it can be risky if one of the keys is lost or compromised. The protocol will leverage MPC techniques to simplify passkey management, allowing users to access multiple wallets from a single location. This unified interface functions similarly to a single password manager, offering a seamless and convenient experience for users.
It's important to keep in mind that the use of an identity system only matters if other people recognize it and vendors choose to adopt it. This standard is something ENS would be the leader in and could ideally build out, given their current direction.
In addition to the proposed Unified Wallet Protocol, another approach to consolidating user identity on DApps involves leveraging ERC-6551 and ERC-4337. This innovative solution introduces a standardized DApp onboarding process where users receive ERC-6551 NFTs as their DApp accounts.
Consolidating user identity on Dapps using ERC-4337 and ERC-6551:
ERC-6551 could enable an interesting DApp onboarding standard where DApps can issue "accounts" to users in the form of ERC-6551. The process would involve the following steps:
Users connect their wallets to a DApp.
The DApp issues an ERC-6551 NFT to the user's wallet.
Users utilize this NFT as their account on the DApp.
All DApp activity and assets are stored within the user's membership NFT.
By adopting this approach, users can manage all their DApp accounts through NFTs, consolidating them under a single wallet. This would offer a significant improvement over the current system, where users are required to create and manage multiple wallet identities.
To enhance security, if the user's wallet is an ERC-4337 wallet, the concept can be further strengthened. By housing an ERC-6551 NFT within an ERC-4337 smart contract wallet, the assets within the NFT gain a signature structure from ERC-4337, bolstering their security. Transferring assets residing within the ERC-6551 NFT would require 2FA authentication. Ideally, each user would possess a single ERC-4337 wallet housing all their DApp accounts in the form of ERC-6551, creating a streamlined and secure user experience.
This approach fosters user trust, as users only need to trust the DApp with the ERC-6551 NFTs issued directly by the DApp itself, rather than entrusting their entire wallet to the DApp. This gives users greater control and security over their assets, enhancing the overall user experience and instilling confidence in the DApp ecosystem.
Current Projects working on Identity
There are several ongoing projects that are leveraging these primitives or creating new innovative solutions to advance identity interoperability and enhance user privacy:
Capsule: Building infrastructure that leverages secure hardware enclaves on mobile phones in tandem with highly programmable MPC for transaction signing and permissioning, enabling developers to offer safe and intuitive crypto UX.
Rollup.id: A privacy-preserving identity solution that uses zero-knowledge proofs to protect user data.
Privy.io: A simple library that allows dApps to onboard all their users to Web3, regardless of whether they have a wallet, across mobile and desktop.
Nocturne Labs: A highly composable protocol for private accounts on Ethereum. Using a mix of account abstraction and zero-knowledge proofs, they've built a private account layer that enables users to send, receive, and transact with their funds without exposing their address.
Disco.xyz: A decentralized social network that is using DIDs to allow users to control their own identities.
There are also current wallet providers that are taking one step towards providing users with a curated and seamless experience. Phantom Wallet introduced a curated wallet interface that allows users to see all their assets across Solana, Ethereum, and Polygon in one interface. This makes it super easy for users to manage assets across 3 addresses. The UI suggests that through there are 3 different addresses (one for each chain) they all have inherently the same identity.
Conclusion
In conclusion, the current state of identity in Web3 is plagued by fragmentation, multiplicity of identities, and privacy and security risks. The lack of identity interoperability and privacy frameworks hinders the seamless integration and full potential of Web3. To address these challenges, a unified standard called the Unified Wallet Protocol is proposed, which enables users to manage multiple wallets under a single ID, streamlining the user experience and enhancing privacy and security. However, adopting such a standard may face resistance from existing projects and require collaborative efforts from the Web3 community. Only by establishing a unified identity framework can Web3 achieve widespread adoption and deliver a truly user-centric decentralized ecosystem. It is important to note that initially focusing on identity interoperability within a single blockchain can serve as a starting point, and as multi-chain compatibility evolves, these identities can be extended across multiple chains. Additionally, exploring the potential of identity management through solutions like ERC-6551 and MPC for passkey management and privacy-preserving identity verification opens up further avenues for enhancement. By tackling these challenges and fully harnessing the potential of Web3, we can empower users, optimize asset management, and foster greater user confidence within the decentralized ecosystem.