mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
consensus: PQ canonical terminology (FIPS 203/204/205 + Pulsar + Lamport)
This commit is contained in:
@@ -119,7 +119,7 @@ When `engine/dag/engine.go` exceeds 100 LOC and stops returning nil:
|
||||
#### ✅ Go PQ Gets Real Certificates
|
||||
When `engine/pq/consensus.go` removes mock certificates:
|
||||
- Remove mock certificate check
|
||||
- Add ML-DSA/Kyber integration tests
|
||||
- Add ML-DSA/ML-KEM integration tests
|
||||
- Update summary to show PQ as production ready
|
||||
|
||||
#### ✅ C SDK Implements Consensus
|
||||
|
||||
+2
-2
@@ -171,7 +171,7 @@ ring-call benchmarks currently crash with a pre-existing nil-pointer in
|
||||
| BLS aggregation | 1 × (21 × 53 us) | 1.11 ms |
|
||||
| Per-validator ML-DSA sign | 21 × 495 us | 10.4 ms total (parallel: 495 us wall) |
|
||||
| Z-Chain Groth16 prover | 1 × ~400 ms | 400 ms CPU / 5-15 ms GPU (est) |
|
||||
| Corona round | 1 × variable | ~ms range |
|
||||
| Pulsar round | 1 × variable | ~ms range |
|
||||
| **Total wall-clock** | | **~400-500 ms CPU** (Groth16-dominated) |
|
||||
|
||||
**Per-cert verification (light client):**
|
||||
@@ -180,7 +180,7 @@ ring-call benchmarks currently crash with a pre-existing nil-pointer in
|
||||
|-----------|------|
|
||||
| BLS aggregated verify (100 signers) | 875 us (constant) |
|
||||
| Groth16 verify (3 pairings on BLS12-381) | ~1-3 ms CPU, ~200-500 us GPU |
|
||||
| Corona verify | variable |
|
||||
| Pulsar verify | variable |
|
||||
| **Total** | **~2-5 ms CPU** |
|
||||
|
||||
This supersedes the `357 us` claim in older papers. Stale sections to
|
||||
|
||||
+4
-4
@@ -27,8 +27,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
#### Quantum-Resistant Integration
|
||||
- OP Stack quantum finality integration example (`examples/op_stack_quantum_integration.go`)
|
||||
- Post-quantum cryptographic proofs:
|
||||
- ML-DSA-65 (Dilithium) digital signatures
|
||||
- ML-KEM-1024 (Kyber) key encapsulation
|
||||
- ML-DSA-65 digital signatures
|
||||
- ML-KEM-1024 key encapsulation
|
||||
- Quantum-resistant Merkle tree implementation
|
||||
- Layer 2 rollup integration with quantum-resistant finality guarantees
|
||||
|
||||
@@ -103,8 +103,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Security
|
||||
- Quantum-resistant cryptography integration for Layer 2 rollups
|
||||
- Post-quantum signature schemes (Dilithium)
|
||||
- Post-quantum key encapsulation (Kyber)
|
||||
- Post-quantum signature schemes (ML-DSA)
|
||||
- Post-quantum key encapsulation (ML-KEM)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ post-quantum finality. All sub-protocols live in `protocol/`.
|
||||
| `nova` | Linear chain mode (wraps ray) | `Nova[T]` |
|
||||
| `nebula` | DAG mode (wraps field) | `Nebula[V]` |
|
||||
| `chain` | Block interface primitives | `Block`, `ChainState` |
|
||||
| `quasar` | BLS + Corona + ML-DSA threshold signing | `signer`, `BLS`, `EpochManager`, `BundleSigner` |
|
||||
| `quasar` | BLS + Pulsar + ML-DSA threshold signing | `signer`, `BLS`, `EpochManager`, `BundleSigner` |
|
||||
|
||||
### Consensus Flow
|
||||
|
||||
@@ -40,7 +40,7 @@ post-quantum finality. All sub-protocols live in `protocol/`.
|
||||
```go
|
||||
type QuasarCert struct {
|
||||
BLS []byte // BLS12-381 aggregate, 48 bytes classical fast path
|
||||
Corona []byte // Ring-LWE threshold (PQ), O(1) after DKG
|
||||
Pulsar []byte // Ring-LWE threshold (PQ), O(1) after DKG
|
||||
MLDSAProof []byte // Z-Chain Groth16 rolling up N × ML-DSA identity sigs, ~192 bytes
|
||||
Epoch uint64
|
||||
Finality time.Time
|
||||
@@ -52,12 +52,12 @@ type QuasarCert struct {
|
||||
|-------|--------|----------|----------|---------|
|
||||
| BLS | BLS12-381 aggregate | co-CDH | 48 B | 48 B |
|
||||
| ML-DSA | ML-DSA-65 (FIPS 204) | Module-LWE + MSIS | ~3309 B per validator | 192 B (Groth16) |
|
||||
| Corona | Ring-LWE threshold | Module-LWE | O(1) after DKG | variable |
|
||||
| Pulsar | Ring-LWE threshold | Module-LWE | O(1) after DKG | variable |
|
||||
|
||||
Modes (each layer independently toggleable):
|
||||
- BLS-only: classical fast path
|
||||
- BLS + Corona: dual PQ
|
||||
- BLS + Corona + ML-DSA: full Quasar (`TripleSignRound1`)
|
||||
- BLS + Pulsar: dual PQ
|
||||
- BLS + Pulsar + ML-DSA: full Quasar (`TripleSignRound1`)
|
||||
- Full Quasar + Z-Chain ZKP: production mode (succinct certificate)
|
||||
|
||||
`IsTripleMode()` checks all three signing layers.
|
||||
@@ -72,13 +72,13 @@ the `LUX_CONSENSUS_PQ_MODE` env var or `Parameters.PQMode` field:
|
||||
|------|-------|-------------|
|
||||
| `BLSOnly` | bls | Classical fast path, smallest cert |
|
||||
| `BLSPlusMLDSA` | bls-mldsa | BLS + per-validator ML-DSA-65 |
|
||||
| `BLSPlusCorona` | bls-rt | BLS + Corona 2-round threshold |
|
||||
| `BLSPlusCorona` | bls-rt | BLS + Pulsar 2-round threshold |
|
||||
| `BLSPlusGroth16` | bls-z | BLS + Z-Chain Groth16 rollup (placeholder) |
|
||||
| `TripleQuantum` | triple | All three layers active |
|
||||
|
||||
`engine/pq.NewConsensus` resolves the mode via `config.PQModeFromEnv` and
|
||||
exposes `PQMode()` getter. `bench/pq_modes_bench_test.go` covers all modes
|
||||
with real signing (real BLS aggregate, real ML-DSA-65, real Corona
|
||||
with real signing (real BLS aggregate, real ML-DSA-65, real Pulsar
|
||||
2-round threshold).
|
||||
|
||||
Bench (Apple M1, n=21):
|
||||
@@ -89,10 +89,10 @@ Bench (Apple M1, n=21):
|
||||
| bls-mldsa | 369µs | 8.5ms | 3.4ms | 69 KB | 665 MB |
|
||||
| bls-rt | 39ms | 3.3s | 1.6ms | 33 KB | 318 MB |
|
||||
|
||||
The Corona layer is implemented by **Pulsar** (`github.com/luxfi/pulsar/threshold`)
|
||||
The Pulsar layer is implemented by **Pulsar** (`github.com/luxfi/pulsar/threshold`)
|
||||
— Lux's variant with DKG2 (`pulsar/dkg2/`) and Pulsar-SHA3 hash suite
|
||||
(`pulsar/hash/sp800_185.go`, KMAC over cSHAKE256). Pulsar params are
|
||||
byte-identical to the original Corona: M=8, N=7, LogN=8 (ring degree
|
||||
byte-identical to the original Pulsar: M=8, N=7, LogN=8 (ring degree
|
||||
256), Q=0x1000000004A01 (48-bit NTT-friendly prime), Dbar=48, Kappa=23.
|
||||
|
||||
Cert-size honest accounting (production params, classical 2^142 /
|
||||
@@ -117,8 +117,8 @@ that feed it are split across the primary network chains:
|
||||
| Chain | Role |
|
||||
|-------|------|
|
||||
| **X-Chain** | *Verifies* already-signed UTXOs via Fx plugins (secp256k1fx, mldsafx, slhdsafx, ed25519fx, secp256r1fx...). Does not run MPC ceremonies. |
|
||||
| **Q-Chain** | Runs the Corona 2-round threshold for *consensus only* (this repo's `protocol/quasar/` emits those rounds). Not a general MPC host. |
|
||||
| **T-Chain** | Runs *all* MPC ceremonies: CGGMP21, FROST, Corona (general), TFHE. The signing partner for cross-chain custody. |
|
||||
| **Q-Chain** | Runs the Pulsar 2-round threshold for *consensus only* (this repo's `protocol/quasar/` emits those rounds). Not a general MPC host. |
|
||||
| **T-Chain** | Runs *all* MPC ceremonies: CGGMP21, FROST, Pulsar (general), TFHE. The signing partner for cross-chain custody. |
|
||||
| **Z-Chain** | Rolls N per-validator ML-DSA identity sigs into a single 192-byte Groth16 proof per epoch (the `MLDSAProof` field). |
|
||||
|
||||
**Why `MLDSAProof` and not `ThresholdMLDSA`**: threshold ML-DSA has no FIPS
|
||||
@@ -142,7 +142,7 @@ The paper + proof sketch carry the soundness/liveness/PQ-safety arguments:
|
||||
amortized to ~2^20 via shared-matrix optimization for n=21 validators)
|
||||
- App C — Static vs adaptive corruption (Fischlin / erasure hybrids)
|
||||
- App D — Trusted-setup ceremony (Bowe-Gabizon-Miers), PLONK upgrade path
|
||||
- App E — Corona parameter tightness: classical 2^142, quantum 2^130 via
|
||||
- App E — Pulsar parameter tightness: classical 2^142, quantum 2^130 via
|
||||
BDGL sieving + Grover speedup
|
||||
|
||||
### Domain separation
|
||||
@@ -220,12 +220,12 @@ Per-component CPU costs for QuasarCert production and verification:
|
||||
| ML-DSA-65 verify (via Fx) | 254 us | `utxo/mldsafx BenchmarkMLDSA65Verify` |
|
||||
| ML-DSA-65 verify (cached) | 3 us | `utxo/mldsafx BenchmarkMLDSA65VerifyCached` |
|
||||
| SLH-DSA-192f verify | 1.92 ms | `utxo/slhdsafx BenchmarkSLH192fVerify` |
|
||||
| Quasar full block (BLS+ML-DSA+Corona) | 1.85 ms | `protocol/quasar BenchmarkQuasarBlockProcessing` |
|
||||
| Quasar full block (BLS+ML-DSA+Pulsar) | 1.85 ms | `protocol/quasar BenchmarkQuasarBlockProcessing` |
|
||||
|
||||
**QuasarCert verify (approx CPU, single cert, n=21 validators):**
|
||||
- BLS aggregate verify: ~875 us (constant in signer count)
|
||||
- Groth16 proof verify: ~1-3 ms (pairing-dominated, not yet in our bench harness — see App B of proof sketch)
|
||||
- Corona threshold verify: variable, amortized O(1) after DKG
|
||||
- Pulsar threshold verify: variable, amortized O(1) after DKG
|
||||
- Total: ~2-5 ms per cert, GPU batch can amortize 10-100x across certs
|
||||
|
||||
**Note on the stale 357 us claim in older papers:** The "357 us epoch finality"
|
||||
@@ -286,7 +286,7 @@ Run: `GOWORK=off go test -v -run TestLuxVsAvalanche_EndToEnd -bench=. ./bench/`
|
||||
|
||||
### Test Status
|
||||
- All tests pass except `TestQuantumBundle_ChainIntegrity` which is flaky
|
||||
(Corona threshold signing nondeterminism -- passes on retry)
|
||||
(Pulsar threshold signing nondeterminism -- passes on retry)
|
||||
- Build: `GOWORK=off go build ./...`
|
||||
- Tests: `GOWORK=off go test -count=1 -short -timeout 300s ./...`
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ The final cert includes sigs from every validator that appeared in at least one
|
||||
This is larger than the fixed k=128 cert (310 kB). Trade-off: we save the separate VRF + committee-signing protocol and get consensus + cert in a single pass.
|
||||
|
||||
Compression options:
|
||||
- **Per-epoch Corona** over converging signers (off the hot path)
|
||||
- **Per-epoch Pulsar** over converging signers (off the hot path)
|
||||
- **Per-era Z-chain Groth16** proof over epoch certs
|
||||
|
||||
## How it extends the existing protocols
|
||||
|
||||
@@ -27,7 +27,7 @@ post-quantum finality via three independent cryptographic signing paths.
|
||||
| **Flare** | DAG certificate/skip detection via 2f+1 quorum | `protocol/flare` |
|
||||
| **Ray** | Linear chain finality driver: Wave + Focus + Sink | `protocol/ray` |
|
||||
| **Field** | DAG finality driver: Wave + safe-prefix commit | `protocol/field` |
|
||||
| **Quasar** | BLS + Corona + ML-DSA threshold signing, epoch management | `protocol/quasar` |
|
||||
| **Quasar** | BLS + Pulsar + ML-DSA threshold signing, epoch management | `protocol/quasar` |
|
||||
|
||||
### Signing Modes
|
||||
|
||||
@@ -37,11 +37,11 @@ Each cryptographic layer is independently toggleable:
|
||||
|------|--------|----------|
|
||||
| BLS-only | BLS12-381 threshold | Fastest classical consensus |
|
||||
| BLS + ML-DSA | BLS + FIPS 204 ML-DSA-65 | Dual with PQ identity proof |
|
||||
| BLS + Corona | BLS + Ring-LWE 2-round threshold | Dual with PQ threshold proof |
|
||||
| BLS + Corona + ML-DSA | All three in parallel | Full Quasar (triple mode) |
|
||||
| BLS + Pulsar | BLS + Ring-LWE 2-round threshold | Dual with PQ threshold proof |
|
||||
| BLS + Pulsar + ML-DSA | All three in parallel | Full Quasar (triple mode) |
|
||||
|
||||
`IsTripleMode()` returns true when all three paths are configured.
|
||||
`TripleSignRound1` runs BLS + Corona + ML-DSA signing in parallel goroutines.
|
||||
`TripleSignRound1` runs BLS + Pulsar + ML-DSA signing in parallel goroutines.
|
||||
|
||||
### PQ Mode Selection (Configurable)
|
||||
|
||||
@@ -67,7 +67,7 @@ trade-offs:
|
||||
| bls-rt | 39 ms | 3.3 s | 1.6 ms | 33 KB | 318 MB |
|
||||
| triple | 40 ms | 3.3 s | 4.3 ms | 102 KB | 981 MB |
|
||||
|
||||
Corona / triple include the full 2-round Pulsar threshold protocol
|
||||
Pulsar / triple include the full 2-round Pulsar threshold protocol
|
||||
(`github.com/luxfi/pulsar/threshold` — Pulsar is Lux's variant with
|
||||
DKG2 and Pulsar-SHA3 hash suite). Production parameters M=8, N=7,
|
||||
LogN=8 (ring degree 256), Q=2^48-ish: classical 2^142, quantum 2^130.
|
||||
@@ -91,7 +91,7 @@ consensus/
|
||||
nova/ Linear chain consensus mode
|
||||
nebula/ DAG consensus mode
|
||||
chain/ Block interface primitives
|
||||
quasar/ BLS + Corona + ML-DSA threshold signing
|
||||
quasar/ BLS + Pulsar + ML-DSA threshold signing
|
||||
engine/ Consensus engine (Chain, DAG, PQ wrappers)
|
||||
core/ Core types, DAG structures
|
||||
types/ Block, Vote, Config, Bag
|
||||
@@ -122,7 +122,7 @@ Photon (select committee) -> Wave (threshold vote per frontier vertex)
|
||||
After consensus decision, the Quasar signing layer produces threshold certificates:
|
||||
|
||||
1. BLS: single-round threshold share via `crypto/threshold`
|
||||
2. Corona: 2-round Ring-LWE threshold via `luxfi/corona/threshold`
|
||||
2. Pulsar: 2-round Ring-LWE threshold via `luxfi/corona/threshold`
|
||||
3. ML-DSA-65: single-round FIPS 204 identity signature
|
||||
|
||||
All three run in parallel. A block is quantum-final when all configured certificate
|
||||
@@ -134,7 +134,7 @@ layers are valid.
|
||||
|-------|----------|---------|
|
||||
| Node-ID | Ed25519 | P2P transport auth |
|
||||
| Validator-BLS | BLS12-381 | Classical finality votes |
|
||||
| Validator-PQ | Corona (Ring-LWE) | PQ finality shares |
|
||||
| Validator-PQ | Pulsar (Ring-LWE) | PQ finality shares |
|
||||
| Validator-ID | ML-DSA-65 (FIPS 204) | PQ identity attestation |
|
||||
| Wallet (EVM) | secp256k1 | User transaction signatures |
|
||||
| Wallet (X-Chain) | secp256k1 | UTXO locking |
|
||||
@@ -205,7 +205,7 @@ GOWORK=off go test -bench=. ./bench/
|
||||
|
||||
1. **Pre-quantum**: Attacker must corrupt >= 1/3 stake to fork
|
||||
2. **Q-day (BLS broken)**: Lattice certificates prevent unsafe finalization
|
||||
3. **Post-quantum**: Security rests on Module-LWE (Corona) + Module-LWE/SIS (ML-DSA)
|
||||
3. **Post-quantum**: Security rests on Module-LWE (Pulsar) + Module-LWE/SIS (ML-DSA)
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -139,9 +139,9 @@ BenchmarkSigmoid-10 214260781 5.600 ns/op 0 B/op 0 a
|
||||
### Network Performance (QZMQ)
|
||||
|
||||
**Quantum-Secure Messaging:**
|
||||
- **Signature (Dilithium)**: 0.3ms
|
||||
- **Signature (ML-DSA)**: 0.3ms
|
||||
- **Verification**: 0.2ms
|
||||
- **Encryption (Kyber)**: 1.2ms
|
||||
- **Encryption (ML-KEM)**: 1.2ms
|
||||
- **Decryption**: 1.1ms
|
||||
- **Total Overhead**: ~2.6ms per message
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ The crypto layer uses axioms with real postconditions (not vacuous `True`):
|
||||
|--------|------|--------|-------------|
|
||||
| BLS | `Crypto/BLS.lean` | 3 | Bilinearity, aggregate soundness |
|
||||
| FROST | `Crypto/FROST.lean` | 2 | Threshold signature unforgeability |
|
||||
| Corona | `Crypto/Corona.lean` | 2 | Post-quantum threshold signatures |
|
||||
| Pulsar | `Crypto/Corona.lean` | 2 | Post-quantum threshold signatures |
|
||||
| ML-DSA | `Crypto/MLDSA.lean` | 2 | FIPS 204 post-quantum signatures |
|
||||
|
||||
### BLS Bilinearity (Proved)
|
||||
|
||||
@@ -146,7 +146,7 @@ All 12 Lux consensus protocols use light metaphors:
|
||||
- [Field](/docs/field) — Field-theoretic vertex ordering engine
|
||||
|
||||
### Quantum & Security
|
||||
- [Quasar](/docs/quasar) — Post-quantum finality (BLS + Corona hybrid)
|
||||
- [Quasar](/docs/quasar) — Post-quantum finality (BLS + Pulsar hybrid)
|
||||
- [Photon](/docs/photon) — K-of-N committee selection via light emission
|
||||
|
||||
### DAG & Parallel
|
||||
|
||||
@@ -87,7 +87,7 @@ func (q *Quasar) ProcessPhaseII(ctx context.Context, block *Block) error {
|
||||
| Validator-BLS | bls12-381 | Fast finality votes | `$HOME/.lux/bls.key` |
|
||||
| Validator-PQ | lattice | PQ finality shares | `$HOME/.lux/rt.key` |
|
||||
| Wallet (EVM) | secp256k1 or Lamport | User tx signatures | In wallet |
|
||||
| Wallet (X-Chain) | secp256k1 or Dilithium | UTXO locking | In wallet |
|
||||
| Wallet (X-Chain) | secp256k1 or ML-DSA | UTXO locking | In wallet |
|
||||
|
||||
The same `rt.key` registered on Q-Chain is reused by all chains.
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ Phase 2: AI Validation
|
||||
|
||||
Phase 3: Vote Broadcast
|
||||
→ Broadcasting vote via QZMQ...
|
||||
✓ Vote sent with Dilithium signature
|
||||
✓ Vote sent with ML-DSA signature
|
||||
|
||||
Phase 4: Learning
|
||||
✓ Training from consensus outcome
|
||||
@@ -276,7 +276,7 @@ agent.SyncSharedMemory(ctx)
|
||||
✅ **Quantum-Resistant**: All network communication via QZMQ
|
||||
✅ **Byzantine Fault Tolerant**: Handles up to (n-1)/3 malicious nodes
|
||||
✅ **AI-Verified**: Every proposal validated by multiple AI agents
|
||||
✅ **Cryptographically Provable**: Dilithium signatures on all messages
|
||||
✅ **Cryptographically Provable**: ML-DSA signatures on all messages
|
||||
✅ **Forward Secure**: Past consensus cannot be compromised
|
||||
|
||||
## Customization
|
||||
|
||||
@@ -9,7 +9,7 @@ Quasar is Lux's unified consensus protocol that combines multiple cutting-edge c
|
||||
1. **Fast Probabilistic Consensus (FPC)** - Prevents stuck states with dynamic thresholds
|
||||
2. **Wave Protocol** - Metastable convergence through repeated sampling
|
||||
3. **Horizon/Flare** - DAG-based finality detection
|
||||
4. **Post-Quantum Signatures** - Corona lattice + BLS fusion
|
||||
4. **Post-Quantum Signatures** - Pulsar lattice + BLS fusion
|
||||
|
||||
Together, these achieve **2-round quantum finality in <1 second**.
|
||||
|
||||
@@ -83,7 +83,7 @@ Visualizes the complete 2-round protocol:
|
||||
**Round 2 (~300ms): Quantum Finality**
|
||||
- Horizon finality detection
|
||||
- Flare certificate verification
|
||||
- Corona post-quantum signatures
|
||||
- Pulsar post-quantum signatures
|
||||
- Event horizon advancement
|
||||
|
||||
**Total: <1 second with quantum resistance**
|
||||
@@ -132,8 +132,8 @@ Horizon/Flare detect finality in parallel DAG:
|
||||
|
||||
### Quantum Resistance
|
||||
|
||||
Corona provides post-quantum security:
|
||||
- Lattice-based cryptography (NTRU/Kyber family)
|
||||
Pulsar provides post-quantum security:
|
||||
- Lattice-based cryptography (NTRU/ML-KEM family)
|
||||
- Fused with BLS for 2-round finality
|
||||
- Resistant to Shor's algorithm (quantum attacks)
|
||||
|
||||
@@ -150,7 +150,7 @@ Quasar Protocol
|
||||
└── Round 2: Quantum Finality
|
||||
├── Horizon (reachability analysis)
|
||||
├── Flare (certificate verification)
|
||||
└── Corona (PQ signatures)
|
||||
└── Pulsar (PQ signatures)
|
||||
```
|
||||
|
||||
## Performance
|
||||
|
||||
@@ -131,8 +131,8 @@ Consensus Vote & 530 ns & 1.89M/sec & 792 B & 12 \\
|
||||
All AI consensus communication uses QZMQ (Quantum-Secure ZeroMQ) with post-quantum cryptography:
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Dilithium}: Post-quantum digital signatures (NIST standard)
|
||||
\item \textbf{Kyber}: Post-quantum key encapsulation
|
||||
\item \textbf{ML-DSA}: Post-quantum digital signatures (NIST standard)
|
||||
\item \textbf{ML-KEM}: Post-quantum key encapsulation
|
||||
\item \textbf{ChaCha20}: Symmetric encryption (quantum-resistant)
|
||||
\end{itemize}
|
||||
|
||||
@@ -143,9 +143,9 @@ All AI consensus communication uses QZMQ (Quantum-Secure ZeroMQ) with post-quant
|
||||
\toprule
|
||||
\textbf{Operation} & \textbf{Latency} \\
|
||||
\midrule
|
||||
Sign (Dilithium) & 0.3 ms \\
|
||||
Sign (ML-DSA) & 0.3 ms \\
|
||||
Verify & 0.2 ms \\
|
||||
Encrypt (Kyber) & 1.2 ms \\
|
||||
Encrypt (ML-KEM) & 1.2 ms \\
|
||||
Decrypt & 1.1 ms \\
|
||||
\midrule
|
||||
\textbf{Total Overhead} & \textbf{2.6 ms} \\
|
||||
@@ -217,7 +217,7 @@ Real-world 3-node consensus cluster:
|
||||
\item \textbf{Quantum-Resistant}: All communication via QZMQ
|
||||
\item \textbf{Byzantine Fault Tolerant}: Handles $(n-1)/3$ malicious nodes
|
||||
\item \textbf{AI-Verified}: Multiple AI agents validate each proposal
|
||||
\item \textbf{Cryptographically Provable}: Dilithium signatures on all messages
|
||||
\item \textbf{Cryptographically Provable}: ML-DSA signatures on all messages
|
||||
\item \textbf{Forward Secure}: Past consensus cannot be compromised
|
||||
\end{itemize}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ In our reference implementation (Go and Rust), we structure the codebase as:
|
||||
|
||||
\item \textbf{nova/nebula packages}: High-level consensus modes that use ray/field engines respectively for user-facing blockchain consensus.
|
||||
|
||||
\item \textbf{quasar package}: P-Chain implementation merging Corona threshold signatures with BLS aggregation for post-quantum finality across Nova/Nebula chains.
|
||||
\item \textbf{quasar package}: P-Chain implementation merging Pulsar threshold signatures with BLS aggregation for post-quantum finality across Nova/Nebula chains.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Interface Design}
|
||||
|
||||
@@ -124,20 +124,20 @@ Lux Nebula forgoes the single-chain restriction to allow a DAG of transactions/b
|
||||
|
||||
\subsection{Quasar – P-Chain Post-Quantum Finality}
|
||||
|
||||
Lux Quasar operates as the Platform Chain (P-Chain) that provides post-quantum finality for both Nova and Nebula consensus modes. Quasar merges Corona threshold signatures with BLS aggregation to achieve quantum-resistant unified finality across the entire network.
|
||||
Lux Quasar operates as the Platform Chain (P-Chain) that provides post-quantum finality for both Nova and Nebula consensus modes. Quasar merges Pulsar threshold signatures with BLS aggregation to achieve quantum-resistant unified finality across the entire network.
|
||||
|
||||
\textbf{P-Chain Architecture}: Quasar functions as the meta-consensus layer:
|
||||
\begin{itemize}
|
||||
\item \textbf{Validator Set Management}: P-Chain maintains the canonical validator set for all consensus instances
|
||||
\item \textbf{Cross-Chain Finality}: Checkpoints finalize state across Nova chains and Nebula DAGs
|
||||
\item \textbf{Threshold Coordination}: Combines Corona (post-quantum threshold) with BLS (classical aggregation) for hybrid security
|
||||
\item \textbf{Threshold Coordination}: Combines Pulsar (post-quantum threshold) with BLS (classical aggregation) for hybrid security
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Corona + BLS Fusion}: The signature scheme combines:
|
||||
\textbf{Pulsar + BLS Fusion}: The signature scheme combines:
|
||||
\begin{itemize}
|
||||
\item \textbf{Corona}: Post-quantum threshold signatures for quantum-resistant finality
|
||||
\item \textbf{Pulsar}: Post-quantum threshold signatures for quantum-resistant finality
|
||||
\item \textbf{BLS}: Classical signature aggregation for efficiency in benign conditions
|
||||
\item \textbf{Hybrid Mode}: Classical BLS for speed, Corona checkpoints for quantum security
|
||||
\item \textbf{Hybrid Mode}: Classical BLS for speed, Pulsar checkpoints for quantum security
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Event Horizon Finality}: Quasar establishes event horizons using the Horizon ordering algorithm:
|
||||
@@ -145,7 +145,7 @@ Lux Quasar operates as the Platform Chain (P-Chain) that provides post-quantum f
|
||||
\item \textbf{Event Horizon}: A finality boundary beyond which no events can affect the committed state
|
||||
\item \textbf{Horizon Ordering}: Canonical ordering of vertices that have crossed the event horizon
|
||||
\item \textbf{Reachability Analysis}: Uses DAG reachability to determine which vertices are beyond the horizon
|
||||
\item \textbf{P-Chain Checkpoints}: Event horizons are signed with Corona + BLS for quantum-resistant finality
|
||||
\item \textbf{P-Chain Checkpoints}: Event horizons are signed with Pulsar + BLS for quantum-resistant finality
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Unified Cross-Chain Finality}: Quasar event horizons provide:
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ All implementations support these consensus engines (Quasar family):
|
||||
1. **Wave** - Threshold voting with fast probabilistic consensus (production)
|
||||
2. **Nova** - Linear chain consensus (wraps Ray sub-protocol)
|
||||
3. **Nebula** - DAG consensus with safe-prefix commit (wraps Field sub-protocol)
|
||||
4. **PostQuantum** - Quantum-resistant consensus with BLS + Corona + ML-DSA
|
||||
4. **PostQuantum** - Quantum-resistant consensus with BLS + Pulsar + ML-DSA
|
||||
5. **Chain** - Linear chain consensus for ordered blocks
|
||||
6. **DAG** - Full directed acyclic graph consensus
|
||||
|
||||
|
||||
Reference in New Issue
Block a user