XinFin developed a scalable, secure and enterprise grade hybrid blockchain platform that combined the best features of Bitcoin, Ethereum and Quorum. XinFin's blockchain is a combination of permissioned and public chains that can nicely address security and scalability. XinFin Hybrid Blockchain platform has matured through continuous development and improvements.
XinFin's Consensus Mechanism
XinFin removed traditional high electrical power consumption based mining mechanism called PoW (Proof of Work). Instead XinFin adopted an improved consensus methodology called PoS (Proof of Stake), and is now slowly moving towards Delegated Proof of Stake (DPoS).
To understand behind XinFin's decision to go for DPoW, we need to discuss briefly about the consensus mechanisms.
What is Consensus and how PoS, and DPoS are better than PoW
Consensus means a general agreement which is an important component of blockchain technology. Instead of keeping the accounts in a centralized computing machine, as in a bank or centralized online payment system, cryptocurrency uses distributed ledgers or blockchains to record information. A general agreement is needed to record information, such as the balance of every address, transactions, etc. on the blockchain.
Proof of Work or PoW relies on solving a cryptographic puzzle repetitively over all the nodes of the network. PoW involves burning very high amount of electrical energy.
Proof of Stake doesn't need computers for repetitive solving of the cryptographic puzzle. Instead of miners, PoS requires some validators who will lock some of their crypto coins as stake or deposit. Anybody who holds crypto tokens can become a validator by processing a special type of transaction to lock their crypto fund.
A group of validators takes part to propose and vote on the next block, and the weight of each validator's vote depends on the size of its stake. When the validators discover a block which they think can be added to the blockchain, they will validate it by placing a bet on it. The validators will get a reward proportionate to their bets.
How Delegated Proof of Stake works?
Delegated Proof-of-Stake (DPoS) is more efficient than PoS consensus mechanism. DPoS uses a reputation system and real-time voting to achieve consensus. The members of the network vote to elect trusted representatives called block producers or witnesses to create blocks in a round robin manner. The voters own number of votes proportional to the number of tokens they own on the network, which is their stake. The voters may also delegate their voting power to another member to cast vote on their behalf. The elected block producers or the witnesses are rewarded for validation of the transactions for the next block.
i) Block producers are elected by the voters and are limited in numbers who can sign and create blocks.
ii) Block validators are the full nodes who verify that the blocks created by the block producers follow the consensus rule.
The main difference between DPoS and PoS is in the consensus mechanism of DPoS. The community members have more rights in governance of the network.
Pros and cons of Delegated Proof of Stake
In DPoS consensus, only the elected witnesses or the block producers can create the blocks. The transactions are permitted only within the limited number of witnesses. Therefore, DPoS helps to make processing faster, reduce cost and improve scaling. The elected witnesses are regularly monitored. If they are found to be malicious, i.e. try to censor transactions or double spend, the voters can fire a witness by not voting them the next round.
But there could be a problem. One or few members may convince others to vote them. If someone can manage to convince more than 51% of the voting power, then they can control almost everything in the network. That can result in a semi centralized control over the blockchain network which is highly against the philosophy blockchain.
XinFin prefers DPoS because of speed, cost and scalability
Since DPoS is more democratic, faster, efficient and effective to scale, XinFin naturally preferred DPoS to PoS.