The Proof of History (PoH) is a consensus mechanism of a blockchain. There are many different kinds of consensus mechanisms. The best known are the Proof of Work (PoW) and the Proof of Stake (PoS). The PoW is used for the bitcoin blockchain and the PoS for the Ethereum blockchain. The PoH is used for the Solana (SOL) blockchain. The developers behind SOL developed the PoH themselves.
This consensus mechanism is similar to the PoS. However, there are many major differences between the PoS and the PoH. The main difference is in the time to determine events on the blockchain.
Introduction
A large and important part of the blockchain is that the blockchain network must report the correct date and time of a transaction/event. For this purpose, each transaction is given a specific timestamp. This timestamp determines the date and time when the transaction took place on the blockchain. Reporting the date and time is more problematic than many people think.
If a hashing puzzle is solved by the fastest miner, it will first have to go into the network to check whether it has been solved correctly. If this is the case, the miner will be allowed to verify the transaction on the blockchain. The miner receives a reward for this. Once the transaction has been added to the blockchain, it is given a timestamp. This transaction must then be added (or updated) at each node so that each node has the most up-to-date blockchain. Every node must then have exactly the same timestamp.
Google or Microsoft use a central time system. Google uses a central clock for all its data centres around the world. This clock is monitored day and night. It would be disastrous if one server in country A were to be one millisecond ahead or behind the central clock. This would cause chaos in the data centres. Updates and planned maintenance would then be thrown into disarray.
This problem - if a server is slightly ahead or behind - is even greater for blockchains. If a node verifies the transaction on the blockchain by adding a timestamp, then this node can use a clock that can be found online. This online clock may be slightly different from the actual clock, causing an incorrect time to be stamped.
The blockchain is not controlled by a number of people who monitor all transactions. The blockchain works in a decentralized manner, without a central entity. The blockchain must, as it were, determine for itself which time is needed for the timestamp. This is complicated. But we have 'oracles' that could solve this problem.
What is Proof of History (PoH) and how does it work?
As mentioned above, the SOL blockchain uses the PoH consensus mechanism. This PoH is based on the problem outlined above (timestamping the correct time). The SOL blockchain uses the PoH to timestamp the transactions.
In short, the PoH means that the time of a transaction is stored by placing certain transactions in a certain order. An example should make it clearer: suppose you take a screenshot of the front page of CNN.com. This screenshot proves that it was taken after the front page of the CNN became available. After all, you cannot take a screenshot of a web page that has not yet been published.
Or you decide to take a screenshot of the front page of consensusbased.com. This screenshot indicates that the screenshot was taken after the consensusbased.com page existed. You can't take a screenshot of a web page if it doesn't exist yet.
This is exactly how the PoH works. The PoH does not take screenshots of web pages but uses hashes. This hash is based on previous events, so it becomes impossible for the hash to have been developed before or after this (previous) event. Every node uses the same clock that are synced with each other.
Another example: if you visit an athletics competition at the Olympic Games and take a photo of it, you create a proof that the photo was taken during that competition. Not before, not after, because the competition took place at a specific time. With Proof of History, you basically create a historical record that proves an event took place at a specific time.
Verifiable Delay Function
The PoH is also called the Verifiable Delay Function (VDF). What is the VDF and why is it so important for the PoH? The VDF needs previous events to work. Based on previous events (or transactions) an output (hash) is created using the SHA256 algorithm. This hash is public and can be viewed by anyone. It can also be verified by the network. The network can then check itself whether the result of the VDF is correct and whether a node/miner is operating correctly (verifying transactions).
The PoH is thus a consensus mechanism that uses previous, older transactions. It uses time. This time is determined on the basis of past transactions/events. These events are converted to a hash, which can only be created from previous events (hash2 hashes hash 1, hash 3 hashes hash 2, etc.).
- Similarly, to record the passage of time, Solana’s PoH based blockchain uses a verifiable delay function, whose output cryptographically verifies that real time has passed in the process of generating that output (i.e. running the function). In this case, the blockchain’s rising ‘levels’ aren’t seconds or a unit of time, but simply sequential outputs of hashed blockchain state and count. In this way, just like a water clock, you know that the lower levels or ‘marks’ (hashes) had to come before the higher levels or ‘marks’ (hashes).
For instance, we have three transactions, A, B and C. Solana runs each of these transactions in order through his consensus protocol, Proof of History. Proof of History takes as input the transaction and the internal clock that objectively measures the order of the transactions, so it goes like this:
PoH(A, time stamp 0) -> hash: encrypted version of A on time stamp 0
PoH(B, time stamp 1) -> hash: encrypted version of B on time stamp 1
PoH(C, time stamp 2) -> hash: encrypted version of C on time stamp 2
The fact that everything is fixed in time stamps provides an objective measurement. Both the fact that each transaction took place and the fact in which order each transaction took place. If transaction B were to be entered at time stamp 0, the entire blockchain would be affected.
PoS vs PoH
The PoH is not fundamentally different from the PoS and the PoW. All these consensus mechanisms aim to create new blocks that can be verified by miners on the blockchain.
The main difference between the PoS and the PoH is the way time is used. The PoS uses the timestamp when a transaction is added to the blockchain. Every node must use this timestamp. This takes a long time, because every node has to receive and process this new transaction with the corresponding timestamp. This prevents the blockchain from scaling because every node has to use the timestamp.
In PoH, there is no need at all to send the timestamp to every node that needs to process it. This is because the PoH uses the VDF. The VDF determines the time of a transaction via past events. These events are analyzed and a hash is created of these old events that can be verified by everyone in the network. This hash is added to every block that is verified by the network. This way this specific block with the timestamp does not have to go to every node to be processed. The network checks the hash and if it is correct, it can be added to the blockchain. A lot of time can be saved this way. SOL is therefore a very scalable blockchain.
Pros and Cons of the PoH
Pros
- The PoH can process many transactions per second because it is more scalable than other known consensus mechanisms such as the PoW. As a result, transaction costs are also lower.
-
The PoH is much more sustainable than the PoW because it does not use miners that use energy, but validators.
-
The validators don't need hardware to be able to mine. This makes the PoH more accessible to many investors who want to add blocks to the blockchain.
Cons
-
Successful hacks of the PoH algorithm. The PoH is not yet developed enough to be widely used.
-
There are few validators active (around 1500). So is the network as decentralized as they indicate?
Reactie plaatsen
Reacties