Actors
Key actors and components in the Kalypso ecosystem include:
Proof Requesters (or Requesters in short):
Entities who seek to have ZK proofs generated but lack the computational resources to do so efficiently. Applications, whether designed for mobile or web, and clients of different blockchain protocols can interact with the Kalypso Smart Contracts through the Kalypso Software Development Kit (SDK).
Proof Generators (or Generators in short):
Specialized operators equipped with optimized hardware and software to generate ZK proofs. They use a Listener module to liaise with the Kalypso Smart Contracts, run proving software in a Prover module and optionally require TEE support for markets which support private inputs.
Kalypso Matching Engine (or Matching Engine in short):
Listens for proof requests made by Requesters and matches them with suitable Generators using the Matching Protocol. It runs in an Oyster Node and primarily interfaces with Requesters and Generators via the Kalypso Smart Contracts.
Market Creators (or Creators in short):
Each circuit and app has its own peculiarities like minimum stake amount (based on estimated cost of attack or opportunity cost of proof delays), requirement for TEE support (based on whether private inputs are involved), recommended proving software and more. Unique markets can thus be created for different circuits and be parameterized by Market Creators.
Input Verification Service (or IVS in short):
Smart Contracts:
The set of contracts which deals with creation of Markets, registration of Generators, receiving Requests from Requestors, verification of proofs, locking stake and enforcing slashing mechanisms.
Blockchain:
The Kalypso Smart Contracts are to be deployed on a L1 or L2. At the moment, they are deployed on Arbitrum Nova and any further references to Blockchain would mean Arbitrum Nova unless specified otherwise.
Oyster Node:
The Marlin Oyster network consists of nodes featuring Trusted Execution Environments (TEEs) which ensure computational integrity and data confidentiality. The nodes in the network can either be provisioned and rented individually by someone for exclusive use or be shared with other applications in serverless mode.