Skip to content

Tower BFT

Tower BFT

Tower BFT is Solana's consensus algorithm. It is an optimized Practical Byzantine Fault Tolerance (PBFT) algorithm based on Proof of History (PoH). Tower BFT uses PoH as a global clock, enabling validators to reach consensus without the need for extensive message passing, thereby achieving high throughput and low latency.

Core Design

Limitations of Traditional PBFT Traditional PBFT algorithms require validators to exchange multiple rounds of messages to agree on transaction ordering. In a network of n validators, the message complexity is O(n^2), which limits network scalability.

Tower BFT's Innovation Tower BFT simplifies the consensus problem by introducing PoH as a trusted time source: 1. Validators observe the PoH time chain 2. Order transactions based on PoH timestamps 3. Confirm blocks through voting

This design reduces message complexity to O(n), significantly improving scalability.

How It Works

1. Voting and Timeouts When validators vote for a block, they set a "lockout" timeout. As voting depth increases, the timeout grows exponentially: - 1st vote: Locked for 2 slots - 2nd vote: Locked for 4 slots - 3rd vote: Locked for 8 slots - ... - 32nd vote: Locked for approximately 2^32 slots (final confirmation)

2. Vote Stack Validators maintain a vote stack that records each vote and its lockout time. Validators can only switch to another fork after the lockout period expires.

3. Rollback Protection Since lockout times grow exponentially, rolling back deeply confirmed blocks requires validators to endure a very long lockout period. This makes it extremely difficult for attackers to reorganize confirmed transactions.

4. Finality When a block receives the 32nd confirmation vote from a sufficient number of validators, it achieves finality and becomes irreversible.

Key Features

Fast Confirmation - Processed: Transaction is included in a block (<1 second) - Confirmed: Block receives votes from more than ⅔ of staked weight (approximately 400-600 milliseconds) - Finalized: Block receives 32 confirmations, fully irreversible (approximately 13-15 seconds)

Fork Selection Validators follow these rules when selecting a fork: 1. Choose the fork with the most staked weight in votes 2. If weights are equal, choose the longest PoH chain 3. Respect their own lockout timeout constraints

Optimistic Confirmation When the majority of validators are honest, transactions have a very high degree of certainty after just 1-2 votes, even before reaching final confirmation. This allows Solana to provide a sub-second user experience.

Comparison with Other Consensus Mechanisms

Feature Tower BFT Tendermint Nakamoto Ethereum PoS
Message Complexity O(n) O(n^2) O(n) O(n)
Finality Probabilistic -> Deterministic Deterministic Probabilistic Deterministic
Confirmation Time 400ms -> 13s 1-6s 10-60min 12-19min
Throughput Extremely high Moderate Low Moderate
Dependency PoH Synchronized clock Longest chain Time slots

Security Guarantees

Byzantine Fault Tolerance Tower BFT can tolerate up to ⅓ of validators (by staked weight) being faulty or malicious. As long as honest validators control more than ⅔ of the stake, the network operates normally.

Economic Security For an attacker to reorganize confirmed transactions, they would need to control more than ⅓ of the staked weight and endure a prolonged lockout period, making it economically unviable.

  • PoH (Proof of History): The foundation of Tower BFT, providing a verifiable temporal order
  • PBFT: Practical Byzantine Fault Tolerance, the theoretical basis of Tower BFT
  • Slot: Solana's time unit, approximately 400 milliseconds
  • Epoch: A collection of slots, approximately 2-3 days in Solana