LUX
All Chains
Z

Z-Chain (ZK)

Privacy ChainLinear Consensus

Zero-knowledge UTXO chain for private transactions. Groth16/PLONK proof verification, nullifier-based double-spend prevention, and optional FHE (BFV/CKKS).

Overview

The ZK Chain provides zero-knowledge privacy for transactions on Lux Network. Using a UTXO model with Groth16 and PLONK proof systems, Z-Chain enables fully private transfers where the sender, receiver, and amount are all hidden.

Nullifier-based double-spend prevention ensures security without revealing transaction graph information. Optional FHE integration via the T-Chain allows smart contracts to operate on encrypted values.

Z-Chain supports both private and transparent transactions, giving users the choice of when to use privacy features. Compliance keys can optionally be configured for regulated environments.

Technical Specifications

Proof SystemsGroth16, PLONK
ModelUTXO (shielded)
PrivacySender, Receiver, Amount
FHEOptional (via T-Chain)
Proof Time~2 seconds
Chain TypeOptional

Key Features

  • Groth16 and PLONK proof systems
  • Private UTXO transfers
  • Nullifier-based double-spend prevention
  • Optional FHE (BFV/CKKS)
  • Selective disclosure
  • Compliance key support

SDK Example

Quick start using the Lux JavaScript SDK.

z-chain-example.ts
import { ZkClient } from 'luxnet/zk'

const zk = new ZkClient('https://zk.lux.network')

// Create a private transfer
const tx = await zk.privateTransfer({
  from: shieldedWallet,
  to: recipientViewKey,
  amount: '100',
  asset: 'LUX',
})