tangle-network / webb-experiences

Dedicated repository for discovery, exploration, and inspiration of the Webb ecosystem.
3 stars 0 forks source link

[FEAT] Upload Circuit Flow for Webb MPC Circuit Console #220

Open monaiuu opened 11 months ago

monaiuu commented 11 months ago

Description

A circuit is the foundational element in this console. It contains the mathematical representation, setup, and parameters for a specific zero-knowledge proof or function. The primary objective of the "Upload Circuit Flow" is to provide users with a seamless, straightforward, and secure process to submit their zk (zero-knowledge) circuits to the Webb MPC Circuit Console. By enabling this, the platform intends to:

User Flow

  1. Authentication & Authorization: Before a user can upload a circuit, they need to be authenticated, typically via a traditional sign-in or using a wallet connection (e.g., via privy.io).

  2. Upload Interface: A user-friendly interface where users can submit their circuit files (R1CS, viewing & proving keys). This might include drag-and-drop functionality & file browser access.

  3. Metadata Entry: Post file submission, users will be prompted to provide relevant metadata about the circuit. This might include:

    • Circuit Name: The name or identifier of the circuit.
    • Description: A brief about what the circuit does.
    • Files: This includes the R1CS, viewing key, proving key, etc.
    • Circuit Parameters: Metadata about the circuit.
    • Audit Report: Optional, for trustworthiness.
    • Usage Statistics: Data on how many projects utilize this circuit.
    • License Information: If any, specifying how the circuit can be used. (i.e., MIT)
  4. Validation & Feedback: Once the circuit and its metadata are submitted, the system should validate the data. Any errors or inconsistencies should be flagged to the user with clear feedback on what needs to be corrected.