docs/protocol/architecture/gateway.md
This document explains one of the key components of the Zama Protocol - Gateway, the central orchestrator within Zama’s FHEVM protocol, coordinates interactions between users, host chains, coprocessors, and the Key Management Service (KMS), ensuring that encrypted data flows securely and correctly through the system.
The Gateway is a specialized blockchain component (implemented as an Arbitrum rollup) responsible for managing:
It is designed to be trust-minimized: computations are independently verifiable, and no sensitive data or decryption keys are stored on the Gateway itself.
The Gateway ensures that encrypted values provided by users are well-formed and valid. It does this by:
The Gateway maintains a synchronized copy of Access Control Lists (ACLs) from host chains, enabling it to independently determine if decryption or computation rights should be granted for a ciphertext. This helps enforce:
These ACL updates are replicated by coprocessors and pushed to the Gateway for verification and enforcement.
When a smart contract or user requests the decryption of an encrypted value:
This ensures asynchronous, secure, and auditable decryption without the Gateway itself knowing the plaintext.
The Gateway also handles bridging of encrypted handles between host chains. It:
Issues attestations allowing these handles to be used on the destination chain.
The Gateway enforces consensus across decentralized coprocessors and KMS nodes. If discrepancies occur:
The Gateway runs smart contracts that administer:
The Gateway is designed to operate without requiring trust:
The protocol assumes no trust in the Gateway for security guarantees—it can be fully audited and replaced if necessary.