How Solana’s Proof of History is a Huge Advancement for Block Time
Solana is the world’s first web-scale blockchain. On current iterations of the Solana Testnet, a network of 200 physically distinct nodes supports a sustained throughput of more than 50,000 transactions per second when running with GPUs. Achieving as such requires the implementation of several optimizations and new technologies, and the result is a breakthrough in network capacity that signals a new phase in blockchain development.
The core innovation that underlays the Solana Network is Proof of History, and is exactly what the name suggests — a proof of historical events. Utilizing Proof of History creates a historical record that proves that an event has occurred at a specific moment in time. Whereas other blockchains require validators to talk to one another in order to agree that time has passed, each Solana validator maintains its own clock by encoding the passage of time in a simple SHA-256, sequential-hashing verifiable delay function (VDF).
This differs from the current standard of blockchain infrastructure, which relies on a sequential production of blocks that are hindered by waiting for confirmation across the network before moving forward. Proof of History presents a fundamental move forward in the structure of blockchain networks in regards to speed and capacity.
Here’s how Proof of History works: The Solana data structure chains messages together. This provides a cryptographic proof of the relative order and time of each message in the historical record. This allows the network to ignore local clocks and gradually accommodate all potential network delays as the data structure is eventually delivered and re-assembled. This is why Solana is able to push the limits of confirmation times so that the network provides as effective of an experience as a centralized system without sacrificing security or decentralization.
However, Proof of History isn’t necessary for a permissionless blockchain. There are plenty of Proof of Stake-based networks being built without it. What Proof of History — or PoH — adds to the network is a source of objectivity. It allows validators on the network to compute the state of the network from the ledger itself. Based on what validation messages are present in the ledger, a validator can decide if any node is considered up (valid) or down (invalid), and if the network has submitted a sufficient amount of votes for the ledger to be considered valid. Messages are not required to arrive at any given validator in a timely manner. The ledger eventually arrives to every validator, and because the messages are part of the ledger, PoH provides the cryptographic guarantee that the messages were created when they claim.
This property allows us to optimize the network across multiple parameters, particularly in regards to block time, an essential element of blockchain infrastructure in regards to speed and efficiency. In addition to Block Time, PoH allows Solana to optimize for block propagation (log200(n)), throughput (50K-80K TPS)), and ledger storage (petabytes) available on the network.
Block time, more so than raw Transactions Per Second, is a parameter that clearly separates centralized systems from decentralized blockchains. Tendermint has a timeout window of 3 seconds, Libra around 10, Aglorand around 5. Solana’s globally distributed testnet is deployed with a block time of 400ms blocks with a leader scheduled for 4 consecutive blocks.
By the time Libra confirms a single block, Solana has confirmed 25 blocks proposed by 25 different validators. Visa has a requirement of 2.4 second confirmation time for the entire point-to-point path. Neither Ethereum, Bitcoin, or Libra are anywhere close to satisfying that requirement. Solana does.
In general, there are two ways that classical distributed systems have dealt with clocks. Messages are time stamped by the sender and the timestamp is signed. Nodes drop messages that are either too old or too new. This calculation is based on the difference between the timestamp and the local clock. The second approach is that every state transition has a local timeout before it expires. On Tendermint, for example, a precommit state has a one second timeout. The next block producer can try to propose the next block, but all the nodes in the network will wait for at least 1 second from the start of the precommit state transition before considering the new proposal.
In both approaches, a proposer’s clock cannot be trusted, and each node takes precautions and forces a delay to the progress of the consensus state machine to ensure that the proposer doesn’t cheat. Although these delays are essential for network security, they translate into slower block times.
Nakamoto consensus introduced a third way to deal with clocks. The difficulty adjustment in Bitcoin forces the network to produce a block on average roughly once every 10 minutes. Ethereum difficulty is set such that a block is produced on average once every 15 seconds. The difference between the two networks can be measured in the number of collisions or uncles. The shorter the block time, the higher the likelihood of two nodes producing a block at the same time, and 15 seconds is likely the lower bound of how fast a Nakamoto style chain can produce a block.
The Solana Approach
With Solana, we are introducing a fourth approach that results in a network that is never delayed. The Solana protocol has no dependencies on local computer clocks or local timeouts between state transitions beyond the Verifiable Delay Function. Instead, the VDF ensures that each block producer proves they have waited a sufficient amount of time, and the network moves forward. Unlike Tendermint, the next block producer has to locally generate a portion of the VDF until the scheduled slot.
This means that receiving nodes can begin state transition as soon as the message is received, because they have a cryptographic proof that the producer obeyed the protocol delays. Moreover, the messages can arrive out of order and the cost of network delays is gradually accommodated over the delivery of many packets. Once PoH is reconstructed, the entire data structure guarantees that the appropriate delays between all the block producers are correct.
The result of this functionality is that the network is never delayed, and can continue producing at lightning fast speeds despite variations caused by block producers. Proof of History is a powerful mechanism that unlocks network speeds heretofore unseen in blockchain technology. Along with innovations like Tower BFT, Turbine, and Archiver nodes, Proof of History makes Solana the first web-scale blockchain with transactional capacity that is akin to the modern internet.
We invite you to take a deeper look at all of the technological innovations the Solana Team is implementing and to get involved with the Solana community by joining our Discord or checking out ‘No Sharding: The Solana Podcast.’ For developers, it’s a great chance to get information about the project directly from Solana team members.