What is Tower BFT?

Solana's consensus rule, in which validators vote on blocks and each vote doubles the time they are committed to that branch, making it progressively costly to abandon.

Not yet verifiedHow we verify

3 min read

In this entry

Solana's consensus rule, in which validators vote on blocks and each vote doubles the time they are committed to that branch, making it progressively costly to abandon.

You meet Tower BFT indirectly, as the reason a Solana deposit credits in seconds while a Bitcoin deposit takes an hour. It is a Byzantine fault tolerant voting scheme adapted to a chain that already has an agreed ordering of events, so validators do not have to negotiate what happened before they can agree that it counts.

The thing people get wrong is equating fast finality with reliability. Tower BFT settles blocks quickly when the network is running, but it says nothing about whether the network is running at all.

How it works

Solana's validators vote on the fork they believe is correct. Each vote carries a lockout, a period during which the validator has committed not to vote for a competing fork, and the Solana validator documentation describes that lockout as doubling with each additional vote on the same branch.

That doubling is the whole mechanism. An early vote is cheap to walk back. After a handful of votes on the same branch the commitment stretches far enough that switching forks would mean sitting out, and eventually forfeiting stake through slashing. The Solana documentation describes a maximum lockout reached after 32 votes, at which point the block is rooted and treated as settled.

None of this requires the multi-round message exchange that classical Byzantine agreement needs, because proof of history already gives every validator the same verifiable ordering of events to vote on. Consensus reduces to choosing a branch rather than establishing a sequence.

Example

Illustrative, using the 400 millisecond slot time Solana's documentation gives as the target. A block lands and you have one confirmation almost immediately. Thirty-one more votes accumulate on top of it over the following seconds, each one lengthening the commitment of the validators who cast it, and the block is rooted.

An exchange that credits Solana deposits after a set number of confirmations is waiting through that window. Compare a Bitcoin exchange deposit policy asking for several blocks at roughly ten minutes each, and the difference in wait time comes from the consensus design rather than from the exchange being generous.

Why it matters when you buy

Deposit and withdrawal wait times are a real cost when you are moving funds between venues to catch a price, and they are set by the chain as much as by the exchange. The chain pages list the networks each asset settles on, and the fee comparison shows what moving on each of them costs. Where an asset exists on several chains, the cheap network is not always the fast one.

Questions

How long until a Solana transaction is irreversible?

In normal operation, seconds. The block accumulates votes whose lockouts lengthen until reversing it would cost validators their stake. Exchanges still apply their own confirmation counts on top, so the credit you see may lag the chain.

Is Tower BFT the same as proof of history?

No. Proof of history produces a verifiable ordering of events, and Tower BFT is the voting rule that picks a fork from those ordered events. The two are designed together, which is why they are usually described in the same breath.

Does a Solana halt reverse my transaction?

No. Blocks already rooted stay rooted through a restart. What a halt does is stop new transactions from being processed, which means deposits, withdrawals, and trades on chain pause until validators bring the network back.