As the blockchain concept expands beyond cryptocurrency to 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 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 make 1 chain, meaning it provides the basic structure of a blockchain network, upon which other (Layer 2) networks can build. 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 Sun, and a distributed machine to execute smart contracts and connect to decentralized applications (dApps). On closer inspection, Solana’s blockchain architecture introduces some new ideas and is a competitor to Ethereum.
Solana’s currency is currently the fifth largest by market capitalization, with a modest market cap of $15 billion at the time of writing (which, by the way, is not in the middle of 2022’s crypto winter). Solana is also one of the most widely used blockchains for developing on-chain applications.
Blockchain Consensus Mechanisms
A blockchain can be understood as a distributed data store where nodes are identified by their cryptographic private keys. It means that each node has an identity number that is considered to be mathematically unique and resistant to discovery.
Nodes have two basic roles: they make assertions and they validate them. When making a claim, a node acts in the role of a client application. In blockchain terminology, this type of node is called a wallet. A wallet takes its private key and makes a claim, or claim, into the network. For example, a wallet may 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 validating are either full nodes or validator nodes.
The process of taking a data point as a wallet claim and spreading it reliably across a distributed software system is a notoriously difficult problem. Blockchain uses one 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 the truth.
Solana’s proof of history
The consensus mechanism is a fundamental feature and differentiator among blockchains. Solana’s consensus mechanism has several new features, esp Evidence of history algorithm, which enables faster processing times and lower transaction costs.
How PoH works is not difficult to understand conceptually. It is a little more difficult 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, 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 together with another more conventional algorithm such as Proof of Work (PoW) or Proof of Stake (PoS). Proof of History makes proof of stake more efficient and resilient in Solana.
Evidence of history and possible consistency
You can think of PoH as a cryptographic clock. It timestamps transactions with a hash that guarantees the time in which the transaction occurred as valid. This means that the entire network may forget to verify the temporal claims of nodes and delay reconciling the current state of the chain.
We can say that PoH allows 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 spend more energy efficiently processing blocks and getting valid blocks into the ledger.
Solana is also a unique attack on the Byzantine error tolerance problem, which can be summarized as dealing with consensus in a group whose members may not all act in good faith. (This is the same problem of double spending that initially spurred the development of Bitcoin.)
Proof of History and the Proof of Work algorithm
Another way to think about PoH is to think of it as an improvement on the Proof of Work algorithm, with respect to the order of blocks. In Bitcoin’s Proof of Work implementation, block mining and validation are used to enforce ordering. The network is set to produce a valid block at a rate of approx. 10 minutes per block. This is something of a hard bottleneck – faster block validation generates more block collisions, resulting in reduced 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 must still ensure that claims coming in as transactions are legitimate. But with regard to time and order, 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 the validators do their proof work against blocks 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 cannot be predicted without actually running the function. You connect these together – the output of the last function supplies the input to the next function. (The process is seeded with a random data point.)
The connection is made using a cryptographic hashing function. This provides an ongoing stream of cryptographically verifiable moments in time. At these times, we can easily add additional information by including it in the hash input. In the case of Solana’s blockchain, we will include the transactions that occur during each VDF run. All this is shown in an idealized form in Figure 1.
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 handling network failures and rolling over VDF servers.
- Each transaction arrives and is “stamped” by the PoH generator, then forwarded to the distributed cluster of validators for consensus. The PoH batches the transactions into the hash output so that the validators can trust that the order of transactions is valid.
- The validator network then returns the votes on the transaction to the PoH generator and the transactions are considered valid.
- A governance system is implemented that orchestrates the promotion of new validators to a leadership position in the event of failure, along with mechanisms to combat attacks against the network.
The bottom line is that using a PoH increases potential block validation times – radically. But it also entails increased architectural complexity. This complexity is likely the source of Solana’s larger than average outages.
Solana’s performance advantage
The Solana blockchain is still considered to be in beta status. The idea of running a network with billions in assets as a trial period might raise some 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 benefit possible with Solana’s PoH mechanism, consider Table 1.
So you can see that Solana’s block throughput is impressive – and it hasn’t 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.