Lux Docs
Chains

Quantum VM (Q-Chain)

Post-quantum cryptographic operations: Pulsar signatures, Quasar consensus, parallel verification.

The Quantum VM (Q-Chain) is a post-quantum resistant blockchain virtual machine. It provides quantum-safe signatures using Pulsar keys, parallel transaction processing, and bridges classical BLS consensus with post-quantum Pulsar threshold signatures via the Quasar consensus protocol. The Q-Chain uses DAG-based consensus for high-throughput parallel processing.

Architecture

  • Pulsar Keys: Post-quantum key pairs (default 1024 bytes) with version tracking
  • Quantum Signatures: SHA-512 based hashing with quantum noise and time-windowed validation
  • Parallel Processing: Configurable batch sizes with worker pool architecture
  • Quasar Bridge: Hybrid consensus connecting P-Chain BLS with Q-Chain Pulsar threshold signatures
  • Quantum Stamps: Time-based stamps on blocks for replay attack prevention

Configuration

{
  "txFee": 1000,
  "createAssetTxFee": 10000,
  "quantumVerificationFee": 500,
  "maxParallelTxs": 100,
  "quantumAlgorithmVersion": 1,
  "coronaKeySize": 1024,
  "quantumStampEnabled": true,
  "quantumStampWindow": "30s",
  "parallelBatchSize": 10,
  "quantumSigCacheSize": 10000,
  "coronaEnabled": true,
  "minQuantumConfirmations": 1
}

Key Parameters

ParameterDefaultDescription
txFee1,000Base transaction fee (nanoLUX)
quantumVerificationFee500Fee for quantum signature verification
maxParallelTxs100Maximum parallel transaction processing
coronaKeySize1,024Pulsar key size in bytes
quantumStampWindow30sValidity window for quantum stamps
parallelBatchSize10Batch size for parallel processing
quantumSigCacheSize10,000Cache size for verified quantum signatures

RPC API

The Q-Chain API uses the qvm namespace. Endpoint:

https://api.lux.network/{network}/ext/bc/{blockchain-id}/rpc

Block Operations

  • qvm.getBlock -- Retrieve a block by ID (includes quantum signature status)

Quantum Key Operations

  • qvm.generateCoronaKey -- Generate a new Pulsar key pair (returns public key, version, size)
  • qvm.signWithQuantum -- Sign a message with a quantum-resistant signature
  • qvm.verifyQuantumSignature -- Verify a quantum signature

Transaction Operations

  • qvm.getPendingTransactions -- Get pending transactions in the mempool

Status

  • qvm.getHealth -- Get VM health status
  • qvm.getConfig -- Get current configuration

Example: Generate a Pulsar Key

curl -X POST --data '{
  "jsonrpc": "2.0",
  "method": "qvm.generateCoronaKey",
  "params": {},
  "id": 1
}' -H "Content-Type: application/json" \
  https://api.lux.network/mainnet/ext/bc/{blockchain-id}/rpc

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "publicKey": "a5f72c3d...",
    "version": 1,
    "keySize": 1024
  }
}

Hybrid Post-Quantum Security

The Q-Chain supports hybrid post-quantum cryptography combining classical algorithms with NIST-standardized primitives:

PurposeClassicalPost-Quantum
Identity SigningEd25519ML-DSA-65 (NIST Level 3)
Key ExchangeX25519ML-KEM-768 (NIST Level 3)
Session EncryptionAES-256-GCM--

Ephemeral keys are generated per session and destroyed after handshake for forward secrecy. The system falls back gracefully to classical-only if the peer does not support PQ.

See lps.lux.network for the relevant Lux Proposals governing this chain.

On this page