Please describe your proposed solution
<u>=> Overview:</u>
This ZK Digital Identity Framework is an open-source protocol built on Cardano’s Midnight sidechain, designed to enable privacy-preserving decentralized identity management using Zero-Knowledge Proofs (zk-SNARKs). This framework focuses on allowing users and dApps to verify identity credentials and reputation without exposing sensitive personal information. By integrating Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs), the framework will provide privacy-focused, decentralized identity solutions tailored for DeFi, governance, and healthcare applications.
<u>=> How the framework can be used</u>
This framework will be open-source, which allows developers and potential applications to customize and build cross-platform identity solutions for their use cases:
- DApp Integration: Developers can integrate the framework to add identity verification and credential management (like KYC) into decentralized applications using zk-SNARKs for privacy.
- Issuing VCs: Organizations can issue and manage VCs (e.g., certifications or KYC compliance) using the framework, ensuring privacy while verifying credentials off-chain.
- Reputation-Based Access: Platforms can use the framework to verify reputation scores and trustworthiness without disclosing users’ complete histories, especially for DeFi and governance.
- Governance and Voting: The framework can enable private voting systems for decentralized governance, ensuring eligible users can vote without revealing their identity or choice.
- Healthcare Credentialing: Healthcare providers can verify professional certifications or medical credentials using zk-SNARKs, to ensure privacy and trust.
<u>=> Technical Framework:</u>
1. Decentralized Identity Management
Indentus (Atala Prism) will be used to manage DIDs, allowing for secure issuance, update, and revocation of DIDs. Each DID is cryptographically tied to a private key, which the user controls, ensuring self-sovereign identity management.
<u>How it works:</u>
- The DID is linked to Verifiable Credentials (VCs) such as KYC compliance or academic certificates.
- Each DID is stored on-chain as a reference, but the actual data and credentials are kept off-chain for privacy.
2. Verifiable Credentials (VCs) and Reputation Metadata
- VCs are digital credentials issued by a trusted authority (e.g., a university or KYC provider) and are stored off-chain, and only a cryptographic reference (hash) is stored on-chain.
- Reputation Metadata: Reputation data, like governance participation or DeFi trust scores, can be issued as VCs. Users can share reputation proofs selectively using zk-SNARKs, allowing others to trust them without revealing unnecessary data.
<u>Technical Flow:</u>
- A trusted authority issues a VC to a user, which is stored off-chain.
- A cryptographic hash of the VC is stored on-chain, referencing the off-chain data.
- Users generate zk-SNARK proofs to verify these credentials, ensuring privacy.
3. Zero-Knowledge Proofs (zk-SNARKs)
zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) allow users to prove the validity of their credentials (e.g., “I’m over 18” or “I passed KYC”) without revealing the actual credential. The zk-SNARK proofs are generated using the Midnight sidechain on Cardano, which specializes in privacy-preserving computations.
<u>How it works:</u>
- When a user needs to prove their credentials (e.g., to access a DeFi platform), they generate a zk-SNARK proof using their private key.
- This proof is sent to a verifier (e.g., a dApp), which verifies the proof using on-chain data without accessing the user’s personal information.
- The smart contract on Cardano can verify the zk-SNARK proof, ensuring that the credential is valid while maintaining privacy.
4. Smart Contracts
Aiken smart contracts handle the on-chain logic for the ZK Digital Identity Framework. These smart contracts manage the issuance, verification, and revocation of DIDs, VCs, and reputation data.
<u>Functionality:</u>
- Credential Issuance: When a trusted authority issues a VC, the associated cryptographic reference is stored on-chain through a smart contract.
- Credential Verification: When a user provides a zk-SNARK proof, the smart contract verifies the proof by checking it against the on-chain reference.
- Revocation/Updates: If a credential becomes invalid or needs updating, the smart contract handles revocation or updates, ensuring that only valid credentials can be verified.
<u>Data Flow:</u>
- On-chain: Only cryptographic hashes or proofs are stored on-chain to minimize data exposure and maintain efficiency.
- Off-chain: Sensitive information, such as the actual credentials, is stored securely off-chain, ensuring that personal data remains private.
5. Off-Chain Data Storage
Sensitive personal data (e.g., medical certificates, educational credentials) is stored off-chain. This ensures privacy and reduces on-chain data bloat. The on-chain record holds a hash of the off-chain data, ensuring that anyone verifying the credential can trust that the off-chain data hasn’t been tampered with.
<u>How it works:</u>
- Off-chain storage provides scalability and privacy since only a reference (cryptographic hash) is stored on-chain.
- When a user provides a proof, the verifier can check the on-chain hash to ensure that the off-chain data hasn’t been altered.
<u>=> What is unique about this proposal?</u>
- Privacy-Preserving Verification: Unlike many identity solutions that expose personal data during verification, this framework leverages Zero-Knowledge Proofs (zk-SNARKs) to enable privacy-preserving verifications. Users can prove attributes (e.g., KYC compliance, age, or reputation) without reveal actually private data.
- Reputation Metadata Integration: A unique feature of the framework is the integration of reputation metadata. This allows users to build and verify reputation scores based on their activities in DeFi, governance participation, or other decentralized applications.
- Separation of Identity and Credentials: The framework separates identity management (DIDs) from credential verification, ensuring that sensitive personal data (e.g., credentials) is stored off-chain, while only cryptographic hashes are stored on-chain.
=> Related Proposal:
We want to inform that we have submitted a complementary but independent proposal as part of the ‘Concept’ challenge (https://cardano.ideascale.com/c/idea/132171), which is about developing a zkID wallet. This protocol here would extend the functionality of the wallet. At the same time, the wallet would make this protocol easier to use because in some cases you would only need to connect the wallet instead of implementing the whole protocol. But both proposals work independently of each other and create unique value even if just one of them gets funded.