mirror of
https://github.com/luxfi/vm.git
synced 2026-10-30 15:13:40 +00:00
The local Ringtail*-prefixed types in vm carried over from before the
luxfi/corona R-LWE rename became canonical. They are vm-internal (do
not wrap external Ringtail packages) but the name was misleading after
production-side R-LWE shifted to Corona.
Renames in consensus/quasar/{types,quasar,config,gpu_ntt,gpu_ntt_c,
doc,integration_test}.go and wallet/keychain/pq_keychain*.go:
RingtailSignature → CoronaSignature
RingtailCoordinator → CoronaCoordinator
NewRingtailSignature → NewCoronaSignature
SignatureTypeRingtail → SignatureTypeCorona
QuasarSignature.ringtail field → corona
NewQuasarSignature(bls, ringtail) param → corona
Build: go build ./consensus/quasar/ ./wallet/keychain/ PASS.
Test:
vm/consensus/quasar PASS 1.504s
vm/wallet/keychain PASS 1.277s
(vm has pre-existing protobuf submodule gaps in components/message
and connectproto/pb/xsvm unrelated to this rename.)
60 lines
1.8 KiB
Go
60 lines
1.8 KiB
Go
// Copyright (C) 2019-2025, Lux Industries, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
/*
|
|
Package quasar provides hybrid quantum-safe consensus finality.
|
|
|
|
# Overview
|
|
|
|
Quasar is the gravitational center of Lux consensus, binding P-Chain
|
|
(BLS signatures) and Q-Chain (Corona post-quantum threshold) into
|
|
unified hybrid finality across all Lux networks.
|
|
|
|
# Architecture
|
|
|
|
All validators maintain both keypairs:
|
|
- BLS keypair: Aggregate signatures (classical, fast)
|
|
- Corona keypair: Threshold signatures (post-quantum, 2-round)
|
|
|
|
Both signature paths run in parallel:
|
|
|
|
Block arrives
|
|
|
|
|
+-- BLS PATH ----------+-- RINGTAIL PATH --------+
|
|
| All validators | Round 1: commitments |
|
|
| sign with BLS | Round 2: partials |
|
|
| Aggregate (96B) | Combine threshold sig |
|
|
+----------------------+-------------------------+
|
|
|
|
|
HYBRID PROOF
|
|
BLS + Corona combined
|
|
|
|
|
QUANTUM FINALITY
|
|
|
|
# Vote Flow
|
|
|
|
Validators cast votes (wire format: Chits) for proposed blocks. The
|
|
Quasar engine collects these votes and produces finality proofs when:
|
|
- 2/3+ validator weight signed via BLS
|
|
- t-of-n validators completed Corona threshold signing
|
|
|
|
# Signature Types
|
|
|
|
The package defines several signature types:
|
|
- SignatureTypeBLS: Classical BLS signatures
|
|
- SignatureTypeRingtail: Post-quantum threshold
|
|
- SignatureTypeQuasar: Hybrid combining both
|
|
- SignatureTypeMLDSA: ML-DSA fallback
|
|
|
|
# Components
|
|
|
|
Quasar: Main consensus hub coordinating both signature paths.
|
|
|
|
CoronaCoordinator: Manages the 2-round threshold signing protocol
|
|
for post-quantum security.
|
|
|
|
QuantumFinality: Represents a block that achieved hybrid finality with
|
|
both BLS and Corona proofs.
|
|
*/
|
|
package quasar
|