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

36 lines
1.3 KiB
Go

// Copyright (C) 2025, Lux Industries Inc All rights reserved.
// Package nebula provides DAG consensus mode.
//
// Nebula implements directed acyclic graph (DAG) consensus where vertices can
// have multiple parents and progress in parallel. It wraps the field engine
// to provide DAG-specific semantics: frontier tracking, vertex proposal, and
// parallel finality.
//
// In the cosmic metaphor, a nebula is a stellar nursery - a cloud of possibilities
// collapsing into ordered structure, representing parallel block creation that
// eventually achieves consensus ordering.
//
// Nebula is designed for high-throughput chains that benefit from parallel
// block production, such as the X-Chain for asset transfers.
//
// Key concepts:
// - DAG structure: vertices can have multiple parents
// - Parallel finality: multiple vertices can be finalized concurrently
// - Frontier tracking: maintains the DAG tips (unfinalized vertices)
// - Causal ordering: ensures consistent total ordering of finalized vertices
//
// Usage:
//
// cfg := nebula.Config{
// PollSize: 20,
// Alpha: 0.8,
// Beta: 15,
// RoundTO: 250 * time.Millisecond,
// }
// n := nebula.NewNebula(cfg, cut, transport, store, proposer, committer)
// n.Start(ctx)
//
// See also: field (underlying engine), wave (voting primitive), horizon (finality).
package nebula