Inspiration
The need for authentic, anonymous feedback has grown in various online platforms, from e-commerce to social media and beyond. However, with anonymity comes the challenge of ensuring that reviews are genuine and not generated by bots or fake accounts. We were inspired to tackle this problem by creating a system that allows users to submit anonymous reviews while verifying their personhood. This ensures a trustworthy review ecosystem that respects user privacy.
What it does
Our solution enables users to submit anonymous reviews by using a Personhood Credential (PHC) that proves they are real people without revealing their actual identity. The PHC is issued by a trusted authority after verifying the user's personhood, and users can then present a Zero-Knowledge Proof (ZKP) to the review platform to verify the credential. This allows the platform to accept the review while keeping the user's identity private.
How we built it
Credential Issuance : Using Aries Cloud Agent Python (ACA-Py), we created a schema and credential definition for a Personhood Credential. We issued this credential after verifying a user's personhood through predefined checks.
Zero-Knowledge Proofs: The user can generate a ZKP to selectively disclose certain attributes of their credential, proving possession without revealing personal details.
DIDComm Protocol: We used DIDComm to securely communicate between the user's wallet (holding the PHC) and the review platform.
Review Platform Verification: The review platform requests proof of personhood from the user before allowing them to submit a review. If verified, the review is accepted without associating it with the user's identity.
Challenges we ran into
Implementing ZKP: Setting up Zero-Knowledge Proofs required consideration of which attributes to disclose and ensuring they were verified.
Interaction between all parties : Designing the interaction between reviewers, Issuer and Verifier needed understanding of user flows and minimising interactions between parties
Accomplishments
Privacy-Preserving Design: We successfully created a system that verifies personhood without compromising user anonymity. Leveraging Zero-Knowledge Proofs: Implementing ZKP for selective disclosure is a complex but powerful approach, and we're proud of being able to apply it in a practical, real-world scenario.
What's next for Anonymous Review Verification
Enhance Privacy with AnonCreds: We plan to implement AnonCreds for additional privacy layers, enhancing unlinkability and pseudonymity for users. Revocation Mechanism: Adding a revocation mechanism to revoke credentials if misuse or fraudulent behavior is detected. Broader Integrations: Extend support for other platforms and services that require anonymous, trusted interactions, such as forums, job boards, and social networks. User-Friendly Wallet Integration: Develop or integrate with user-friendly digital wallets so that users can manage and present their credentials with ease.
Built With
- python
- w3c
- zkp
Log in or sign up for Devpost to join the conversation.