Proof of history is the part of Solana that gets the most breathless writing and the least clear explanation. The name sounds like a consensus algorithm, which it is not. It is a clock. This dive tries to say what it actually does, what it does not do, and why having a shared clock before consensus is useful at all.

A clock, not a vote

Consensus is the part of a blockchain where validators agree on what happened. It is expensive because validators have to talk to each other and compare notes. A clock is something different: it is a way to put events in order without anyone having to argue about it. Proof of history is a clock that runs inside the validator, before consensus, so that when validators do compare notes, the events are already lined up in time.

The reason this matters is throughput. If every validator has to ask every other validator "did your event happen before mine?", the talking becomes the bottleneck. If instead there is a shared notion of time, validators can mostly skip that question and get on with agreeing on the contents.

How it works

The clock is a sequence of hashes. Each hash is the result of feeding the previous hash through a function that takes a fixed amount of time to compute. Because the function cannot be sped up, the number of hashes between two events is a fair measure of how much time passed between them. The leader interleaves transactions into this sequence as they arrive, so each transaction is stamped with a position in the hash chain.

A validator can check the whole chain later by replaying the hashes, which takes the same time as producing them. The check proves that the leader did the work in order, and that the events really did arrive in the sequence claimed. It does not prove the events are correct \u2014 that is still consensus's job \u2014 only that they are honestly ordered in time.

What it is not

It is not a way to trust the leader. The leader can still leave transactions out or order them in a way that suits it; proof of history does not stop that. It is not a substitute for consensus; validators still vote on which block of ordered transactions is the right one. And it is not magic; the speedup comes from skipping a question validators would otherwise have to ask, not from removing the need to ask any questions at all.

Most of the hype around proof of history treats it as the secret to Solana's speed. It is one of the secrets, but only one. The other parts \u2014 parallel transaction processing, the turbine block propagation, the Gulf Stream mempool \u2014 do at least as much of the work. Proof of history is the part that makes the others possible, by giving them a shared clock to schedule against.

Why order matters

Imagine two transactions trying to spend the same token. If they are processed in one order, the first succeeds and the second fails. In the other order, the opposite happens. Without a clock, the network would have to argue about which came first, every time. With a clock, the order is settled before the argument starts, and the argument shrinks to "is this ordered block the one we agree on?" That is a much smaller argument, and it is why a shared clock is worth the engineering.

If you remember only one thing, remember this: proof of history orders events in time so that consensus only has to agree on contents. The clock is not the agreement; it is what makes the agreement cheap.

← Back to the journal