mirror of
https://github.com/luxfi/vm.git
synced 2026-10-30 15:13:40 +00:00
2.0 KiB
2.0 KiB
Consensus Package - Session Notes
Terminology Update (2026-01-04)
Updated documentation to use "Vote" terminology consistently:
- Vote: Semantic name for validator responses to block proposals
- Chits: Wire protocol format (preserved for backwards compatibility)
Note: "Vote (wire format: Chits)" should be used where clarification is needed.
Package Contents
acceptor.go
Provides Acceptor interface for block acceptance callbacks:
Accept()called before container committed as acceptedAcceptorGroupmanages multiple acceptors per chain- Thread-safe with RWMutex
engine/chain/vote.go
Vote message types for consensus:
VoteMessage- Vote for specific block (wire format: Chits)UnsolicitedVoteRequestID- Constant for fast-follow votes
quasar/
Hybrid quantum-safe finality engine:
Quasar- Main consensus coordinatorCoronaCoordinator- Post-quantum threshold signaturesCoronaSignature,BLSSignature,QuasarSignature- Signature types
Architecture Notes
Dual-Path Finality
Block arrives
|
+-- BLS PATH (fast) --------+-- CORONA PATH (quantum-safe) --+
| All validators sign | Round 1: commitments |
| with BLS keys | Round 2: partial signatures |
| Aggregate (96 bytes) | Combine threshold signature |
| | |
+---------------------------+----------------------------------+
|
HYBRID PROOF
(BLS + Corona combined)
|
QUANTUM FINALITY
Vote Flow
- Block proposed via gossip
- Validators vote (wire: Chits message)
- Votes collected and aggregated
- Quorum check (2/3+ weight)
- Finality achieved when both BLS and Corona complete
Test Coverage
quasar/config_test.go- Configuration testsquasar/integration_test.go- Integration tests
Recent Changes
- 2026-01-04: Created documentation files with Vote terminology