ADR-002: Midnight Network as L1
Status: Accepted Date: 2026-03-14
Context
Knight Shield needs a blockchain with native privacy for transactions. The options considered were: Midnight Network, Zcash, Aztec (L2 Ethereum), Secret Network, and Aleo.
Decision
Use Midnight Network as the exclusive L1.
Rationale
-
Protocol-native ZK: Midnight has zero-knowledge proofs integrated at the consensus layer, not as an add-on. Selective disclosure is a first-class feature.
-
Compact language: A contract language purpose-built for ZK that compiles to ZKIR + proving keys. Allows expressing privacy logic declaratively, unlike Solidity with separate ZK circuits.
-
Nascent ecosystem: As the first independent wallet in the Midnight ecosystem, Knight Shield has first-mover advantage and can influence standards.
-
Compliance-friendly: Midnight supports selective disclosure (reveal compliance status without revealing data), aligned with the vision that privacy does not mean criminal anonymity.
-
Mature SDK: 17 npm packages (
@midnight-ntwrk/*) with TypeScript support, functional preprod network.
Alternatives Considered
| Alternative | Reason for Rejection |
|---|---|
| Zcash | More mature but limited smart contract ecosystem (no Compact equivalent) |
| Aztec | L2 on Ethereum, dependency on Ethereum, still in heavy development |
| Secret Network | Privacy via TEE (hardware), not ZK (cryptographic) — different trust model |
| Aleo | Native ZK but less mature ecosystem than Midnight, Leo language less expressive |
Consequences
- Positive: Real privacy guarantees, first-mover advantage, TypeScript SDK
- Negative: Network still in preprod, small user base
- Mitigation: Maintain contract compatibility for potential migration if needed