hand-pointerContBFT

Our custom BFT layer, ensuring decentralised economic finality of state. Due to determinism, it saves one round trip - leading to 2x faster economic finality than Solana

Overview

ContBFT is the consensus layer for the Continuum sequencer, implemented as a modified HotStuff protocol in /contBFT/hotstuff_rs/. It provides Byzantine fault-tolerant finality of transactions and the state transition function.

Key Architectural Choices

Let's refer back to the diagram from the overview:

Determinism

Deterministic blockchains have an interesting property - all full nodes can compute the next block simultaneously (given only their network latency from the ContSEQ stream). This allows us to skip the "propose block" step in consensus, and go directly to voting on the root hash calculated by every validator. This saves one additional round trip. Compared to for example Solana consensus, with exactly the same geodistribution of validators, Continuum can achieve finality in half the time.

Protocol Summary

Property
Value

Base Protocol

HotStuff (PODC ’19)

Fault Tolerance

Up to 1/3 Byzantine validators

Finality

Deterministic, 3-chain confirmation

Latency

1 round-trip (amortized, pipelined mode)

Core Mechanics

Two Operating Modes

  • Pipelined Mode — Normal operation using a single Generic phase; achieves 1-RTT latency by overlapping proposals.

  • Phased Mode — Used for validator-set-updating (VSU) blocks; explicit Prepare → Precommit → Commit → Decide phases.

Message Types

  • Proposal — Leader broadcasts a new block

  • Nudge — Leader drives VSU blocks through phases without new data

  • PhaseVote — Validator signs (chain_id, view, block_hash, phase)

  • NewView — Communicates highest PhaseCertificate on view timeout

Finality (3-Chain Rule)

A block commits when three consecutive certified blocks extend it:

B ← B' ← B'' (each link is a PhaseCertificate with ≥ 2/3 quorum)

Once committed, blocks and all ancestors are irreversible.

Validator Set

  • Quorum threshold: 2/3 + 1 of total voting power

  • Dynamic updates: supported via a speculation period (committed + previous set active during transitions)

Pacemaker

Implements Byzantine view synchronization (Lewis-Pye, 2021):

  • Configurable view timeout with exponential backoff

  • Ensures replicas eventually converge on the same view

  • Leader rotation is deterministic per view

Integration with Rollup

User Orders → Continuum (ContBFT ordering) → Rollup Node (STF execution) → Celestia (DA)

  • Continuum is stateless — provides ordering only

  • Rollup subscribes via gRPC StreamTicks to receive ordered batches

  • Each Tick contains VDF-proven ordered transactions with batch hash

Key Files

Path
Purpose

contBFT/hotstuff_rs/src/hotstuff/mod.rs

Core protocol spec

contBFT/hotstuff_rs/src/hotstuff/implementation.rs

Event-driven state machine

contBFT/hotstuff_rs/src/pacemaker/

View synchronization

contBFT/hotstuff_rs/src/block_tree/

Block DAG with commitment tracking

contBFT/hotstuff_rs/src/types/validator_set.rs

Validator set management

Safety Guarantees

  1. No conflicting commits — Locked PhaseCertificate mechanism prevents forks

  2. Liveness — Guaranteed with quorum of honest validators and eventual synchrony

  3. Deterministic finality — No probabilistic confirmation; committed = final

Last updated