CELARDOCS CELAR.NETWORK →
Concepts · CELAR DOCS

FHE vs ZK: two kinds of blockchain privacy

Zero-knowledge proofs and fully homomorphic encryption are both called "privacy tech," but they solve different problems. Understanding the difference explains most of Celar's architecture.

ZK: prove without revealing

A zero-knowledge proof lets you compute on your own data locally and convince the chain the result is valid without revealing inputs. This is ideal for private payments — Zcash pioneered it, and Celar's shielded pool uses it. Its privacy is unconditional against the operator set: even if every validator colludes, a shielded transfer stays private.

FHE: compute on what stays hidden

ZK has a structural limit: it cannot give you shared private state — state that many users touch but nobody can read. A private orderbook, a shared encrypted pool balance, a sealed-bid auction: someone must compute over data that belongs to multiple parties at once. FHE does exactly that — validators and coprocessors evaluate contracts directly on ciphertexts, so the chain maintains state nobody, including its own operators, can read.

The trade each makes

ZK (shielded pool)FHE (encrypted state)
Shared encrypted stateNo — personal state onlyYes — the whole point
Trust assumptionNone on operators (cryptography only)Threshold committee guards the key
ProgrammabilityFixed circuitsGeneral smart contracts
Failure modeNone from collusion≥ 79-seat coalition could decrypt

Why Celar ships both

Because users shouldn't have to choose. Programmable confidentiality (FHE tier) when you need contracts on encrypted values; maximal, committee-independent privacy (ZK pool) when it matters most — selectable per transaction. The FHE tier's trust assumption is then engineered down aggressively: see threshold key management.