project screenshot 1
project screenshot 2
project screenshot 3

zkGitPerks

zkGitPerks allows GitHub contributors to anonymously enjoy various perks and claim reimbursements on event tickets, travel expenses, and much more

zkGitPerks

Created At

Circuit Breaker

Winner of

Privacy + Scaling Explorations - Proof of Email

Privacy + Scaling Explorations - Semaphore

Project Description

zkGitPerks is a privacy-focused platform designed to enhance the experience of open source contributors by enabling them to anonymously claim a variety of perks and benefits. At its core, zkGitPerks leverages zkEmail technology to establish a secure and privacy-preserving mechanism for contributors to prove their involvement in open source projects without revealing their identity. This system allows individuals who contribute to repositories, such as the go-ethereum project, to anonymously demonstrate their contributions through zero-knowledge proofs. By submitting evidence of a merged pull request (PR) without disclosing their email directly, contributors can join exclusive clubs associated with their projects.

Once membership is verified, contributors gain access to a broad spectrum of perks and reimbursements. These benefits are not limited to specific offerings; rather, the platform is designed to be open and permissionless, allowing for the community or any entity to add new perks over time. The gatekeeper mechanism of zkGitPerks ensures that only verified contributors can access these benefits, maintaining the system's integrity and exclusivity.

Examples of potential perks include but are not limited to:

  • Reimbursements for conference tickets, enabling contributors to attend leading blockchain and technology events without bearing the full financial burden. Contributors can claim these perks by providing an invoice email received upon purchasing a ticket, all while maintaining their anonymity.

  • Monthly reimbursements on AWS bills up to a certain amount, such as $100, offering financial relief to contributors who utilize cloud computing resources for their open source projects.

The flexible and expandable nature of zkGitPerks opens up endless possibilities for supporting the open source community. By removing barriers to entry and encouraging anonymous participation, zkGitPerks aims to foster a more inclusive and rewarding ecosystem for open source contributions.

How it's Made

The development of zkGitPerks is grounded in the integration of two core technologies: zkEmail and Semaphore. At its heart, the project leverages the power of zero-knowledge proofs (ZKPs) to maintain the anonymity of GitHub contributors while enabling them to access various perks and benefits. Here's a deep dive into how these technologies are orchestrated to create a seamless and secure experience for open-source contributors.

Core Technologies and Their Integration zkEmail: This technology serves as the foundation for verifying contributors' involvement in a GitHub repository without revealing their identity. Contributors use zkEmail to prove they have had a pull request merged into a repository by generating a zero-knowledge proof of their contribution. This approach ensures privacy and security, keeping the contributor's email and identity confidential.

Semaphore: Building upon zkEmail, Semaphore is utilized for group management and anonymous signals within the blockchain space. In zkGitPerks, once a contributor proves their contribution through zkEmail, they can join a Semaphore group specific to the GitHub repository they contributed to. This membership is facilitated by the zkGitPerks gatekeeper smart contract, which validates the zero-knowledge proof of contribution and associates the contributor's Semaphore ID commitment with the on-chain group.

Gatekeeper Smart Contract: The gatekeeper smart contract is pivotal to the zkGitPerks architecture. It receives the zero-knowledge proof of contribution and the Semaphore ID commitment from contributors. If the proof is verified, the contributor’s commitment is registered with the repository’s on-chain group, enabling them to access the perks associated with that group.

Perk Smart Contracts: For each perk offered, an independent smart contract is created on top of the gatekeeper contract. This design is open and permissionless, allowing anyone to offer perks to contributors. These perk contracts are responsible for validating the conditions for claiming the perk and distributing the rewards. They work in tandem with the gatekeeper contract to ensure a secure and efficient process for accessing perks.

Membership Proofs and Scope Management: Contributors generate membership proofs to access perks, with the proof’s signal being the address of the perk contract. Each perk contract defines a scope for proof generation, which can be constant for one-time perks or dynamic, refreshing based on criteria such as time. For instance, a perk contract for AWS bill reimbursements might allow monthly claims by refreshing the scope each month. This flexibility in scope management enables a wide range of perks to be offered and claimed in a controlled manner.

We also make use of sindri to provide seem-less user experience and allow the application to be used even on a mobile device.

Nullification and Security: The nullification process, critical for preventing double-claiming of perks, is managed through the gatekeeper contract. This ensures that perk contracts can focus on their primary objectives without needing to handle nullification logic, thereby simplifying the development and maintenance of perk offerings.

Notable Hacks and Innovations: The project employs several innovative solutions to tackle the challenges of anonymity, security, and scalability. One notable hack involves the dynamic scope management for perk contracts, allowing for a versatile and adaptive framework for perk claims. This system ensures that contributors can continuously benefit from new and recurring perks while maintaining the integrity and security of the platform.

In summary, zkGitPerks is a testament to the innovative use of zero-knowledge proofs and blockchain technology to support the open-source community. By carefully piecing together zkEmail, Semaphore, and smart contract logic, the project provides a robust and privacy-preserving platform for rewarding contributors to GitHub repositories.

background image mobile

Join the mailing list

Get the latest news and updates