# 2.3 Block Consensus

Proof-of-Stake (PoS) is a consensus algorithm that gives voting power equivalent to the amount staked on a Public blockchain.  Unlike Proof-of-Work (PoW)-based blockchains that reward participants that decrypt complex cryptography, Proof-of-Stake gives block-producing rights based on the amount of tokens held. PoS-based systems have, as of recent, become a contender for replacing PoW-based systems, as PoS-based blockchains offer high security, high levels of decentralization, and better energy efficiency.&#x20;

The blockchain, by default, tracks all validators on-chain at all times. By creating a transaction that stakes a certain amount of assets onto the chain, anyone can become a validator. Production of a block is generated through the consensus algorithm, and all validators are eligible to participate in this process.&#x20;

‌Previous PoW consensus algorithms used by BTC and Ethereum were regarded as an excessive use of energy to ad infinitum, and this problem is detailed in “EIP1011”.  Mentioned within this article are the various problems of PoW, such as waste of energy, monopolies introduced by mining hardware, and centralization caused by large mining pools. All of these problems can be, and must be, solved through a switch over to PoS, this article argues. Ethereum is currently being converted into a full-fledged PoS system after a transition stage called Casper FFG (Casper the Friendly Finality Gadget), which is a hybrid system employing both PoS and PoW.&#x20;

‌Vitalic explains the philosophy behind the blockchain consensus algorithm in his paper titled “A Proof of Stake Design Philosophy.” PoW, he argues, is a method employed by the miners in building the chain through injection of funds, and is representative of a Maximalist philosophy. Vitalic calls the philosophy behind Casper PoS “Cypherpunk” - a philosophy embodying a desire to respect individualism and resist against central systems. This is in line with the message contained within the Genesis Block of Bitcoin, a note left by Satoshi titled “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”  This is the very philosophy behind decentralized public ledgers, and the building block of all blockchain systems.&#x20;

**PoW (Proof-of-work)**

**‌**Currently, this blockchain consensus algorithm is the one used by most major (by market cap) blockchains. It is the algorithm suggested by Nakamoto Satoshi, the creator of Bitcoin, and the one detailed in the paper “Bitcoin: A Peer-to-Peer Electronic Cash System.”  It is used in Bitcoin, Ethereum and other various public blockchains.&#x20;

‌The word “Proof-of-Work” signifies the similarity of block producing to actual mining. Allow us to explain PoW through the most commonly known blockchain, Bitcoin. Individual blocks in a blockchain contain a unique hash value called BlockHash.  BlockHash is a value generated from version, Merklehash, bits, previousblockhash, time and nonce values. In order to “mine” the block, a miner must find a specific hash value at the current block height, and this process is done by continuously changing the nonce value to find the right hash value.  Because there is no direct correlation between the nonce value and the hash value, mining computers enter random values into nonce continuously until the right hash value has been found. In the process of these computations, a large amount of computing power and electricity is consumed.  &#x20;

**‌**In case of PoW, the blockchain is protected from attackers by the sheer amount of computing power and electricity required to perform an attack.  However, there is still a possibility of an attack succeeding, and when it does, it is not easy to revert. The ASIC chip was developed for the purpose of mining, but the possibility of utilizing a large number of these chips to engineer an attack has been raised as an issue. To combat this problem, a blockchain may change its hash algorithm to protect itself from danger, but this too may change by modifying ASIC mining equipment. A change in blockchain’s hash algorithm requires a hard fork of the blockchain, and the cost of this is incurred against the cost of mining countermeasures of ASIC attackers, which does not maintain system integrity through asymmetry. It means there is a need for another consensus algorithm, and the PoS system is receiving much support as an alternative.

**PoS (Proof-of-Stake)**

As observed above, PoW ia a method that involves producing blocks through using a tremendous amount of computing power, whether from a CPU or GPU.  However, with PoS, a method known as “staking” is used to produce blocks. Staking is a method of distributing new blocks based on the amount of monetary units a participant owns on the chain. The PoS block-producing consensus system was introduced to overcome the limitations of previous PoW systems.&#x20;

As of now, there are quite a few PoS consensus algorithms have been introduced.  EOS DPoS, Tezos LPoS, Cosmos Tendermint are but a few of those algorithms. PoS is still in its infancy, and is continually being updated through constructive criticism from the community.

The concept of miners of PoW is replaced with validators in PoS.  Two of the most well-known designs of PoS are Chain-based PoS and BFT PoS. For Chain-based PoS, validators are chosen by a periodic random validator selection to choose a block producer. For BFT PoS, block producers are chosen at random. The block that is to be produced is then put through a Finalization process in which the Finality of the block is verified through a voting process by the validator group.

For PoW, if two blocks are to be produced at equal heights to be incorporated into the chain, the chain with higher heights is chosen to be the more legitimate one. For PoS, consensus among the validators is used to determine the legitimate block, and to prevent a party with higher hash power from altering the chain on purpose.

For EOS, a system known as DPoS is employed. It is criticized for its lack of decentralization, as only 21 BPs selected through a voting process are eligible to produce blocks.  These 21 BP positions can be claimed by wealth, and they can maintain their power in the same fashion. They can also conspire for their own profit, by producing blocks that are in their favor, and actively declining the ones that go against their will. The fact that the voting against them, and the shift in power and funds occurs through the blockchain is a subject for much debate, as the block will be produced by the already-chosen 21 members. PoS can be designed in a variety of ways, and can be improved through such discussions.&#x20;

The core safeguard of blockchain decentralization is a design that causes the destruction of the system to cost more than the cost to maintain it. In this regard, PoW is limited in many ways. PoS, however, is maintained by the validators that participate in the system. They become validators through staking, and are monetarily rewarded for growing and maintaining the chain. They are also punished if they were to harm the chain, in monetary terms and other ways. The PoS system is the sum of various functions within it, such as what constitutes efforts to improve the ecosystem, and the compensation for such efforts, and the definition of harming the ecosystem, and the punishment that follows. The blockchain is maintained by designing the security in asymmetrical fashion, as to make the potential punishment for harm far harsher than the potential rewards.

**Byzatine Fault Tolerance**

The idea of implementing a Byzantine Fault Tolerance (BFT) consensus came from the challenges faced while building blockchain solutions for banks. Ethereum was chosen as the baseline protocol mostly because of its smart contract capability. However, the built-in consensus, proof of work or Ethash, is not the ideal choice when settlement finality and minimum latency is required.

Orbit’s consensus algorithm was designed based on the Practical Byzantine Fault Tolerance (PBFT) algorithm. The logic behind our high performance and instant finality is to support the connection and usability of many assets and DApp services utilizing the Orbit chain. We operate Ethereum-based blockchains that support Ethereum smart contracts. Ethereum has been used as a platform for a long time to build decentralized applications (DApps) with the stability of the Ethereum smart contract. Additionally, Ethereum 2.0 technologies such as Plasma, Casper, and Sharding are constantly being updated to create a fully decentralized and permissionless platform. Orbit Chain is operated as a PoS consensus blockchain based on the Orbit BFT (OBFT) consensus algorithm, which improves upon the existing Ethereum PoW consensus issue.

The Orbit BFT algorithm is a 3-phase consensus algorithm that consists of PRE-PREPARE, PREPARE, and COMMIT. It confirms immediately after block generation by eliminating the issues caused by the generation of multiple blocks at the same height occurring existing in Ethereum, Bitcoin, and EOS. As such, instant finality is expected to be very supportable in a blockchain where many financial transactions occur.

Block generation consensus by a selected few representatives of staking based PoS improves transaction performance, which was limited to 10-30 per second in previous Ethereum, to enable fast block generation and high transaction throughput.

**Block Proposer Selection**

For a fair selection of the next block producer, a completely unpredictable random number is used for the process. The random variable is generated through RANDAO and VDF, and each individual block producer is chosen to produce the block, and the validators validate the production.&#x20;

**RANDAO**

**‌**RANDAO is performed through the function “commit reveal scheme”.  Each validators submit a random hash value generated locally on the blockchain. When all the hash values have been collected, the REVEAL function occurs, where all the secret hash values are then calculated through XOR calculations.&#x20;

For RANDAO, there is a possibility of a Last Revealer Attack. If the last person to submit the hash value is compromised, there is a possibility of engineering the random number, and RANDAO may become a predictable process.&#x20;

**VDF ( Verifiable Delay Function )**

To prevent a Last Revealer Attack from occurring, we have implemented a Verifiable Delay Function, or VDF.  VDF is a function that solves a computational problem that takes a very long time to decode, but very short time to verify should the input and the output values exist. Through VDF, we can intentionally design the output function so that the last revealer hash value is one that cannot be predictable.\
