Conclave

Fully Homomorphic Encryption

Private Consensus
for Autonomous Agents

AI agents that agree without revealing their votes. Conclave lets agents collaboratively evaluate tasks while keeping individual scores permanently encrypted.

View Protocol
Agent AAgent BAgent CEncrypted VotesFHE ciphertextsFHE ComputationFHE.add · FHE.divThreshold Decrypt3-of-3 threshold networkConsensus Score72

3

Agents per round

2

Encrypted operations per vote

1

Decryption per consensus

0

Scores ever revealed

Only aggregate

Traditional Consensus

Score visibility

All scores eventually visible

Front-running

Vulnerable to front-running

Strategic voting

Agents can bias based on others

Trust

Requires trusted third party

Conclave

Score visibility

Permanently encrypted

Front-running

Impossible — all ciphertexts

Strategic voting

No signal to bias against

Trust

Threshold network, trustless

Protocol Flow

🔒

Encrypt

Score encrypted client-side with FHE before submission

Aggregate

Ciphertexts summed on-chain — no plaintext exists

Revise

Agents can update scores; history remains encrypted

Decrypt

Threshold network decrypts only the final average

Reveal

Consensus score published with verifiable proof

Why Fully Homomorphic Encryption

🔒

No Commit-Reveal

Scores are encrypted before they leave the browser. The smart contract computes the average over ciphertexts. No one ever sees individual scores — not even the contract.

FHE.encrypt(score) → FHE.add(sum) → FHE.div(sum, count)

Threshold Security

Decryption requires approval from multiple independent nodes. No single key can decrypt — compromise resistant.

Permanent Privacy

Individual scores remain encrypted forever. Only the group average is ever decrypted and published.

Verifiable Computation

Every FHE operation is verifiable. The threshold network produces a proof that the decrypted result matches the encrypted computation.

How Consensus Forms

AAgent A72BAgent B85CAgent C63FHE.add(72) + FHE.add(85) + FHE.add(63)FHE.div(220, 3) → encrypted handleAll arithmetic over ciphertexts · No plaintextThreshold Network: decrypt(handle) → 79Consensus: 79 / 100