Proof of History
Proof of History (PoH) is Solana's most distinctive innovation—a cryptographic clock that establishes the passage of time without requiring nodes to communicate.
The Problem: Time in Distributed Systems
In distributed systems, agreeing on time is surprisingly difficult:
Why Time Matters for Blockchains
Without reliable time:
- Can't order transactions without voting
- Voting requires network round-trips
- Round-trips limit throughput
- Consensus becomes the bottleneck
What Is Proof of History?
PoH is a Verifiable Delay Function (VDF)—a computation that:
- Takes a predictable amount of time
- Produces a provably unique output
- Cannot be parallelized
The Core Insight
Sequential hashing creates a "clock":
Why This Works
SHA-256 properties ensure:
- Sequential dependency: hash_n requires hash_n-1
- Cannot parallelize: No shortcut to compute hash_n
- Deterministic: Same input always produces same output
- Verifiable: Anyone can check the sequence
How PoH Works
Basic PoH Generation
Mixing In Events (Transactions)
Events are "watermarked" into the PoH sequence:
Visual Timeline
PoH Verification
The beauty of PoH: verification is parallelizable even though generation isn't.
Verification Strategy
Verification Code
PoH and Consensus
PoH doesn't replace consensus—it enhances it.
Tower BFT + PoH
Vote Timing with PoH
Performance Impact
Throughput Gains
Actual Numbers
| Metric | PoH Impact |
|---|---|
| Block time | 400ms (limited by propagation, not consensus) |
| Tx ordering | Sub-millisecond precision |
| Verification | 25,000 hashes/second per core |
| Historical proof | O(1) lookup in verified sequence |
PoH Implementation Details
Tick Rate
Solana's PoH runs at approximately:
- 400,000 hashes per slot
- 160ms per tick
- 64 ticks per slot
- 400ms per slot
PoH in Block Structure
Common Misconceptions
"PoH is a consensus mechanism"
Reality: PoH is a clock, not consensus. Tower BFT is the consensus mechanism. PoH makes Tower BFT faster by providing timestamps without network round-trips.
"PoH proves things happened at specific real-world times"
Reality: PoH proves ordering and duration in "PoH time" (hash counts). Mapping to real-world time requires knowing the hash rate of the generator.
"PoH is similar to Bitcoin's proof of work"
Reality:
- PoW: Finding a hash below a target (probabilistic, competitive)
- PoH: Sequential hashing (deterministic, non-competitive)
- PoW proves work was done; PoH proves time passed
Security Considerations
What If Someone Pre-computes PoH?
They can't gain advantage:
What About Faster Hardware?
Faster PoH generators could theoretically gain advantage:
Key Takeaways
- PoH is a cryptographic clock based on sequential hashing
- Generation is sequential but verification is parallel
- Events are watermarked into the PoH sequence with provable ordering
- PoH enables fast consensus by eliminating network timeout requirements
- PoH doesn't replace consensus—it makes consensus faster
Deep Dive: VDF Mathematics
Verifiable Delay Functions (VDFs) like PoH have three properties:
Try It Yourself
-
Compute PoH manually: Hash "genesis" 10,000 times. How long does it take? Can you parallelize it?
-
Verify PoH: Given a sequence of hashes, write code to verify it in parallel.
-
Calculate PoH time: If Solana does 400,000 hashes per 400ms slot, what's the hash rate? How many hashes occur during your transaction's journey?
Next: Slots & Epochs - How Solana organizes time into slots and epochs.