Glossary
This glossary defines the terms that the Interfold docs, the CLI, and the contracts use. It is for
every reader who finds an unknown term on another page. Each entry gives a short definition and a
link to the page that explains the term. To link to an entry, use /reference/glossary# and the
entry name in lowercase, with hyphens for spaces, for example /reference/glossary#bond-owner.
A · B · C · D · E · F · G · H · I · K · L · M · N · O · P · R · S · T · V
A
Accusation
A signed claim from a committee member that another member sent an invalid proof or inconsistent data. The committee votes on the accusation over gossip. A Lane A slash on-chain needs signed votes from at least H committee members. See Exits and slashing.
Active operator
An operator that is registered and not banned, holds enough FOLD bond and tickets, and runs an
accepted node release. The BondingRegistry records the state and emits
OperatorActivationChanged. See Registration.
Aggregator
The committee member that combines the work of the committee. The active aggregator is the eligible member with the lowest party ID. It makes the C5 and C7 proofs and publishes the results. See Architecture.
Avail
The data availability layer that stores large ciphertext outputs. Each chain entry in the node
configuration needs a data_availability reader for it. See
data availability.
B
BFV
Brakerski/Fan-Vercauteren, the fully homomorphic encryption scheme that the Interfold uses. BFV lets a program compute on encrypted data without a decryption step. See Cryptography.
Bond
The FOLD that a bond owner locks for one operator in the BondingRegistry. The operator needs the
required bond to register, and a set share of it to stay active. See
Registration.
Bond owner
The wallet or Safe that funds and controls the collateral of an operator. The operator key
authorizes the first bond owner with interfold ciphernode set-bond-owner. Exits pay out to the
bond owner. See Registration.
Bootstrap peer
The first peer that a ciphernode dials to join a P2P network. The mainnet and sepolia network
profiles each have one. See network profiles.
C
C0 to C7
The identifiers of the zero-knowledge circuits in the DKG and decryption pipeline. C0 to C4 prove the steps of the DKG. C5 proves the public key aggregation, C6 proves each decryption share, and C7 proves the combination of the shares. See Noir circuits.
Ciphernode
A node that runs the Interfold node software with interfold start. Ciphernodes hold key shares,
serve on committees, and make a proof for each step. See Ciphernode operators.
CiphertextReady
The E3 stage in which the encrypted output is available and the committee decrypts it.
publishCiphertextOutput on the Interfold contract sets this stage. See
E3Stage.
Committee
The ciphernodes that sortition selects for one E3. The committee runs the DKG, holds the key shares, and decrypts the output. See E3 lifecycle.
Committee size
The fixed shape of a committee: minimum, micro, or small. Each size sets the values of
N, T, and H. See CommitteeSize.
CommitteeFinalized
The E3 stage in which the committee is fixed and the DKG runs. finalizeCommittee on
the CiphernodeRegistry sets this stage. See E3Stage.
Complete
The E3 stage in which the verified plaintext output is on-chain.
publishPlaintextOutput on the Interfold contract sets this stage. See
E3Stage.
Compute provider
The system that runs the E3 program over the encrypted inputs and proves the result. Its
IComputeProvider contract checks the parameters at request time and names the decryption verifier.
See Compute provider.
CRT
The Chinese remainder theorem. A BFV preset splits its ciphertext modulus into several smaller CRT
moduli, and the config circuit checks these moduli. See Cryptography.
D
Data availability
The layer that stores the ciphertext output of an E3 off-chain. The Interfold contract records only a reference and an availability proof. Ciphernodes read the data back through a reader such as Avail. See data availability.
Deploy block
The block in which a contract was deployed. A ciphernode reads chain history from the lowest deploy block of its configured contracts. See contract keys.
Deployment manifest
The file deployments/manifest.json, which publishes the current contract addresses for each
network. interfold config check compares a node configuration with it. See
Contracts & Addresses.
Deregistration
The request to remove an operator from the registry. It puts all collateral of the operator in the exit queue. See Exits and slashing.
DHT
The Kademlia distributed hash table of the libp2p network. Ciphernodes publish protocol documents to it and announce them over gossip. Other ciphernodes fetch each document by its content hash. See Architecture.
DKG
Distributed key generation. The committee makes one shared public key together, and no member holds the full secret key. Each member keeps a key share. See DKG.
E
E3
Encrypted Execution Environment. One confidential computation, from the request to the verified
output, identified on-chain by its e3Id. See What is an E3.
E3 program
The application logic of an E3: a contract that implements IE3Program and the program that the
compute provider runs. The contract validates the request, accepts inputs with publishInput, and
verifies the output. See E3 program.
E3 stage
The state of an E3 in the Interfold contract: None, Requested, CommitteeFinalized,
KeyPublished, CiphertextReady, Complete, or Failed. Each change emits E3StageChanged. See
E3Stage.
Exit queue
The queue in the BondingRegistry for withdrawn tickets and FOLD bond. Each entry becomes claimable
after the exit delay, and the bond owner claims it with claimExitsFor. See
Exits and slashing.
Expulsion
The removal of a member from an active committee after a slash. When fewer than H members remain,
the E3 fails with InsufficientCommitteeMembers. See
Exits and slashing.
F
Failed
The E3 stage of an E3 that stopped before completion. getFailureReason returns the
failure reason. See E3Stage.
Failure reason
The value of the FailureReason enum that records why an E3 failed. It also decides whether the
requester or the ciphernodes carry the cost. See
FailureReason.
Fee token
The ERC-20 token that a requester uses to pay for an E3. Mainnet uses USDS. See Contracts & Addresses.
FOLD
The Interfold token (InterfoldToken). Operators bond FOLD for each ciphernode. See
Tokenomics.
G
Gossip
The libp2p gossipsub topic that ciphernodes use to broadcast signed protocol messages. Each network profile has its own topic. See Architecture.
H
H (honest parties)
The number of honest parties that a committee needs. See N, T, and H.
Honk
The proof system of the Barretenberg prover (bb). The on-chain verifiers for the aggregated DKG
and decryption proofs are Honk verifiers. See Noir circuits.
I
IMT
Incremental Merkle tree. The CiphernodeRegistry keeps the registered ciphernodes in an IMT, and
each E3 request uses a snapshot of its root. See Sortition.
Interfold contract
The contract Interfold.sol, which coordinates each E3. It accepts requests, records the stage, and
accepts the outputs. See Interfold contract.
K
Key share
The part of the committee secret key that one committee member holds after the DKG. Decryption needs T + 1 key shares. See DKG.
KeyPublished
The E3 stage in which the committee public key is on-chain, so that data providers can
encrypt inputs to it. publishCommittee on the CiphernodeRegistry sets this stage. See
E3Stage.
L
Lane A and Lane B
The two paths to a slash in the SlashingManager. Lane A uses signed committee votes and anyone can
submit it. Lane B uses evidence from an account with SLASHER_ROLE and has an appeal window. See
Exits and slashing.
M
Mock deployment
A network that uses a mock E3 program or mock verifiers, which accept proofs without real
verification. The manifest marks such a network with mocks: true. See
Contracts & Addresses.
N
N, T, and H
The three numbers that describe a committee. N is the committee size. T is the threshold, and
decryption needs T + 1 key shares. H is the number of honest parties. The contract uses H as the
viability threshold. The sizes are minimum (N = 3, T = 1, H = 2), micro (N = 9, T = 4, H = 5),
and small (N = 19, T = 9, H = 14). See CommitteeSize.
Network profile
The P2P network that a ciphernode joins: mainnet, sepolia, local, or a custom network. Each
profile has a fixed 32-byte network ID. See
network profiles.
Noir
The language of the zero-knowledge circuits in the circuits/ folder. The Barretenberg prover makes
the proofs. See Noir circuits.
node_generation
A release counter that increases when a node-only fix becomes mandatory. After governance raises the required value, older nodes cannot become active. See Upgrades.
Node profile
One set of node settings in interfold.config.yaml: the node key or an entry under nodes. The
--name flag selects the profile. See
node profile keys.
O
OpenVM
The zkVM that proves an E3 program's secure process. Each project's guest runs the program, and the
operator's machine proves it on a GPU or a CPU. The program.openvm settings configure it. See
Compute Provider.
Operator
The person or organization that runs a ciphernode. In the contracts, operator is the address of
the ciphernode signing key. See Ciphernode operators.
P
Peer ID
The libp2p identity of a ciphernode. The node derives it from its wallet private key. Print it with
interfold net get-peer-id. See CLI Reference.
Preset
A set of BFV parameters. insecure-64 is for development and CI only, and secure-8192 is for
production. Mainnet accepts only secure-8192. See Cryptography.
protocol_version
A release counter that increases when contracts, events, cryptography, or protocol behavior become incompatible. Every P2P protocol name contains it, so incompatible releases cannot communicate. See Upgrades.
PV-TBFV
Publicly verifiable threshold BFV. Each sensitive step of the threshold BFV protocol has a zero-knowledge proof that anyone can verify. See Cryptography.
R
Recursive aggregation
The folding of many proofs into one proof. The dkg_aggregator and decryption_aggregator circuits
make the final proofs that the contracts verify. See Noir circuits.
Registration
The step that adds an operator to the BondingRegistry and to the IMT of the CiphernodeRegistry.
Only the bond owner can register an operator. See Registration.
Requested
The first E3 stage. request on the Interfold contract accepts the E3 and the fee, and
sortition starts. See E3Stage.
Requester
The account that requests an E3 and pays its fee. The contracts use the term requester. See
Requesting an E3.
S
Slashing
A penalty on the ticket collateral or FOLD bond of an operator for a proven fault. A slash can also ban the operator and expel it from a committee. See Exits and slashing.
Sortition
The process that selects a committee for an E3. Ciphernodes score their tickets with a random seed and submit tickets on-chain, and the registry keeps the best scores. See Sortition.
T
T (threshold)
The threshold of a committee. Decryption needs T + 1 key shares. See N, T, and H.
tFOLD
The ticket token (InterfoldTicketToken). It is non-transferable and wraps the ticket collateral of
an operator. See Tickets and sortition.
Ticket
One unit of sortition weight. The number of available tickets is the collateral balance divided by the ticket price, rounded down. See Tickets and sortition.
TrBFV
The threshold variant of BFV that the ciphernodes use. The committee holds the secret key as shares, and T + 1 shares can decrypt. See Cryptography.
V
VRF
Verifiable random function. A Chainlink VRF randomness provider gives the seed for sortition. See Sortition.