whatsapp logo.img

Reach out to us to discuss your Web3.0 / Blockchain requirements.

← Back


How to Create a Cypto Wallet? [2024 Guide] Decentralized Physical Infrastructure Networks (DePIN) Substrate blockchain framework a comprehensive guide A Beginner's Guide to DeFi Yield Farming Fractional NFT Ownership: A Beginner’s Guide Cross-Chain DeFi Solutions What is Real Estate Tokenization Tokenization of Real-world Assets A Comprehensive Guide to Asset Tokenization Blockchain in Media and Entertainment Blockchain in Insurance Blockchain in Healthcare Blockchain in Finance Blockchain in Real Estate Blockchain in Supply Chain Management Carbon Credit Tokenization Explained- Basics and Benefits Blockchain Use Cases and Applications by Industry Blockchain in Identity Management Web3 Use Cases in Real-World Applications Top 10 Global Blockchain Development Companies 2024 How Does Blockchain Identity Management Revolutionise Financial Sectors? Top 10 Blockchain Companies in Ahmedabad that are growing rapidly The Future of Blockchain in 2024: Is it Dead or Just Evolving? Top 10 Web3 Global Development Companies 2024 Top 10 Blockchains to Use in 2024: An In-Depth Guide Future Reasons to Embrace Blockchain in 2024 Polkadot Scalability Solutions: Parachains vs. Parathreads Blockchain's Impact on Society: Real-World Use Cases and Examples DeFi Guide: Revolutionizing Finance Without Banks Blockchain Simplified: A Beginner's Guide to the Technology Solana: Pioneering Speed and Scalability in Blockchain Technology The Future of Blockchain: 10 Predictions for 2023 and Beyond 7 Key Blockchain Trends for 2023: Revolutionizing Industries Cosmos: Blockchain Interoperability Revolution Blockchain for Social Good: Addressing Global Challenges Revolutionizing Digital Ownership and Trade: The Future of NFTs Revolutionizing Digital Ownership and Trade: The Future of NFTs Revolutionizing Digital Ownership and Trade: The Future of NFTs Blockchain and Metaverse Revolution: Unleashing the Future Blockchain Impact on Cybersecurity: Benefits NFTs and Digital Art: Transforming the Creative Landscape Securing IoT with Blockchain: Safer Connectivity Real Estate Tokenization: Redefining Investment Decentralized Identity: Empowering Individuals in the Digital Era Blockchain Gaming Revolution: Play-to-Earn's Future Smart Contracts: Power in Business Legal Processes Blockchain in Supply Chain: Advancing Sustainability Blockchain and Philanthropy: Transforming Giving Blockchain News 2023: Trends, Adoption, Future Blockchain for Global Trade: Efficiency & Security Top 5 Blockchain Companies: Leaders in Technology Women in Blockchain: Diversity in Digital Revolution Cryptocurrency Rules in India 2023: Updates Blockchain in Film Production: Efficiency & IP Protection 5 Reasons to Adopt Blockchain Technology in Your Product Transforming Charity with Blockchain: Transparency Blockchain in Space Exploration: Mission Revolution Blockchain in Metaverse: Unlocking Potential Web3.0: Decentralized Social Networking and Content Creation Blockchain in Digital Voting: Security & Transparency NFTs Impact on Fashion: Enhancing Authenticity Blockchain in Agriculture: Transforming Traceability Exploring the Potential of Blockchain in Supply Chain Finance Web3.0 Gaming: Creating Virtual Economies and Incentives Blockchain and Sustainability: Environmental Impact Blockchain in IP Rights: Game-Changer for Protection Decentralized Identity: Privacy in Digital Age Blockchain in Logistics: Optimizing Supply Chain Operations CEXs vs. DEXs: Exploring Exchange Differences Blockchain Identity for DeFi: Challenges & Benefits The Impact of Blockchain in the Energy Sector Blockchain in Healthcare: Revolutionizing Patient Care NFTs Impact on Virtual Real Estate: Authenticity Exploring Blockchain Use Cases in Education Combatting Fake News and Ensuring Information Integrity Web 3.0 Impact on Social Media Platforms Blockchain for Social Impact: Empowering Communities Blockchain in Government: Enhancing Transparency and Trust Exploring Blockchain Scalability Solutions The Rise of DAOs: Empowering Decentralized Decision-Making DAOs in Finance: The Future of DeFi Token Economics: Designing Incentives in Blockchain Projects Blockchain Interoperability: Benefits Explored NFT Marketplaces: Evolution and Trends Blockchain vs. Counterfeit: Game-Changing Solution Gaming Revolution: Blockchain Transforms Industry Blockchain Security & Privacy Revolution Blockchain and AI: Synergies for the Future Web 3.0 Rise: Future of Decentralized Internet Challenges of Decentralized Finance The Benefits of Blockchain in Supply Chain Management NFT Marketplaces: Growth and Impact Unleashed DeFi & Borrowing: Decentralized Finance Revolution Blockchain Advancements: Trust in Digital Transactions Legal Insights on Non-fungible tokens (NFTs) DeFi Governance Models: Blockchain Investments Leveraging Blockchain for Enhanced Cybersecurity CBDCs and Blockchain: Future Financial Landscape ERC Token Standards on Ethereum Polygon vs Ethereum: A Comparison Aptos And Sui: Emerging Blockchains & How They Impact The Market Unveiling SUI: The Next Ethereum Killer? Aptos: The Fastest Layer 1 Blockchain? Understanding Proof of History Navigating Proof of Stake (POS) Unleashing the Proof of Work (POW) Necessity Of Token Development DApps - The Core Of Web3 Ecosystem ICO/IDO - Financing Blockchain Projects The Easy Way Demystifying Smart Contracts: Benifits & Drawbacks DeFi: Shaping the Future of Finance How to get the most out of NFTs?

Proof of History is NOT a consensus mechanism, it is a way for leaders to know when to start mining or producing blocks, and for validators, it is a way to verify that the leaders are taking the turns correctly.

Each slot has a duration which is counted in ‘Ticks’, If you are validator #34, you need to wait for 2 slots, and have to count 20 ‘Ticks’

The ticks are counted in form of ‘running a hashing function’, so lets say for example, to count 1 tick, you need to run the hash function for 5 times,

1 Tick = 5 times of ‘running a hash function’
1 slot = 10 ticks
2 slot = 20 ticks
20 Ticks = 20 * 5 = 100 times of ‘running a hash function’

This means that you need to run the hash function 100 times, before producing a block

Proof of History

How Do You Run The Hash Function?

You can start with any random input, and create its Hash (for example, using the SHA-256 hashing)

The hash you get the first time, you use that and use that as an input the next time, and so on. This takes some time.

After generating the 100 hashes, you know its your turn to produce the new block.

When you generate the new block, you send these record of 100 hashes and send them to the valuators for them to verify. Once they check all the hashes, if they are correct, and the number of hashes is 100, etc, only then, will the validators accept your new block. Otherwise, it’s rejected.

This can be any random input, here, we are taking ‘Solana’ for example

Proof of History

The idea is that generating these hashes, takes some time, and generating 100 hashes (just for example) takes about the duration of 2 slots, which is about 800 milliseconds in our time.

And since you generated 100 hashes correctly, its confirmed that you waited the right amount of time, before producing a block

Proof of History

How Does It Make Sure Of No Fraud?

Lets say there are three leaders, with different time slots (obviously). If leader 3 is malicious and wants to produce a block before leader 2, he will needs to be extremely fast and the leader 2 will have to have a bad network - only then this will be possible - which makes it very hard for any misconduct.

Proof of History

Also, leaders can use only single core of the CPU, to generate these hashes, and having a lot of CPUs will not allow the leader to run the hash function faster.

Even if you had more number of CPUs, since the input for generating the next hash has to be the output of the previous one, each CPU will be waiting until it gets the previous hash - which makes it useless to use multiple of them.

Proof of History

Validation on the other hand, can be done by multiple GPU cores at the same time, as we already have the hashes, we just ned to cross-verify that they are correct.

So, for example, you can validate the hundred hashes a lot faster by splitting them up on four cores.

Proof of History

This system, helps leaders take turns at the right time and faster, without slowing down the network.

Other Use Of Proof Of History:

POH, is also used in Time-stamping and ordering transactions.

When a leader is producing a block, he gets the hash of the previous block before him, adds a transaction to it and produces a hash as an output. This outputted hash is then used as an input in generating the next hash, where he adds another transaction to get a new hash and so on.

The validators can be 100% sure that , for example, that transaction 2, happened before hash 80, since in order to generate hash 80, you need to have the transaction 2 ’s hash, this means it existed before hash 80 was even generated. This takes care of the ordering of the transactions.

Proof of History

Also, the transaction itself when it was sent to the leader, included the last block hash seen by the wallet on the network, so we can be 100% certain that the transaction happened after that hash was generated.

Proof of History

If the same hash was used in generating in generating hash 98, we can be certain that this hash (#98) was generated after transaction 2 happened, and so on. This way we can order the transactions correctly before sending it to the validators, where validators also cross-verify the timings of the transactions.

Summary of how POH mechanism works.

The validators are constantly running the hash-function to count the ticks, to know when its their turn to become the leaders and start producing blocks.

Once a validator becomes a leader, he starts getting transactions, out of which the leader removes the fraudulent transactions and verifies the correct ones, and updates its version of the ledger.

Then the leader starts ordering the transactions by including them in the hashing function, like explained earlier.

After the leader finishes with some transactions, he sends them to the validators with the ordering hashes and the empty hashes (the ones that were used to count-down during waiting for his turn)

The leader does NOT wait to finish a full block, before sending to the validators, like on other blockchains such as bitcoin.

Instead, the leader sends the finished transactions to get verified, as its working on rest of the transactions, which helps the SOLANA network, achieve these fast confirmation times.

When validators receives the finished transactions from the leader, they FIRST verify the empty hashes to make sure it is the leaders turn, then they start verifying the transactions and updating their versions of the ledger.

After the leader finishes the whole block, the validators send their votes on the block if they accept it, then the block is finalise.

One point to note here is, the next leaders takes his turn and start building on this block, before it gets voted on by the validators.

This is done to avoid slowing down of the network by waiting for votes.

Let’s say, if the previous block is rejected by the validators, and the next leader has already begun working on the previous block, then both the blocks get discarded and the previous leader is penalised.

Low Gas Fees: Compared to most other cryptocurrencies like ETH, Solana has a lower transaction fee. As a result, Solana is an ideal solution for making frequent transactions and transferring money. Centralized Concerns: Solana currently has under 1200 validators to validate transactions on its network.
Scalability: Since transactions are extremely fast on the Solana network. As a result, it brings scalability to the whole picture. Fewer dApps: Solana is often called an Ethereum caller. But it doesn’t have too many dApps or decentralized apps built on it. There are about 350 dApps built on Solana, while on Ethereum, the number of built dApps is more than 3000.
Shivi Sharma
Shivi Sharma
Blockchain Techlead @ GlobalVox || Web3 || Solidity || Hyperledger || ReactJs || NodeJs