Enclave is now The Interfold. Documentation is being updated.
Ciphernode Operators
Overview

Ciphernode Operators

Ciphernodes are the distributed workers that power the Interfold network. They participate in threshold cryptography to enable encrypted execution environments (E3s) while ensuring no single party can access the underlying plaintext data.

What is a Ciphernode?

A ciphernode is a node operator that:

  • Generates key shares: Creates PVSS (Publicly Verifiable Secret Sharing) key shares for each committee
  • Publishes public keys: Contributes to aggregated committee public keys used for encryption
  • Produces decryption shares: Decrypts computation outputs when the threshold is met
  • Maintains availability: Stays online and responsive to participate in sortition and committee duties

Ciphernodes earn rewards for successful participation and risk slashing for missed duties or malicious behavior.

Contract Architecture

The Interfold protocol uses several contracts that work together:

ContractPurpose
InterfoldCore coordinator that manages E3 requests and computation lifecycle
CiphernodeRegistryTracks registered operators and manages committee formation
BondingRegistryHandles license bonds (ENCL) and ticket balances (ETK)
SlashingManagerProcesses slashing proposals, appeals, and ban enforcement
E3RefundManagerCalculates and distributes refunds when an E3 fails
EnclaveTokenENCL token used for license bonding
EnclaveTicketTokenNon-transferable ETK token representing ticket balances (backed by stablecoin)

Sepolia Contract Addresses

ContractAddressDeploy block
Enclave0x450015E41E1F6b6AfaEbf598E32a8d02a368c0A010395619
CiphernodeRegistry0xc8D2880c59D5e807eFFDee3451fb0Aa97f6aefDA10395615
BondingRegistry0x1323d235Cd040d64D01d3C2adf084F9A16a675aE10395616
SlashingManager0x9263b4B2D98FB26172faF018EB81B9227E56dB3510395614
E3RefundManager0xaa4d3F3d3482cbC51f013c7Eb1591BeD9e0187dc10395621
EnclaveTicketToken0x7D3D17F0A60cF227aaC78cB0cE6B25E00768dbe810395613
EnclaveToken (ENCL)0x24b28471AE7BdF1fdBcfDd183c73D13ff0689B9910395612
MockUSDC (fee token)0x01AbD7D8e6547c943c2fE082C3Ce194fDCe5739610395611

Circuit verifiers (C5, C7, Fold) are deployed with the main flow. The DecryptedSharesAggregation circuit (C7) is deployed as a single ThresholdDecryptedSharesAggregationVerifier. See deployed_contracts.json for addresses.

VerifierAddress
ThresholdPkAggregationVerifier (C5)See deployed_contracts.json after deploy
ThresholdDecryptedSharesAggregationVerifier (C7)See deployed_contracts.json after deploy
RecursiveAggregationFoldVerifier (Fold)See deployed_contracts.json after deploy

Always verify addresses from packages/enclave-contracts/deployed_contracts.json or your deployment output. Addresses differ per network.

Operator Lifecycle

A ciphernode moves through several states during its lifecycle:

State Descriptions

StateDescription
UnbondedNo license bond deposited; cannot register
LicensedENCL bonded but not yet registered in the registry
RegisteredIn the registry but lacking minimum ticket balance
ActiveFully operational; eligible for committee selection via sortition
InactiveRegistered but below minimum requirements (tickets or license bond)
ExitPendingDeregistration requested; waiting for exit delay before claiming or re-registering

Requirements

Before operating a ciphernode, ensure you have:

RequirementDetails
ENCL TokensAt least 100 ENCL for the license bond (check licenseRequiredBond())
StablecoinUSDC (or configured fee token) for tickets; minimum 1 ticket worth
ETHGas for transactions on your target network
HardwareLinux/macOS, 4+ cores, 8GB+ RAM, stable internet with open UDP port
SoftwareInterfold CLI installed, WebSocket RPC endpoint

Getting Started

Follow these guides in order to become an active ciphernode operator:

  1. Running a Ciphernode - Set up your node using DappNode, Interfold CLI, or Docker
  2. Registration & Licensing - Bond your license, register, and add tickets
  3. Tickets & Sortition - Understand how committee selection works
  4. Exits, Rewards & Slashing - Learn about rewards and exit procedures