Skip to main content

7. Advanced Consensus Mechanisms

The repository contains several consensus refinements under L1/src/consensus/. They should be read as executable components and design experiments, not as independently proven or benchmarked protocol guarantees.

7.1 Pipelining and Fast Path

pipelining.rs, fast_path.rs, and related modules provide pipelined proposal/vote handling and optimistic paths. Their message complexity, commit rule, and interaction with the DAG must be validated across multiple nodes and failure schedules before claiming a specific HotStuff or Bullshark latency bound.

fast_path.rs is now wired with TxIngressBuffer (not ShardedMempool):

  • process_transaction calls ingress.ingest(tx) instead of mempool.add_transaction(tx).
  • create_vertex calls vertex_builder.lock().build_vertex_payload() instead of mempool.get_ready_antichain_for_shard().
  • confirm_vertex no longer removes transactions from a mempool — the ingress buffer is drained at vertex construction time, so there is nothing to evict on confirmation.

7.2 Optimistic Responsiveness and View Change

optimistic_responsiveness.rs models fast and degraded network conditions. view_change.rs provides leader-progress and timeout handling. These modules support the intended partial-synchrony design, but observed RTTs, timeout defaults, leader selection, and liveness after faults are deployment properties.

7.3 Speculative Execution

The state and VM layers contain simulation/speculation and rollback-oriented code. The OptimisticExecutor is wired into the consensus (quantos.rs line 37: executor: Arc<OptimisticExecutor>) and interacts with the VertexBuilder to speculatively execute admitted payloads before finality. Speculative execution must remain isolated from committed state and be revalidated before commit. The implementation includes overlays and conflict handling, but no repository evidence establishes a universal rollback rate or production conflict distribution.

7.4 Safety Scope

Runtime checks, equivocation detection, checkpoint validation, duplicate-signer rejection, and slashing evidence are valuable controls. They are not a machine-checked proof of the distributed protocol. Formal verification, adversarial multi-node testing, and a normative genesis configuration remain mainnet requirements.