Files
consensus/pkg/rust
zeekay 821612c73a pkg/rust: align prose with Ringtail purge — Pulsar is the PQ name
The Go-side Ringtail purge (commits 6f8f8a22, dc7e4ed0, 85b6e80f) was
not propagated to pkg/rust prose. README, Cargo.toml description, and
the top-level //! docstring in src/lib.rs still said "BLS12-381 +
Ringtail" or "BLS + Ringtail signatures" while the Go consensus stack
renamed to Pulsar (Module-LWE) + Corona (Ring-LWE) per LP-4200.

Update README + Cargo.toml description + lib.rs //! header to use
"Pulsar (Module-LWE threshold, FIPS 204 byte-equal)" — matching the
canonical naming in consensus/CLAUDE.md.

Cargo.lock 1.22.0 → 1.22.1 was already in the working tree from the
pending version bump; commits alongside this prose alignment so the
next crates.io publish carries both.

NOT renamed: public API field names (ringtail_sig, ringtail_pubkey,
collect_ringtail_signatures, etc.) — breaking surface renames need a
deliberate decision and a coordinated minor/major bump. Prose
alignment is the safe patch.

`cargo check --no-default-features` PASS.
2026-05-14 08:55:30 -07:00
..

lux-consensus

Pure-Rust SDK for the Lux Quasar consensus stack — Wave threshold voting, FPC (Fast Probabilistic Consensus), Photon validator sampling, Focus confidence accumulation, and post-quantum hybrid finality via BLS12-381 + Pulsar (Module-LWE threshold, FIPS 204 byte-equal).

Features

Flag What it pulls in
default CPU-only, no extra deps beyond blst and hex
simd blake3 (SIMD hashing) + rayon (data-parallel vote tally)
mlx Apple Silicon GPU acceleration via mlx-sys (implies simd)
cuda NVIDIA GPU acceleration (implies simd) — work in progress
gpu mlx + cuda — auto-select per platform

Usage

use lux_consensus::*;

let config = QuasarConfig::mainnet();
let mut engine = QuasarEngine::new(config);
engine.start().unwrap();

let block = Block::new(
    ID::from([1u8; 32]),
    ID::from([0u8; 32]),
    1,
    b"Hello, Lux!".to_vec(),
);
engine.add(block.clone()).unwrap();

for i in 0..20 {
    let vote = Vote::new(block.id.clone(), VoteType::Preference, NodeID::from([i; 32]));
    engine.record_vote(vote).unwrap();
}

assert!(engine.is_accepted(&block.id));
engine.stop().unwrap();

Architecture

  • Wave — adaptive-threshold voting driven by FPC outputs
  • FPC — PRF-derived per-round thresholds for fast probabilistic consensus
  • Photon — luminance-tracked validator sampling
  • Focus — β consecutive rounds of confidence before commit
  • Quasar — post-quantum hybrid signature aggregation

License

Lux Ecosystem License 1.2 — see the LICENSE file.