This project focuses on integrating zkpassport and zupass to store and manage Proof Carrying Data (PCD) of users. Zupass is a user-centric app based on PCD SDK framework and provides a wallet-like interface for managing proofs and user-self-controlled data.
First version of system design
The system consists of several key components that work together to provide secure, privacy-preserving identity verification and ticket management:
- Functionality: Scans physical passports and generates zero-knowledge proofs
- Features:
- Passport scanning interface
- Proof generation using zero-knowledge cryptography
This is built by zkpassport team, we are using
zkpassport-sdk
to jump intozkpassport-native-app
.
- Functionality: A service handling requests between components
- Key Services:
- Route/diff service - Determines what data needs to be verified
- Age verification: Proves a user is above a certain age without revealing the exact age
- Nationality verification: Confirms nationality without exposing full passport details
- personhood verification: Confirms the user is a unique human
zkpassport-sdk
integration - Processing passport data securely- Integrate zupass and deal with PCDs
- Route/diff service - Determines what data needs to be verified
- Functionality: User-facing wallet for managing identity proofs
- Key Services:
- Access controls for applications requiring verification
- Maintains privacy while enabling verification
- Functionality: Decentralized ticket verifier
- Key Features:
- Buy Ticket:
- Verifies nationality proof
- Maps to user (creates unique ID)
- Sets ticket_is_used = false
- Spend Ticket:
- Verifies passport identity
- Checks user owns ticket
- Updates ticket_is_used from false to true
- Resell/Transfer:
- Verifies passport identity
- Checks user owns ticket
- User repays the discount (if the nationality doesn't match)
- Transfers ticket to new owner
- Buy Ticket:
- Writing frontend and api endpoints to handle different
zkpassport-sdk
- Implement PCD storage integration with encryption and access controls
- Develop hyle ticket marketplace features (buy, spend, transfer)
- Create user flows for passport scanning and verification
- Add monitoring and security auditing for proof verification
yarn install
yarn dev:client