ZK vs FHE vs MPC vs TEE: Which Privacy Technology Does What?
Onchain privacy rests on four main technologies, and most serious protocols combine several of them. ZK proofs show that a statement is true without revealing the data behind it. Fully homomorphic encryption (FHE) lets a network compute on encrypted data without decrypting it. Multi-party computation (MPC) lets parties who do not trust each other compute a shared result without seeing each other's inputs. Trusted execution environments (TEEs) run code inside a hardware enclave that even the machine's operator cannot read.
The trade-off is between guarantees and speed. ZK and FHE rely on cryptography; TEEs rely on the hardware maker not being compromised, and MPC relies on participants being online and not colluding, which is hard to detect.

Public vs private data in Aztec
Aztec, live in alpha since March 2026, runs private functions on the user's device and proves them onchain. A nullifier proves a note exists without revealing which one.
Report page 31
The four privacy technologies compared
| Technology | What it does | Main limitation | Who uses it |
|---|---|---|---|
| ZK proofs | Prove a computation or statement is correct without revealing inputs | Proving is expensive, especially client-side | Zcash, Railgun, Privacy Pools, Aztec, Starknet STRK20 |
| FHE | Compute directly on encrypted data | Slow and costly, though new schemes are closing the gap | Zama, Fhenix, Octra |
| MPC | Split keys or data across nodes so no single node sees everything | Needs participants online; latency grows with participants; collusion is hard to detect | Arcium, Near Chain Signatures, Nillion |
| TEE | Execute on plaintext inside an isolated hardware enclave | Trust in the hardware vendor (for example Intel SGX keys) | Secret Network, Oasis, MagicBlock, Near Confidential Intents |
Source: Castle Labs, The Full-Stack Privacy Ecosystem (June 2026)
Zama shows how the pieces combine: FHE for computing on encrypted data, MPC to decentralise its network, and ZK only to verify that encrypted user inputs are valid.



