As the blockchain concept expands beyond cryptocurrency into software applications, improving transaction-throughput performance has become a critical area of research and development. One of the more visionary improvements in this area is the Proof of History, introduced by the Solana blockchain. This article introduces Solana and the Proof of History (PoH) concept, including a discussion of how Proof of History improves transaction speeds and how it works with other blockchain mechanisms such as Proof of Work and Proof of Stake.
What is the Solana blockchain?
In Web3 terminology, Solana is a layer 1 chain, meaning that it provides the foundational structure of a blockchain network, which other (layer 2) networks can build on. Examples of other layer 1 networks include Bitcoin and Ethereum.
Solana is similar to the Ethereum blockchain in that it offers both a token, the Sol, and a distributed machine for executing smart contracts and connecting decentralized applications (dApps). On closer view, Solana’s blockchain architecture introduces some novel ideas and is a competitor to Ethereum.
Solana’s currency is currently the fifth largest by market cap, with a modest $15 billion market cap at the time of this writing (which, not incidentally, is the midst of 2022’s crypto winter). Solana is also one of the most used blockchains for developing on-chain applications.
Blockchain Consensus Mechanisms
A blockchain can be understood as a distributed data store in which nodes are identified by their cryptographic private keys. That means that every node has an identity number that is considered to be mathematically unique and resistant to discovery.
Nodes have two fundamental roles: they make claims and they validate them. When making a claim, a node is acting in the role of a client application. In blockchain terminology, this kind of node is called a wallet. A wallet takes its private key and makes an assertion, or claim, into the network. For example, a wallet might claim ownership of an address on the blockchain that holds a certain amount of currency. The network then takes up the task of validating that claim. The nodes tasked with validation are either full nodes or validator nodes.
The process of taking a data point like a wallet’s claim and propagating it reliably across a distributed software system is a notoriously difficult problem. Blockchain uses a consensus mechanism to send claims through the network. A network's consensus mechanism is the algorithm it uses to arrive at a shared version of truth.
Solana's Proof of History
The consensus mechanism is a fundamental characteristic and differentiator among blockchains. Solana's consensus mechanism has several novel features, in particular the Proof of History algorithm, which enables faster processing time and lower transaction costs.
How PoH works is not hard to grasp conceptually. It's a bit harder to understand how it improves processing time and transaction costs. The Solana whitepaper is a deep dive into the implementation details, but it can be easy to miss the forest for the trees.
Conceptually, the Proof of History provides a way to cryptographically prove the passage of time and where events fall in that timeline. This consensus mechanism is used in tandem with another more conventional algorithm like the Proof of Work (PoW) or Proof of Stake (PoS). The Proof of History makes the Proof of Stake more efficient and resilient in Solana.
Proof of History and Eventual Consistency
You can think of PoH as a cryptographic clock. It timestamps transactions with a hash that guarantees where in time the transaction occurred as valid. This means the entire network can forget about verifying the temporal claims of nodes and defer reconciling the current state of the chain.
We can say that PoH allows for fault tolerance in the network by providing a strong mechanism for eventual consistency, even in the face of a large network partition (or fork). Because the nodes can rely on the structure of the system to enforce transaction ordering, they can devote more energy to efficiently processing blocks and getting valid blocks into the ledger.
Solana is also unique attack on the Byzantine fault tolerance problem, which can be summarized as dealing with consensus within a group whose members may not all act in good faith.
Proof of History and the Proof of Work Algorithm
Another way to think about PoH is to consider it an improvement on the Proof of Work algorithm, with respect to the ordering of blocks. In Bitcoin's Proof of Work implementation, block mining and validation are used to enforce ordering. The network is tuned to produce a valid block at a rate of about 10 minutes per block. This is something of a hard bottleneck—faster block validation generates more block collisions, resulting in diminishing returns. The blockchain also depends on the work of individual validator nodes to enforce ordering.
Proof of History says, What if we had a mechanism to provide a cryptographic clock that signs transactions as they come in? Validator nodes still need to ensure that claims coming in as transactions are legitimate. But with respect to time and ordering, they can assume that the transactions they are looking at are good. This removes the Proof of Work bottleneck.
Proof of Stake and the verifiable delay function
Solana still requires a consensus mechanism beyond Proof of History, and for this, it uses Proof of Stake. But its validators do their proof work against blocks that are signed by what’s called a verifiable delay function (VDF). The core idea of VDF is to run a function that takes input and generates an output that can’t be predicted without actually running the function. You then chain these together—the output of the last function supplies the input to the next function. (The process is seeded with a random data point.)
A few notes about Figure 1:
- In an actual implementation, the network must coordinate a VDF server (aka “leader” or PoH generator) with incoming transactions, the cluster of validator nodes, and the process of dealing with network failures and rolling over VDF servers.
- Every transaction arrives at and is “stamped” by the PoH generator, and then passed off to the distributed cluster of validators for consensus. The PoH batches the transactions into its hash output, so the validators can count on the order of transactions being valid.
- The validator network then returns the votes on the transaction to the PoH generator and the transactions are considered valid.
- A system of governance is implemented which orchestrates promoting new validators to a leader position in the case of failures, along with mechanisms for defeating attacks against the network.
The bottom line is that using a PoH does increase potential block validation times—radically. But it also implies increased architectural complexity. This complexity is likely the source of Solana’s greater than average rate of outages.
Solana's performance advantage
The Solana blockchain is still considered to be in beta status. The idea of running a network sporting billions in assets as a trial may raise a few eyebrows, but that's Web3 for you. Solana looks like it’s going through the process of shaking out bugs to reach a high degree of stability based on the Proof of History concept.
To get a sense of the performance advantage that is possible with Solana's PoH mechanism, consider Table 1.
So, you can see that Solana's block throughput is impressive—and it has not gone unnoticed. Institutional investors have poured over $100 million into Solana this year alone.
Solana is technologically fascinating and should be an interesting project to watch as it continues to mature.