Skip to content

Open Task RFP for Replicating circom-MP-SPDZ to support tfhe-rs #55

@mhchia

Description

@mhchia

Open Task RFP for Replicating circom-MP-SPDZ to support tfhe-rs

Executive Summary

Project Details

  • Motivation:
    • This project will allow people to write Circom code and run FHE with the tfhe-rs framework, enabling more options for benchmarks and different use cases.
    • How to do it?
      • We can reuse the code in the circom-MP-SPDZ repo. Since the input files are generic and not limited to MP-SPDZ, we should be able to adapt the functions to generate circuits and inputs for tfhe-rs, allowing parties to easily run the tfhe-rs framework with the generated files.
        image
  • Scope of Work:
    • Task 0: Understand circom-MP-SPDZ
    • Task 1: Understand tfhe-rs and produce documentation for:
      • Supported features:
        • Types of gates (e.g., +, -, *, /, etc.)
        • Types of input (e.g., secret/constant integer, secret/constant fixed-point, etc.)
        • Security parameters
        • Number of parties supported
        • Best practices
        • etc.
      • How to use it with an example.
    • Task 2: Replicate circom-MP-SPDZ to circom-tfhe-rs
      • Fork the circom-MP-SPDZ repo and replace the dependency on MP-SPDZ with tfhe-rs.
      • Modify the code to generate circuits and inputs for tfhe-rs.
      • Modify the code to run the generated circuits and inputs with tfhe-rs.
      • Write unit tests for circuit generation, input generation, and circuit execution.
      • Write integration tests for the entire workflow for the example circuits: two_outputs and nn_circuit_small.
      • Write documentation for the entire workflow.
  • Expected Outcomes: [Clearly state what successful completion of the project looks like.]
    • A library for people to run FHE with tfhe-rs, supporting the same functionality as circom-MP-SPDZ:
      • All operators defined here are supported.
        • If any operation is not supported, discuss with the grant liaison.
      • Documentation on how to use the library.
      • Tests that run example circuits correctly.
      • Support for secret integers and fixed-points, unless limited by the framework.

Qualifications

  • Skills Required:
    • Circom, python
    • Knowledge in MPC/FHE, e.g. attended a course or similar experience
  • Preferred Qualifications:
    • Experience in using tfhe-rs or other MPC/FHE frameworks

Administrative Details

  • Grant Liaison(s):
  • Estimated Project Duration:
    • Estimation: 150 hours in total
      • Task 0 (30 hours): Understand circom-MP-SPDZ and how to adapt it to work with tfhe-rs.
      • Task 1 (30 hours): Understand tfhe-rs and produce documentation for what is supported and how to use it (with an example).
      • Task 2 (90 hours): Replicate circom-MP-SPDZ to circom-tfhe-rs.
  • Project Complexity: Hard
    The grantee will need to
    • Understand the entire flow of circom-MP-SPDZ.
    • Know how tfhe-rs works from a high-level perspective and learn how to write circuits properly.

Additional Information

Submission Details

  • Proposal Deadline: The deadline for submitting proposals is the end of this round of the Acceleration Program. Refer to current round
  • Submission Instructions: Please submit your proposal as an issue and link back to this issue in your proposal. Refer to proposal template for more details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Round 3June 1, 2024, to Aug 31, 2024TaskThis is a task open to everyoneTask Be TakenSomeone's proposal has passed and they work on this task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions