Inventing Bitcoin was a stroke of genius on the part of the enigmatic Satoshi Nakamoto. By combining a proof-of-work (PoW) consensus model with economic incentives, game theory, and cryptography, Satoshi created a decentralized network that has successfully weathered the last eleven years.
However, for as long as Bitcoin has been around, people have been trying to improve on the design. These improvements generally target the PoW consensus method. After all, it’s PoW that means Bitcoin will never manage the kind of throughput achieved by the traditional financial system. It takes time to achieve consensus under PoW, and this is a significant factor in processing speeds.
Anyone attempting to design a new means of achieving consensus on a blockchain runs into several challenges. How do you balance the competing requirements of reaching consensus fast enough to speed up the system without sacrificing decentralization? And how do you ensure that economic incentives are sufficient to deter bad actors?
These challenges mean that eleven years on from Bitcoin’s genesis block, only two other approaches to achieving consensus have gained widespread recognition - proof of stake (PoS) and delegated proof of stake (DPoS.).
However, that could be about to change. A project called Solana will launch its main net in early 2020, and it uses new features designed to reduce the weight of achieving consensus. The Solana blockchain is based on two new concepts, called Proof of History (PoH) and Tower Byzantine Fault Tolerance, combined with PoS.
What Is Proof Of History?
In the context of a blockchain, time is a peculiar thing. Public blockchains are designed to operate trustlessly. Every transaction and piece of data recorded on the blockchain needs to be verifiable by all parties. Certain data is easy to verify, such as who made a particular transaction, because it’s attached to their private key.
But when did they make that transaction? There’s no central clock in a blockchain, and in a trustless environment, it can’t just be left to the miner to check their clock and enter the time they mined the block.
So timestamping is as much a part of consensus as the transaction itself. When the network verifies a block, it’s also verifying the time the block was mined or produced, and the time of the transactions therein. Different consensus models operate different means of verifying time, but it’s an integral part of achieving consensus and therefore adds to the weight of consensus itself.
Proof of History provides a means of encoding the passage of time into the blockchain ledger. It uses a relatively new concept in cryptography called Verifiable Delay Functions (VDFs.) A VDF requires a specific number of sequential steps to solve. Because the computing power can only be applied sequentially by a single CPU core, it’s possible to determine exactly how much time it takes to solve the VDF. Therefore, this provides a record of time.
Like verifying PoW, confirming the output of a VDF is quick and relatively simple. Furthermore, the verification can be done in parallel. Proof of History is performed before consensus, creating a trustless means of timestamping that removes the requirement for nodes to reach consensus on time.
Tower BFT is a variant on the practical Byzantine Fault Tolerance (pBFT) model developed by the team at Solana. The pBFT timeouts are encoded into the ledger itself, using PoH as a network clock. Voting takes place at a fixed interval of PoH hashes, which are called slots, and take place every 400 milliseconds. This is analogous to block production in a PoW environment. Each slot represents an opportunity for the network to rollback, but each subsequent vote doubles the amount of time the network would have to stall to roll back that particular vote.
Using an example, let’s consider that a particular validator has participated in 32 votes in the last 12 seconds. The first vote in that sequence has a timeout of 232 slots of 400ms, which works out to 54 years that the network would need to stall to roll back the first vote. The most recent vote only has a timeout of 2 slots or 800ms. So as new blocks are added, the old blocks are increasingly likely to be confirmed.
Once two-thirds of validators have voted on a PoH hash, it becomes canonical and cannot be altered.
Each validator ensures that they only vote if they see a supermajority of the network voting on the same ledger as well. The validator must monitor when the timeout on their preceding votes will increase past a particular threshold, ensures that a supermajority of other nodes has voted on a fork that concurs with that vote.
Crucially, validator rewards are only issued for the votes that reach the 232 timeout. This means that network participants are incentivized to vote for the forks with the biggest majority, thus ensuring security. Anyone voting for a fork that goes against consensus is subjected to “slashing,” whereby they’re fined a portion of their stake.
How Does Proof Of Stake Play In?
Proof of History serves as the “clock” of the network, whereas Tower BFT provides a means of ensuring consensus among participants, together with a means of penalizing bad actors.
So in this environment, PoS provides a means of determining who gets to serve as a Validator. Anyone staking tokens can become a Validator, providing they have the necessary hardware. If they hold tokens but don’t have the hardware, they can become a Delegator. They stake their tokens against a Validator to earn interest from the block rewards earned by that Validator.
PoS in Solana operates on a rotating leader schedule, determined by their proportion of the total staking pool. So the more tokens staked against any given Validator, the more blocks they will produce in any given time frame.
What Does This Mean?
In creating this new innovation on consensus and time, Solana has managed to solve the challenge of agreeing on time. By removing this traffic from the network, the project has achieved scalability without solutions like Ethereum’s sharding. Based on this model, the Solana blockchain achieves a throughput of 50,000 transactions per second.
These speeds are faster than any other blockchain, making a PoH/TBFT implementation far more desirable where speed is required. The economic incentive model is also aligned with PoW, rewarding the network for acting in its interests.
DPoS, the consensus model used by EOS, achieves fast throughput but has come under heavy fire for being too centralized. Furthermore, the DPoS model encourages the formation of voting cartels to manipulate the delegation process. While the Solana model cannot prevent this from happening, the Tower BFT element provides a strong deterrent for acting against the interests of the network, offering additional security.
Of course, there have been other attempts at creating a superior consensus model over the years. However, PoW, PoS, and DPoS are still the default for many blockchains. Once Solana launches its main net next year, if it can demonstrate that its new model is faster and more resilient than its predecessors, these features may become the go-to solution for the challenge of scalability in the future.