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.)
44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
// Copyright (C) 2019-2025, Lux Industries, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
/*
|
|
Package consensus provides consensus infrastructure for the Lux node.
|
|
|
|
# Terminology
|
|
|
|
This package uses "Vote" as the semantic name for validator responses to
|
|
block proposals. On the network wire, votes are transmitted using the
|
|
"Chits" message format for backwards compatibility.
|
|
|
|
Vote (wire format: Chits): A validator's agreement or preference for a
|
|
specific block. The VoteMessage type wraps this semantic concept while
|
|
the underlying protocol uses Chits.
|
|
|
|
# Components
|
|
|
|
The package contains several components:
|
|
|
|
Acceptor: Callback interface invoked before blocks are committed as
|
|
accepted. Multiple acceptors can be registered per chain via AcceptorGroup.
|
|
|
|
Engine: Chain and DAG consensus engine interfaces located in the engine
|
|
subpackage. The chain/vote.go file defines vote message types.
|
|
|
|
Quasar: Hybrid quantum-safe finality engine combining BLS aggregate
|
|
signatures (classical) with Corona threshold signatures (post-quantum).
|
|
Located in the quasar subpackage.
|
|
|
|
# Quasar Consensus
|
|
|
|
The Quasar engine achieves hybrid finality by running two signature paths
|
|
in parallel:
|
|
|
|
- BLS Path: Fast aggregate signatures from 2/3+ validators
|
|
- Corona Path: Post-quantum threshold signatures (t-of-n)
|
|
|
|
Blocks achieve quantum finality only when both paths complete successfully.
|
|
|
|
See the quasar subpackage for detailed implementation.
|
|
*/
|
|
package consensus
|