ZK Rahat
Rahat is a blockchain-based aid system using Privado ID (Polygon ID) for privacy, allowing donors to verify criteria without revealing personal data, and scalable via the Coinbase SDK.
Demo
About
The problem it solves ### The Problem It Solves Rahat addresses the challenge of distributing aid while balancing **privacy** and **decentralization**. Traditional systems either store beneficiary data on-chain (compromising privacy) or rely on centralized databases (compromising trust). ### How It Helps - **Privacy-Preserving Verification**: Using **Polygon ID (zero-knowledge proofs)**, Rahat allows donors to verify criteria (e.g., age, location) without exposing sensitive personal information like names or birthdates. - **Decentralized and Trustless**: The system is fully decentralized, removing reliance on centralized databases, ensuring transparency and trust for all parties involved. - **Scalable Aid Distribution**: With the integration of the **Coinbase SDK**, Rahat scales efficiently, supporting large numbers of transactions while maintaining security and privacy. ### Use Cases - **Data Reusablity**: Once a beneficiary is verified, their data can be securely reused by other organizations, streamlining processes and eliminating duplication of effort. - **Targeted Donations**: Donors can choose specific criteria (e.g., age, disability status) for distributing aid, without needing to know private details about beneficiaries. - **Privacy-First Relief**: Governments and organizations can distribute aid without compromising beneficiary privacy, avoiding both data breaches and privacy concerns. - **Simplified Aid Management**: Simplifies the process of verifying, tracking, and managing aid distribution, reducing administrative overhead while ensuring data integrity and security. Additional Features **Expanded Query Parameters** We **would have added** more query parameters, such as **gender** and **location**, alongside **age**, to provide donors with the ability to target beneficiaries based on a broader set of criteria. This would make the donation process more specific and efficient. **Custom UI for Assigning Verifiable Claims** We **would have added** a **custom UI** to allow donors to easily assign **verifiable claims** to beneficiaries. This would streamline the process of manually verifying claims and improve user experience by providing a more intuitive interface. **Email Service for Claim Status Notifications** We **would have added** an **email notification service** to automatically notify beneficiaries about their claim status. This would ensure better communication, keeping them informed about whether their claim was verified or if additional actions were needed. **Dynamic Donation Amounts** We **would have added** a **dynamic donation system**, where each beneficiary receives a donation tailored to their needs, rather than a static amount. This would help make aid distribution more personalized and aligned with each beneficiary’s requirements.
How it's made
Challenges we ran into **Privado ID SDK Limitations** While integrating the **Privado ID JS SDK**, we encountered challenges in generating Verifiable Credentials (VCs) directly through the SDK. To overcome this, we transitioned to using the **issuer node UI** provided by Privado, which streamlined the process and allowed us to generate VCs efficiently. **Coinbase Mass Payout SDK Limitations** The **Coinbase mass payout SDK** faced a significant limitation—it didn’t support cross-chain transactions. To address this, we adopted the **Base chain** and **Coinbase Wallet**, ensuring we could still process large-scale transactions while maintaining scalability. **Gas Fee Constraints on Polygon Testnet** High gas fees on the **Polygon testnet** during testing posed a hurdle in conducting bulk transactions. We optimized our contract calls and implemented batch processing to reduce the number of transactions, helping us work within the constraints of testnet resources.