An FHE confidentiality layer for public EVM chains

Aztec vs
Zama

Zama lets Solidity contracts compute on encrypted values, with decryption held by a threshold of selected key-management operators. Aztec uses client-side private execution without a shared network decryption key.

QuestionsZamaAztec

Operators can pause it

The litepaper describes 18 initial operators, 13 key-management nodes and five coprocessors, selected by reputation, alongside the host chain. Any one of them can pause the protocol in an emergency.

No one can stop it

Permissionless sequencers and provers run the network. Upgrades follow public governance rules with a timelock. L2BEAT assesses the rollup at Stage 2.

Threshold decryption

Values are encrypted under a network key. A two-thirds threshold of the key-management operators can decrypt, which is what contract-level access rules rely on.

No backdoor

Private functions execute on the user's device and the network verifies a proof. There is no network-wide decryption key, no validator that re-executes private inputs, and no co-signer. Public calls and their inputs are visible by design.

Encrypted types in Solidity

Solidity contracts compute on encrypted values and define who may decrypt them, with off-chain coprocessors doing the work.

Private + public contracts

Noir contracts combine private state and functions with public ones, and anyone can deploy them. Contracts compose on Aztec and reach Ethereum through L1/L2 messaging.

Permissionless to use

Builders can deploy confidential Solidity apps on a supported chain, free and without permission. Users can hold, send, and decrypt the values an app grants them. Running a key-management node or coprocessor is limited to selected operators.

Permissionless to use, build, and operate

Anyone can deploy contracts or participate as a sequencer or prover under the published protocol, staking, and hardware requirements.

Contract-defined access control. An application lists who may decrypt each value, and the key-management service decrypts only for them. Any operator can also blacklist sanctioned addresses.

Selective disclosure at the application and user level. An application decides which facts it proves or publishes, and a user can share their own viewing keys with whoever they choose. No protocol-wide audit key, screening gate, or operator sits in the path of a transaction.

What Zama does well.

Programmable confidentiality in Solidity on supported public chains, with application-defined access to encrypted values.

The difference. Both let applications define disclosure. Compare the underlying trust assumptions: threshold key management for Zama, client-side private execution for Aztec.

If something here no longer holds, tell us and it will be corrected. Tell us

Keep comparing.

  1. Aztec vs NEAR

    A sharded proof-of-stake Layer 1

  2. Aztec vs Starknet

    A validity rollup on Ethereum

  3. Aztec vs Miden

    A client-side-proving rollup, spun out of Polygon

  4. Aztec vs Zcash

    A proof-of-work Layer 1 for private money

  5. Aztec vs Tempo

    A payments-first Layer 1, incubated by Stripe and Paradigm

Privacy shouldn't depend on permission.