English

Prefix Consensus For Censorship Resistant BFT

Distributed, Parallel, and Cluster Computing 2026-02-04 v1

Abstract

Despite broad use of BFT consensus in blockchains, censorship resistance is weak: leaders can exclude transactions, a growing concern for trading and DeFi. We address this by introducing a new abstraction and protocol stack. First, we introduce \emph{Prefix Consensus}, where parties input vectors and output (vlow,vhigh)(v^{\sf low},v^{\sf high}) that (i) extend the maximum common prefix of honest inputs and (ii) satisfy vilowvjhighv_i^{\sf low}\preceq v_j^{\sf high} for all honest i,ji,j. Unlike classical consensus, no single output is required. We show Prefix Consensus is solvable asynchronously and give tight round-complexity bounds. We then define \emph{Strong Prefix Consensus}, requiring agreement on the \emph{high} output. Our protocol is leaderless and partially synchronous: one Prefix Consensus instance decides (possibly different) lows, and additional instances yield a unique safe-to-extend high, even if an adversary can suspend one party per round. We lift this to a leaderless, multi-proposer, censorship-resistant BFT SMR protocol: per slot, all parties broadcast proposals, deterministically rank them, and run one Strong Prefix Consensus on proposal hashes, committing honest proposals in \emph{four rounds}. A deterministic demotion rule updates the ranking when a party's proposal is excluded, implying that after GST at most ff slots can miss an honest proposal while progress remains leaderless under suspension and up to f1f{-}1 Byzantine faults. Finally, we connect Prefix Consensus to graded and binary/validated consensus: we obtain an optimal-latency graded consensus (3 message delays) and leaderless Binary/Validated Consensus with worst-case message complexity O(n3)O(n^3) and communication O(n4)O(n^4).

Keywords

Cite

@article{arxiv.2602.02892,
  title  = {Prefix Consensus For Censorship Resistant BFT},
  author = {Zhuolun Xiang and Andrei Tonkikh and Alexander Spiegelman},
  journal= {arXiv preprint arXiv:2602.02892},
  year   = {2026}
}
R2 v1 2026-07-01T09:33:09.499Z