Web 2 User Authentication and Wallet Mapping
For a wide user adaptation, web 2 users with no knowledge of web 3 or wallets can interact with the network through mail authentication. By proving the identity of web 2 user through zero knowledge proof, a self-custodial wallet can be mapped to user’s web 2 identity.
Basic Flow
- User Authentication
- The user initiates authentication via the Web 2 identity provider (e.g., Google) leveraging oauth service.
- Upon successful login, an authentication token is generated by the provider, along with the signature signed by the identity provider.
- Identity Proof Generation
- The proof server receives the authentication token and generates an identity proof using ZKP.
- This proof confirms the user’s identity without revealing any personal data.
- Submission to Proof Verifier
- The user submits the identity proof along with the intended transaction data to the substrate chain.
- The blockchain node receives this information for validation.
- Proof Verification
- The blockchain node verifies the identity proof against the authentication received from the Web 2 provider.
- If verification is successful, the process proceeds to wallet mapping.
- Wallet Address Generation
- A unique wallet address is generated and securely mapped to the user’s Web 2 identity.
- The user can now access their wallet, ensuring full control and self-custody of their assets.
- Identity Verification through Oracle Network
- The oracle network queries the Web 2 identity provider to get the signature key.
- This additional layer ensures that the identity proof is legitimate and not tampered with.