LUXDocumentation
Docs/Z-Chain (ZK)

Z-Chain (ZK)

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

Features

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

Quick Start

Install the Lux SDK and start interacting with ZK Chain.

Installation

npm install luxnet

Example

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',
})

SDKs & Libraries

API Reference

Full API reference documentation is available at docs.lux.network.

View Full API Docs