Brief Announcement: Carry the Tail in Consensus Protocols
Abstract
We present Carry-the-Tail, the first deterministic atomic broadcast protocol in partial synchrony that, after GST, simultaneously guarantees two desirable properties: (i) a constant fraction of commits are proposed by non-faulty leaders against tail-forking attacks, and (ii) optimal, worst-case quadratic communication under a cascade of faulty leaders. The solution also guarantees linear amortized communication, i.e., the steady-state is linear. Combining these two desirable properties was not simultaneously achieved previously: on one hand, prior atomic broadcast solutions achieve per-view linear word communication complexity. However, they face a significant degradation in throughput under tail-forking attack. On the other hand, existing solutions to tail-forking attacks require either quadratic communication steps or computationally-prohibitive SNARK generation.
The key technical contribution is Carry, a practical drop-in mechanism for streamlined protocols in the HotStuff family. Carry guarantees good performance against tail-forking and removes most leader-induced stalls, while retaining linear traffic and protocol simplicity. Carry-the-Tail implements the Carry mechanism on HotStuff-2.
Keywords and phrases:
Consensus, Blockchain, BFTFunding:
Mohammad Sadoghi: This work is partially funded by NSF Award Number 2245373.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Distributed algorithmsEditor:
Dariusz R. KowalskiSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
In a “streamlined” Byzantine Fault Tolerant (BFT) consensus approach, which was pioneered by HotStuff [15], the consensus protocol has a simple and uniform structure: each view is a single quorum exchange between a leader and voters, and each such exchange carries a new leader proposal. Since a single quorum exchange does not suffice to achieve a consensus decision, leaders have to rely on the next leader to drive a second exchange that commits the previous proposal. HotStuff-like (HS-like) protocols [1, 2, 4, 9, 10, 13, 14, 15] are widely adopted in modern blockchain and decentralized systems for their conceptual simplicity, responsive liveness, linear communication, and censorship resistance.
BeeGees [5] exposed a vulnerability of the streamlined regime. In a tail-forking attack, a malicious or sluggish next leader can skip over the previous leader’s proposal. Repeated attacks by bad leaders might significantly degrade throughput.
We present Carry, a lightweight, drop-in mechanism for HS-like protocols that defends against tail-forking. The mechanism also boosts performance under straggler leaders by ensuring safe progress with aggressive responsiveness without waiting for full quorums. Notably, Carry incurs a linear communication overhead per view.
Carry is a generic mechanism. We demonstrate its application to HotStuff-2 to create Carry-the-Tail, a full consensus solution that achieves the following two guarantees: -tail-resilience (see Definition 1) and liveness under hostile or sluggish leadership with communication per view.
Previously, no solution simultaneously achieved both properties. Existing tail-forking defenses either require expensive quadratic communication [5] or computationally heavy SNARKs to prove the absence of quorum certificates [7, 8].
Definition 1 (-tail-resilience).
We say that a proposal is -isolated if the view of is situated among a succession of consecutive bad leaders. (After GST,) each proposal by an honest leader, which is not -isolated, is guaranteed to be included in the global sequence.
2 Overview of Carry-the-Tail
Carry is a generic liveness-boost for protocols in the HotStuff family. The setting for this work is described in the full paper [6]; briefly, the system consists of replicas with up to Byzantine faulty, or faulty in an actual execution, , and partially synchronous communication. A full-fledged protocol referred to as Carry-the-Tail is described here. It integrates the Carry approach into HotStuff-2.
Proposing and Voting
The Carry-the-Tail protocol operates in a view-by-view manner. Each view has a known designated leader performing a single quorum-exchange with replicas. The leader broadcasts a proposal to the replicas; replicas respond (subject to safety rules) with a NEW-VIEW message carrying a signature-share on . The signature-share is referred to as a vote on .
A Quorum-Certificate (QC) consists of a threshold-signature by a quorum of replicas. We say that the proposal is certified when is formed. To form QCs, leaders collect signature-shares for previous proposals and aggregate them. Broadcasting a QC incurs only linear word-communication complexity.
Commit Safety and Liveness
Each proposal includes an opaque payload and meta-information. The meta-information references a history known to the leader. It includes prior to view , the highest known certified tail. Chaining proposals to one another using cryptographic certificates is utilized along with protocol voting and commit rules to ensure safety.
Figure 1 depicts a failure-free flow of the protocol with leader proposals chained to one another via QCs. Upon receiving a proposal , a replica becomes locked on . Locking is key to ensuring safety: in the future, the replica pledges that it will only accept proposals that extend or a QC from a higher view. The figure shows a failure-free execution snippet with four consecutive leaders chaining proposals one after another.
A commit necessitates two consecutive successful views. If a leader forms for the proposal immediately preceding it, then the proposal becomes committed once there are signature-shares on , forming . Anyone can learn this commit decision by obtaining these votes. In particular, anyone observing a chain , learns that has been committed. In Figure 1, and have been committed, and anyone observing this chain can learn these decisions.
To guarantee liveness, a leader proposes if it received a QC from the immediately-preceding view or a timeout. The timeout is implemented by a separate view-synchronization (Pacemaker) module [3, 11, 12]. Any (linear) Pacemaker can be plugged here. The Pacemaker guarantees that sufficient time has elapsed for all honest replicas to have entered view and for their NEW-VIEW messages to have arrived at the leader.
The problem with Failed Views and Tail-Forking
We first explain the tail-forking attack which was exposed in BeeGees [5], and later describe how Carry prevents it.
Figure 2(a) depicts a scenario with failed view , zooming in on the transition from to . In view 2, no replica succeeds to vote for . , the leader of view 3, times out without having formed a QC for and must skip .
The problem is that a malicious could exploit this and omit votes for to wrongfully skip it. Figure 2(b) shows that could ignore the honest votes (the dashed arrows) for and wrongfully skip it. More generally, a view suffers a tail-forking attack if signature shares are sent by honest replicas on , but the next leader intentionally ignores and skips it. The attack can be caused by either a malicious or a sluggish leader.
Regardless of the cause for tail-forking, it causes significant performance degradation. First, a proposal (e.g., ) is unnecessarily dropped. Second, the latency to a commit decision on pending earlier proposals increases. Moreover, tail-forking might occur frequently if there are many malicious/sluggish leaders. In the worst case, bad leaders perfectly interspersed among honest views as depicted in Figure 4(perf1), where leaders are bad. This might cause throughput degradation and latency increase.
As explained below, the Carry method prevents the tail-foring attacks from happening.
Protecting the Tail
Because replicas send NEW-VIEW messages to the next leader, in lieu of a vote, they can send a signature-share on an empty vote (“”). In Carry, a justified skip over a tail is allowed if it is accompanied by an Empty Certificate (EC) consisting of a threshold signature by replicas on . An Empty Certificate cannot possibly be formed if honest replicas voted for ; but if only or fewer honest replicas voted for , it could form, which affects neither safety nor liveness. Figure 3(c) depicts shows how ECs justifies a skipped tail, where collects empty votes (the yellow arrows) for view and forms an .
Reinstating Uncertified Tails
If there is neither a QC nor an EC, previous solutions (e.g., [5]) required leaders to justify skipping the tail by using all the votes, resulting in cubic word-communication complexity in the worst case with consecutive malicious leaders.
Instead, the main idea in Carry is to force the next leader to reinstate the last (possibly uncertified) voted block. To implement this, Carry introduces an optional field . This field references an uncertified earlier proposal that becomes an integral part of . As illustrated in Figure 3(d), receives votes for and two empty votes, preventing the formation of either or . Consequently, is reinstated in .
With this new mechanism, as shown in Figure 4(perf2), a leader must justify skipping a tail via an EC or else reinstate the tail. Notably, reinstating also helps if insufficient votes arrive for due to mere sluggishness.
-Tail-Resilience
Reinstating protects the tail in case an EC cannot be formed on an immediately preceding view. Unfortunately, tail-forking of remains possible by having two consecutive malicious leaders following . Attacks by two consecutive malicious leaders, and , are depicted in Figure 4(perf3), e.g., and . First, “fails” in view , not forming . Next, uses to justify skipping . Furthermore, skips because no justification is required to skip and no replica is locked on it.
To protect against tail-forking by two or more consecutive bad leaders, we apply the Carry method to the last views. The NEW-VIEW messages from replicas should carry their votes, possibly empty, for the last views. This protects a tail unless it is followed by consecutive bad views. Hence, in each view rotation, all but proposals are protected from tail-forking. This property is referred to as . is depicted in Figure 4(perf4). Importantly, for modest values of , the chance of incurring consecutive bad views in practice is very small, especially if leader rotation is randomized.
The overhead incurred is word communication.
Comparison with AHL
BeeGees formulated a property called “Any-Honest-Leader commit” (AHL): after GST, once an honest leader proposes in a view, that block will be committed after at most subsequent honest-leader views111 is a protocol parameter indicating the number of phases to reach a commit; typically, or .. BeeGees employs a complex leader handover in order to satisfy AHL (in one variant, it incurs quadratic word-communication per view, and in a second variant, it relies on computationally-prohibitive SNARK proofs for compressing communication).
The property -tail-resilience guarantees, under a reasonably small choice of (e.g. ), that a large constant fraction of honest leader proposals become committed even against the worst-case tail-forking attacks. It is worth noting that by setting , we get the same AHL property in Carry as in BeeGees, while incurring the same communication burden. However, arguably Carry has simpler logic and also allows to be a tunable parameter in production.
3 Carry
In this section, we show how Carry is implemented, including the Empty Certificate Justification and Reinstate mechanisms. Replicas carry their votes (which are possibly empty) for the last views in their NEW-VIEW messages, and the new leader must reinstate the last uncertified proposal.
Carry Implementation
Carry Rule.
A valid proposal from the leader of view has the following format:
- Highest QC:
-
the highest quorum certificate known to is attached as ;
- Reinstate:
-
if received fewer than votes for the highest tail extending , and , then is reinstated (in full) as ;
- Justification:
-
If , then empty-certificates are attached to for each view between and , which does not extend. It is worth noting that if exists, empty-certificates for views preceding the reinstated block are recursively attached within the chain of reinstated blocks.
Voting Rule.
A replica accepts and votes for the proposal from leader of view if:
-
1.
has a higher or equal view than the replica’s ,
-
2.
adheres to the Carry Rule above.
Carry retains from HotStuff-2 the Commit Rule and Leader Proposal Rule.
3.1 The Carry-the-Tail Protocol
Akin to HotStuff-2, the Carry-the-Tail protocol flows view-by-view. At the end of each view, the replicas and the incoming leader perform a handover protocol as follows 222See full version [6] for detailed design, pseudocode and correctness proofs.:
- Replica incoming leader.
-
Each replica sends an incoming leader a NEW-VIEW message that carries
-
1.
the next view number
-
2.
the replica’s highest QC (its lock)
-
3.
its votes (possibly empty) in the past views.333It is possible to send less information if the lock precedes the current view by less than views; we omit this optimization for simplicity.
-
1.
- Leader replicas.
-
On satisfying the Leader Proposal Rule, the leader of view proposes a block that
-
1.
extends the highest QC it has collected, potentially freshly aggregated from NEW-VIEW messages, as ,
-
2.
reinstates in full as , provided that the highest QC is from the past views and the highest voted block extends the highest QC,
-
3.
attaches empty-certificates for each view between and .
-
1.
References
- [1] Jeb Bearer, Benedikt Bünz, Philippe Camacho, Binyi Chen, Ellie Davidson, Ben Fisch, Brendon Fish, Gus Gutoski, Fernando Krell, Chengyu Lin, et al. The espresso sequencing network: Hotshot consensus, tiramisu data-availability, and builder-exchange. Cryptology ePrint Archive, 2024.
- [2] Benjamin Y. Chan and Rafael Pass. Simplex consensus: A simple and fast consensus protocol. IACR Cryptol. ePrint Arch., 2023:463, 2023. URL: https://api.semanticscholar.org/CorpusID:259092405.
- [3] Pierre Civit, Muhammad Ayaz Dzulfikar, Seth Gilbert, Vincent Gramoli, Rachid Guerraoui, Jovan Komatovic, and Manuel Vidigueira. Byzantine consensus is : The dolev-reischuk bound is tight even in partial synchrony! In 36th International Symposium on Distributed Computing (DISC 2022), volume 246 of Leibniz International Proceedings in Informatics (LIPIcs), pages 14:1–14:21. Schloss Dagstuhl, 2022. doi:10.4230/LIPIcs.DISC.2022.14.
- [4] Diem. DiemBFT consensus protocol, 2020. URL: https://github.com/diem/diem/tree/latest/consensus.
- [5] Neil Giridharan, Florian Suri-Payer, Matthew Ding, Heidi Howard, Ittai Abraham, and Natacha Crooks. BeeGees: Stayin’ alive in chained BFT. In Proceedings of the 2023 ACM Symposium on Principles of Distributed Computing, PODC ’23, pages 233–243, New York, NY, USA, 2023. Association for Computing Machinery. doi:10.1145/3583668.3594572.
- [6] Suyash Gupta, Dakai Kang, Dahlia Malkhi, and Mohammad Sadoghi. Carry the tail in consensus protocols, August 2025. doi:10.48550/arXiv.2508.12173.
- [7] Mohammad Mussadiq Jalalzai and Kushal Babel. Monadbft: Fast, responsive, fork-resistant streamlined consensus. ArXiv, abs/2502.20692, 2025. doi:10.48550/arXiv.2502.20692.
- [8] Mohammad Mussadiq Jalalzai, Chen Feng, and Victoria Lemieux. Vbft: Veloce byzantine fault tolerant consensus for blockchains. ArXiv, abs/2310.09663, 2023. doi:10.48550/arXiv.2310.09663.
- [9] Dakai Kang, Suyash Gupta, Dahlia Malkhi, and Mohammad Sadoghi. Hotstuff-1: Linear consensus with one-phase speculation. Proceedings of the ACM on Management of Data, 3(3):1–29, 2025. doi:10.1145/3725308.
- [10] Dakai Kang, Sajjad Rahnama, Jelle Hellings, and Mohammad Sadoghi. SpotLess: Concurrent rotational consensus made practical through rapid view synchronization. In 40th IEEE International Conference on Data Engineering, ICDE 2024, Utrecht, Netherlands, May 13-17, 2024. IEEE, 2024. doi:10.1109/ICDE60146.2024.00157.
- [11] Andrew Lewis-Pye. Quadratic worst-case message complexity for state machine replication in the partial synchrony model, 2022. arXiv:2201.01107.
- [12] Andrew Lewis-Pye, Dahlia Malkhi, Oded Naor, and Kartik Nayak. Lumiere: Making optimal BFT for partial synchrony practical. In Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing, pages 135–144, 2024. doi:10.1145/3662158.3662787.
- [13] Dahlia Malkhi and Kartik Nayak. Hotstuff-2: Optimal two-phase responsive bft, 2023. URL: https://api.semanticscholar.org/CorpusID:259144145.
- [14] Jianyu Niu, Fangyu Gai, Mohammad M. Jalalzai, and Chen Feng. On the performance of pipelined hotstuff. In IEEE INFOCOM 2021 - IEEE Conference on Computer Communications, pages 1–10, 2021. doi:10.1109/INFOCOM42981.2021.9488706.
- [15] Maofan Yin, Dahlia Malkhi, Michael K. Reiter, Guy Golan-Gueta, and Ittai Abraham. Hotstuff: Bft consensus with linearity and responsiveness. Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, 2019. URL: https://api.semanticscholar.org/CorpusID:197644531.
