zk-vs-fhe-vs-mpc

Installation
SKILL.md

ZK vs FHE vs MPC

ZK vs FHE vs MPC: which should you use for a privacy-focused DApp?

Zero-knowledge proofs (ZK), fully homomorphic encryption (FHE), and secure multi-party computation (MPC) are three different approaches to privacy-preserving computation, each with different tradeoffs. The right choice depends on what needs to stay private and what performance profile your application can tolerate. Midnight uses zero-knowledge proofs, specifically zk-SNARKs, through Compact, a domain-specific smart contract language based on TypeScript.

This page compares the three cryptographic approaches in depth. For the category-level view first, see how privacy blockchains work.

Comparison at a glance

Zero-knowledge proofs (ZK) Fully homomorphic encryption (FHE) Secure multi-party computation (MPC)
What it protects Proves a statement is true without revealing the underlying data Allows computation directly on encrypted data Allows multiple parties to jointly compute over combined private inputs
Where computation happens The prover generates a proof, locally by default; the network verifies it on-chain Directly on ciphertext, by a single computing party Distributed across multiple non-colluding parties
Typical performance profile today Cost concentrates in proof generation; practical for smart contract logic Overhead applies to every operation on encrypted data; an active area of optimization Requires coordination and communication between parties; overhead scales with party count
Example platforms Midnight (Compact), Aztec (Noir), Aleo (Leo), Mina, Starknet (Cairo), ZKsync Zama (TFHE-rs, Concrete, FHEVM), Fhenix, Duality Technologies, OpenFHE, Microsoft SEAL Partisia Blockchain, Lit Protocol, Threshold Network
Typical use case today Private smart contracts, selective disclosure, identity proofs Encrypted data processing, confidential analytics, confidential smart contracts Threshold key management, distributed signing, joint computation without a trusted party

Platform examples verified August 2026. Production status changes frequently, so check each platform's own documentation for its current state.

Installs
7
GitHub Stars
16
First Seen
Sep 18, 2026