Files
zeekay 3d4492eba1 refactor: simplify protocol naming across consensus packages
- Rename quasar files to simpler names:
  - quasar_aggregator.go → core.go
  - quasar_impl.go → engine.go
  - quasar.go → bls.go
  - event_horizon.go → horizon.go
  - hybrid_consensus.go → hybrid.go
  - verkle_witness.go → witness.go
  - prism_dag.go → dag.go

- Rename types for clarity:
  - PChain → BLS (BLS signature aggregation)
  - NewPChain → NewBLS
  - QuasarHybridConsensus alias added for backward compatibility

- Add missing documentation:
  - protocol/nova/doc.go - linear blockchain consensus
  - protocol/nebula/doc.go - DAG consensus mode
  - protocol/chain/doc.go - blockchain primitives

All tests pass. Backward-compatible aliases provided.
2025-12-12 12:32:01 -08:00

34 lines
1.2 KiB
Go

// Copyright (C) 2025, Lux Industries Inc All rights reserved.
// Package nova provides linear blockchain consensus mode.
//
// Nova implements classic linear chain consensus where blocks extend sequentially.
// It wraps the ray engine to provide blockchain-specific semantics: height tracking,
// preference management, and sequential finality.
//
// In the cosmic metaphor, a nova is a stellar explosion - a singular, decisive
// event in linear time, representing the finality of each block in sequence.
//
// Nova is designed for chains that require strict ordering and single-chain
// semantics, such as the P-Chain for platform operations.
//
// Key concepts:
// - Linear progression: blocks extend a single chain
// - Sequential finality: one block finalized at a time
// - Height tracking: maintains current blockchain height
// - Preference tracking: manages preferred block selection
//
// Usage:
//
// cfg := nova.Config{
// SampleSize: 20,
// Alpha: 0.8,
// Beta: 15,
// RoundTO: 250 * time.Millisecond,
// }
// n := nova.NewNova(cfg, cut, transport, source, sink)
// n.Start(ctx)
//
// See also: ray (underlying engine), wave (voting primitive).
package nova