Tuesday, July 12, 2022

What Is Proof-of-Time (PoT) and How Does it Work?

https://preview.redd.it/x4u6vjuf69b91.png?width=700&format=png&auto=webp&s=52459261a0b342b0d02e100567552dbe964a8d2a

There is currently an incredible amount of speculation and discussion around blockchain and consensus, accompanied by intermittent media frenzies and exaggerated hype cycles. In such an environment, cutting through the noise and jargon to understand the underlying advances with genuine technological value can be challenging. This post is a non-technical introduction to the essential concepts and terminologies of a decentralized consensus algorithm called the proof-of-time (PoT) — written to help you understand the key principles of PoT and its broader impact in the blockchain ecosystem without taking a detour through complex cryptographic primitives. Before we dive right into the specifics of PoT and how it works, it is vital to first understand the implications of users’ ability to create decentralized networks with universal consensus mechanisms.

What Is Decentralized Consensus?

Decentralized consensus is a set of cryptographic principles and techniques that allow participants (nodes) in a distributed network to agree about the status of a shared ledger. Networks that are built upon decentralized consensus protocols are inherently censorship-resistant, permissionless, and tamper-proof.

This contrasts with centralized consensus, where participants rely on a trusted third party to update and maintain the ledger. The ability for many nodes to securely store and share information without relying on intermediaries or centralized entities is a defining feature of all the systems that are built upon decentralized consensus mechanisms.

Arriving at a universal agreement under adversarial conditions with dishonest parties is a fundamental problem that any effective decentralized consensus mechanism must solve. This problem was concisely expressed as Byzantine Generals’ Problem by Leslie Lamport in 1982.

Ever since Lamport formulated the Byzantine General’s Problem in decentralized networks, mathematicians and cryptographers have been researching on creating tools to enable self-securing decentralized networks. The entire decentralized consensus landscape changed in 2008 when Satoshi Nakamoto — a pseudonymous author — published a whitepaper outlining how the proof-of-work (PoW) protocol can allow distrusting nodes to agree on the status of a ledger in the Bitcoin network.

In a PoW consensus protocol, one node — also called a miner — proves to other nodes in the network that it has expended a certain amount of a computational effort. The rest of the nodes (verifiers) can then validate that the miner has indeed performed complex computation to arrive at the correct state of the ledger with minimal effort.

In the Bitcoin network, for example, miners compete to solve arbitrary cryptographic puzzles. The winning miner is selected to add the new block to the blockchain and can only receive bitcoin rewards after other nodes in the network verify that the added block is valid.

The PoW methods that many decentralized networks such as Ethereum 1.0 have implemented have benefits such as battle-tested security. However, despite their security benefits, the PoW consensus protocols suffer from low throughputs and higher latencies. For example, users must wait for about an hour to confirm their transactions on the Bitcoin network.

Due to these challenges, proof-of-stake (PoS) protocols have emerged as alternatives to PoW protocols. In a PoS-enabled network, participants — also called validators — explicitly lock up their capital in the form of tokens into a smart contract to be allowed to propose or confirm blocks.

The staked tokens serve as collateral and can be burned or destroyed if the validator behaves lazily or dishonestly. The higher the staked tokens in the network, the higher the chances that a node has of participating in the consensus processes. While PoS is scalable, it has high barriers to entry since only the nodes that have staked the largest number of tokens are allowed to propose or confirm blocks to the ledger.

The PoT consensus mechanism has been built to address the challenges that PoW and PoS protocols face.

What Is PoT?

A one-sentence description is usually a good starting point when describing complex concepts. So, in short: PoT is a decentralized consensus protocol — conceived by the Analog network — where validators are selected based on ranking scores and fixed stake.

  • Ranking score. A ranking score is a numerical measure that each node in the network accumulates when it proposes or confirms a block in the network. You can think of the ranking score as a decentralized version of Google’s page rank algorithm. For example, in a page rank algorithm, Google servers (centralized entities) count the number of quality hyperlinks to a page to determine how significant the web page is. The concept behind the page rank algorithm is that more important web pages should receive more links from other pages. In a PoT protocol, the ranking score is computed in a decentralized manner based on the validator’s historical experience (the accuracy with which it validates data) and other nodes’ experience with the validator.
  • Fixed stake. This is a staking process where all the validators lock up an equal number of tokens to participate in the consensus processes. Unlike typical PoS networks where validators stake variable amounts of tokens and are selected proportionally to the number of tokens they have locked in the network, a fixed stake is fair since any node can participate as a network validator.

A PoT protocol has two categories of nodes that participate in the consensus process: time electors (nodes that propose blocks) and time nodes (nodes that confirm blocks to the ledger). The PoT consensus algorithm determines which nodes will serve as time electors and time nodes by running a verifiable delay function (VDF) based on each node’s ranking score and fixed stake.

This is done for periods called slots, which are periodically computed after one epoch. You can think of a slot as a round in the consensus process where a time elector proposes a block and time nodes confirm the block to the ledger. An epoch, on the other hand, is the time duration for which the network randomly determines which nodes will propose the blocks (time electors) and which ones will confirm the blocks (time nodes) in each slot.

Supposing each epoch has 7,200 time slots and the block time is 3.6 seconds, then each epoch will take (7,2003.6 seconds = 7.2 hours*). During each epoch, the network releases a random number — also called a seed — that each node uses to compute VDF based on its ranking score and the fixed stake.

Whenever a node finds proof that it qualifies to propose or confirm blocks, it broadcasts it and undertakes its responsibility during its allocated slot, and broadcasts the result alongside VDF proofs. This way, the network prevents malicious nodes from faking event data when proposing or confirming blocks.

How Does PoT Work?

For any data to be added to the ledger, it has to undergo two stages:

  • Soft vote. This phase starts when users submit data to be validated to the network. A time elector — designated to propose blocks at that time slot — collates such data, verifies the users’ signature, and generates VDF proofs. It then broadcasts the data alongside VDF proofs to the rest of the time nodes for confirmation.

https://preview.redd.it/dcne5bci69b91.png?width=700&format=png&auto=webp&s=51c94718451d78dd129d77d1d92c143618c5a8a1

Hard vote. A 1,000 time node committee begins to confirm the proposed block where each time node loops through its accounts to determine if it has been selected to participate in the consensus process. If selected, the time node determines whether the time elector is indeed a valid proposer that the network selected to propose a new block. Each time node then checks for VDF proofs, double-spending, overspending, and other problems with the proposed block. If the proposed block is valid, the time node accepts it. When all the 1,000 time nodes have voted to accept or reject the proposed block, the network triggers an end to the confirmation round, triggering the tallying of the votes function. If more than 66.67% of the time nodes vote to accept the proposed block, the block is appended to the ledger, concluding the block confirmation process and triggering a new round (slot) of consensus.

https://preview.redd.it/rna30zbk69b91.png?width=700&format=png&auto=webp&s=2b902c246100a6e46724650a3483aa0a7c32bf7d

PoT vs. PoW vs. PoS

As a trustless omnichain interoperability protocol, the Analog network had to be built around a consensus mechanism that aligns well with decentralization and security. In our view, centralization and security are the single biggest challenges that virtually all interoperable networks like bridges face. The idea behind such networks is simple: a smart contract locks/burns tokens in one chain and unlocks/mints the same on the destination chain.

However, due to the lack of decentralization mechanisms, an adversary can generate a fake signature in the smart contract and mint tokens on the destination chain without the necessary liquidity on the source chain. PoW protocol, in our view, is an ideal solution to the centralization problem in interoperable networks. This is because it is open, and anyone can participate as a miner in the consensus process. However, such a miner must invest in costly, computationally-intensive hardware to participate in the consensus process. The protocol is also sluggish with lengthy block times.

While proof-of-stake (PoS) is faster than PoW, it centralizes the network by allowing validators with the highest staked tokens (big spenders) to participate in the consensus process. At Analog, we believe that a truly decentralized consensus mechanism is necessary to address these challenges in the interoperability space.

That is why we have built the PoT consensus protocol from the ground up using the ranking score and fixed stake. Unlike PoW and PoS consensus mechanisms that have high entry barriers, the PoT protocol allows anyone to participate in the consensus process without being hindered by computational power or staked tokens.

Read through our Timepaper here to learn more


No comments:

Post a Comment