Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build a Confidential Benchmarking and Polling System Onchain using fhEVM #144

Open
zaccherinij opened this issue Mar 4, 2025 · 0 comments
Labels
🎯 Bounty This bounty is currently open 📁 fhEVM library targeted: fhEVM

Comments

@zaccherinij
Copy link
Collaborator

zaccherinij commented Mar 4, 2025

Overview

Introduction

Many companies offer systems for polling and benchmarking — such as opinion polls, salary benchmarks, or healthcare surveys. However, these solutions typically require users (both individuals and corporations) to send their data in plaintext, relying on a third party to manage sensitive information securely.

Fully homomorphic encryption (FHE) offers a trustless solution by allowing computations on encrypted data. Using FHE, we can create polling and benchmarking applications without exposing the underlying data.

Bounty description

This bounty challenges you to build Solidity smart contracts leveraging TFHE scheme and fhEVM to create a confidential benchmarking and polling system.

There are three key stakeholders to consider in this scenario:

  • Organizer: Defines the on-chain data model, such as the types of data to collect and the way the data is aggregated, while maintaining respondent privacy.
  • Respondents: Individuals or organizations who submit their responses and encrypt the data using FHE.
  • Analysts: Use the encrypted data, such as compute or access aggregated statistics drawn from the encrypted on-chain dataset containing responses from different respondents.

Example 1 — On-chain opinion pool

An organizer wants to collect opinions on a specific question (e.g., “Are you in favor of XXXX?”) and also gather demographic information such as gender, geography, or age.

Analysts could then view aggregated results, for example, the breakdown of votes from men over 45.

At no point would any individual’s raw response be visible in plaintext.

Example 2 — On-chain benchmarking

In this scenario, multiple companies submit encrypted salary and budget information (e.g., R&D spending). Because the data remains encrypted on-chain, each organization can compare itself to the industry average or other benchmarks without revealing individual numbers (e.g., “Are we spending more on R&D than the average company in our sector?”).

Data security safeguards

Any valid solution should include mechanisms to prevent access to single data points for reencryption or decryption. For example, decryption could only be allowed once a threshold (such as a minimum of 10 respondents) is reached, ensuring privacy.

Additional considerations include:

  • Pre-computation of statistics: Aggregate data in batches to minimize expensive on-chain TFHE operations.
  • Merkle trees: Reduce on-chain data size by leveraging Merkle proofs.
  • Composability: Ensure the solution is flexible and can integrate with other on-chain components or systems.

What do we expect?

Your submission should be a GitHub repository containing:

  • fhEVM smart contracts : Implementations of confidential benchmarking and polling system.
  • Frontend: A user-friendly interface that displays the system.
  • Proof of humanity: Integration to ensure real human respondents.
  • Examples of use cases and unit tests: For the core functionalities.
  • Documentations with instructions about how to use the application and explanations of the technical and architecture designs.

Bonus points

  • Incentives: Mechanisms (e.g., on-chain rewards) to encourage user participation.
  • Data validation: Checks to filter out obviously invalid data.
  • Scalability: The system’s efficiency of handling a high number of submissions without significant performance degradation.
  • KYC integration: Integration of existing KYC solutions.

Judging criteria

The team will judge and rank all submissions mainly based on the following areas:

  • Architecture & code design
    • How well thought-out is the overall architecture of your smart contract or dApp?
    • Are the design choices clear, logical, and efficient?
  • Smart contract quality
    • Is the code clean, robust, and well-commented?
    • Does it adhere to Solidity and industry best practices?
    • The smart contract must be written for the fhEVM and make use of its unique features.
  • Testing
    • Demonstrate thorough testing using tools like Hardhat to validate your smart contracts.
    • Include test coverage reports and showcase edge-case handling.
  • Deployment
    • Deploy your smart contract on the Sepolia testnet and provide a working deployment link.
  • Design & user experience
    • Showcase your application with a user-friendly frontend built using React, Next.js, Vue.js, or a similar framework.
    • Aesthetics and usability matter! A clean, intuitive design with smooth user interactions will earn extra points.
  • Documentation
    • Provide guidance on how to use the application.
    • Clearly explain your technical choices and architecture design.
    • Use clear and concise language, supported by visuals where applicable.

Reward

🥇Best submission: up to €5,000.

To be considered best submission, a solution must be efficient, effective and demonstrate a deep understanding of the core problem. Alongside the technical correctness, it should also be submitted with a clean code, clear explanations and a complete documentation.

🥈Second-best submission: up to €3,000.

For a solution to be considered the second best submission, it should be both efficient and effective. The code should be neat and readable, while its documentation might not be as exhaustive as the best submission, it should cover the key aspects of the solution.

🥉Third-best submission: up to €2,000.

The third best submission is one that presents a solution that effectively tackles the challenge at hand, even if it may have certain areas of improvement in terms of efficiency or depth of understanding. Documentation should be present, covering the essential components of the solution.

Reward amounts are decided based on code quality, model accuracy scores and speed performance on a m6i.metal AWS server. When multiple solutions of comparable scope are submitted they are compared based on the accuracy metrics and computation times.

Related links and references

👉 Register

Step 1: Registration

Click here to register to the fhEVM Bounty. Fill out the registration form with your information. Once you fill out the form, you will receive a confirmation email with a link to the submission portal for when you are ready to submit your code.

Note

Check your spam folder in case you don't receive the confirmation email. If you haven't received it within 24 hour, please contact us by email at bounty@zama.ai.

Step 2: Work on the Challenge

Read through the Bounty details and requirements carefully. Use the provided resources and create your own GitHub repository to store your code.

If you have any questions during your work, feel free to comment directly in the Bounty issue and our team will be happy to assist you.

Step 3: Submission

Once you have completed your work, upload your completed work to the submission portal using the link provided in the confirmation email.

Note

The deadline for submission is May 18, 2025 (Midnight, Anywhere On Earth). Late submissions will not be considered.

We wish you the best of luck with the challenge!

✅ Support

  • Comment on this issue with any questions regarding this bounty.
  • Email for private questions: bounty@zama.ai
  • Join the Zama community channels here
@zaccherinij zaccherinij added 🎯 Bounty This bounty is currently open 📁 fhEVM library targeted: fhEVM labels Mar 4, 2025
@yuxizama yuxizama changed the title Build a Confidential Benchmarking and Polling System On-chain using fhEVM Build a Confidential Benchmarking and Polling System Onchain using fhEVM Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎯 Bounty This bounty is currently open 📁 fhEVM library targeted: fhEVM
Projects
None yet
Development

No branches or pull requests

1 participant