Proof of WHAT? A Crash Course on Common Consensus Mechanisms
With the praise of the mighty Blockchain Technology and the major public Blockchains, the general consensus is (and a part of my heart agrees) that it's going to revolutionize the world. As they say, it could very well be the WEB 3.0
But for a shared distributed public ledger with a global scale to operate well it needs a secure, efficient and robust CONSENSUS ALGORITHM.
Now if you've already dipped your feet into the perplexing world of Cryptocurrency and Blockchain technologies alike, you miiight have come across some of these terms with the word "proof" thrown in:
- Proof of Concept
- Proof of Work
- Byzantine Fault Tolerance
- Proof of Stake (STAKE, not to be confused with your favorite medium rare STEAK)
and the list goes on..
What is a Consensus Algorithm?
A Consensus Algorithm can be better explained through an example like Bitcoins Proof of Work system. What it does is that it ensures that the next block in a Blockchain is authentically the one and only version of the "truth" in the system. It also helps prevent antagonists from meddling and derailing the system by manipulating and disrupting the "Chain".
With a distributed nature,
The purpose of a consensus algorithm is to allow for the secure updating of a state according to some specific state transition rules, where the right to perform the state transitions is distributed among the economic set (Buterin, 2014)
Consensus involves multiple nodes agreeing on values. Once they reach a decision on a value, that decision is final.
Okay, now what about the "Proofs"? WHAT DO THEY MEAN?
Let's start from the beginning, with Proof of Concept
PROOF OF CONCEPT
AKA POC, is basically a demonstration. It's merely a theory of which the purpose is to verify that certain concepts have potential for Real World Application . Think of it as a prototype, designed to determine its feasibility, but it doesn't provide nor represent anything deliverable.
PROOF OF WORK
This is one of the most common consensus mechanism for blockchain technologies. The all-mighty Bitcoin uses such a protocol in a P2P fashion, and it works where there are miners who compete (usually in pools) to add the next block (considered as a set of transactions) in the blockchain by racing to solve a difficult mathematical and cryptograhic puzzle. The first to solve it wins newly minted Bitcoin, thus adding to the crypto-supply of Bitcoin.
With the PoW idea originally published before Satoshi Nakamoto by Cynthia Dwork and Moni Naor back in 1993 with their paper "Pricing via Processing or Combatting Junk Mail", the PoW protocol is effective at deterring cyber-attacks such as DDoS (Distributed denial-of-service attacks) through its distributed and cryptographic nature.
Hash functions in Cryptography such as bitcoins SHA-256 help as a tiny change to any portion of the original data will result in a totally unrecognizable hash. Since this is a one-way function, it cannot be used to obtain any original data, just to check that the data generated the hash matches the original data.
Challenges with PoW
The main challenge is that Proof of Work protocols had turned into a bit of an arms race between miners, devouring electricity for the race of mining profit. Those who are in countries where electricity costs are cheaper (ie China) are much better off. Hence news of those massive Bitcoin farms running in China.
PoW makes it extremely challenging to alter any aspects of the blockchain, which means scalability is limited. Any alteration would require re-mining all the subsequent blocks.
It's challenging for a user or pool to monopolize the network's computing power as hash functions are very expensive to complete and one would need powerful machines to do so!
Examples of Blockchain technologies that apply Proof of Work are Bitcoin and Ethereum (for now)
PROOF OF STAKE
You probably came across this term when there was a proposed idea to move Ethereums Proof of Work consensus to Proof of Stake. It has the same purpose as the PoW mechanism, though it reaches its goal by tackling it in a different way.
When talking about PoW, miners are rewarded for solving the mathematical problems when a new block is created and validating transactions. In contrast, with Proof of Stake, the creator of a new block is Chosen in a "deterministic way". It all boils down to the miners wealth, defined as a "stake".
The person who mines or validates transactions is limited to how many coins he or she holds. The more of the said cryptocurrency, the more mining power he/she has.
This means there are no rewards, all the digital currencies are created in the beginning and its supply is never changed. There are no block rewards, instead, the incentive of transaction fees.
Why is this mechanism attracting interest?
Mining requires a lot of computing power, and that means more electricity.
In 2015, it was estimated that one Bitcoin transaction required the amount of electricity needed to power up 1.57 households per day.
Proof of Stake addressess this by attributing their essential mining power in proportion to the amount of coins the miner holds. Their mining power is dependant on their ownership stake as they are limited to a percentage of transactions.
Example:
A miner who owns only 5% of Ether can theoretically only mine 5% of the blocks.
Furthermore, PoS is more resilient to attacks.
In a traditional POW system, if one has enough capital to mine 51% of the computational power of the network, they can essentially create fraudulent blocks of transactions and invalidating other transactions.
In a PoS system, the attacker would need to obtain at least 51% of the cryptocurrency to carry our that 51% attack. That would be mentally expensive to accumulate in the first place. In addition, what benefit would that hacker have if he attacked a network which he holds a majority share of?
Examples of Blockchain technologies that apply Proof of Stake are PeerCoin, NXT, and Ethereum (in the future)
PROOF OF CAPACITY
Next, we have to a consensus mechanism that is beginning to gain some attention.
- Proof of Work can be costly
- Proof of Stake requires users to leave their wallet open and connected to the internet at all times
People with less powerful computers who don't want to keep it running all day and all night may find the Proof of Capacity mechanism attractive.
Capacity?
That's right, this "mining" algorithm is self-explanatory in that it requires users to share a portion of their available hard drive space! Very well similar to Proof of Space, though more advanced. This method of mining allows users to allocate large amounts of hard drive space to generate new coins. The drive acts as "plots" to store massive amounts of data.
If one has more hard drive space available to allocate, he can have more "plots" of data. If the hash of a plot is combined with the last block header and is less than a pre-determined value, the user will find a block of coins on the network, in turn, "Mining" new coins. This doesn't require a powerful hardware and is very very energy efficient.
Where can i start?
Hold on there, very few cryptocurrencies support proof of capacity right now. Furthermore, there needs to be a larger market for such a Cryptocurrency to have value as it is still a work in progress. So time and research will only tell us about its value and use case. Though it is a very green-mining friendly method!
Remember when I said in 2015 it was estimated that one Bitcoin transaction required the amount of electricity needed to power up 1.57 households per day?
Today, the average Bitcoin transaction costs as much energy as powering 3.67 average American homes
A prime example of an emerging cryptocurrency is BurstCoin which was released to the public on 10th August 2014. Launched without any IPO.
DBTF (delegated Byzantine Fault Tolerance)
PoS is a viable alternative to PoW as it is more energy efficient since it cuts the power requirements of PoS Blockchains to manageable amounts.
HOWEVER, both systems have a crucial flaw within them. Both PoW and PoS will cause the blockchain to fork into two alternative versions if for some reason the consensus itself breaks. Most Blockchains already fork, though it usually converges a while after.
But for a proper implementation of the Blockchain into the financial sector, a chance of a fork can seriously disrupt operations as the splitting into two alternative versions can be disastrous!
What can dBFT do?
Byzantine Fault Tolerance derives its name from Byzantine Fault Problems in Game Theory and Computer Science. It details the issues and nature of achieving consensus in a distributed system with subobtimal communication between agents which do not necessarily trust each other.
The BFT algorithm arranges the relationships between Blockchain nodes in a way that it becomes resilient to the aforementioned problem. Allowing for seamless consensus despite there being malicious nodes (those with bad intent) or malfunctioned ones.
Let's take Antshares as an example (Rebranded to NEO). They've applied the dBFT algorithm and there are two kinds of players which are recognized in the Blockchain space:
- Professional node operators (bookkeeping nodes who run nodes as a source of income)
- Users who access the Blockchain
Block verification is achieved through a consensus game held between the bookkeeping nodes. They are appointed by ordinary nodes through a form of delegated voting process. One of the bookkeeping nodes is pseudo-randomly appointed to broadcast its version of the blockchain to the rest of the network in each verification round.
When 2/3rd's of the remaining nodes agree with the version, consensus is achieved and the Blockchain keeps going. If less than 2/3rd's of the network agrees, a different node is appointed to broadcast its version of the truth to the rest of the system, and so on until consensus is established.
Attacks are almost impossible to execute unless the mass majority is inclined on financially destroying itself. The system is fork-proof, and only one version of the truth exists. It's not energy consuming as there aren't complicated mathematical puzzles to solve so nodes can operate faster and are able to compete with centralized transaction methods.
And so on and so forth
These are just a handful of the existing consensus mechanisms that are being used and for all we know one of these may thrive and be more applicable in use cases. Such as UNL/QUORUM SLICE or PROOF OF IMPORTANCE. There are many other windows open for Blockchain technology. Follow us to learn more!
REFERENCES
- https://www.techopedia.com/definition/4066/proof-of-concept-poc
- http://www.coindesk.com/short-guide-blockchain-consensus-protocols/
- https://www.linkedin.com/pulse/consensus-mechanisms-used-blockchain-ronald-chan
- https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/
- https://bytecoin.org/blog/proof-of-work/
- http://www.econotimes.com/Blockchain-project-Antshares-explains-reasons-for-choosing-dBFT-over-PoW-and-PoS-659275
- https://en.wikipedia.org/wiki/Byzantine_fault_tolerance#Byzantine_Generals.27_Problem
- http://digiconomist.net/bitcoin-energy-consumption#assumptions
- https://www.burst-team.us/
- https://themerkle.com/what-is-proof-of-capacity/
- http://www.econotimes.com/Blockchain-project-Antshares-explains-reasons-for-choosing-dBFT-over-PoW-and-PoS-659275
Great walk-through I will save this article for others that are just coming onboard. Thank you.
Thanks @commstech, I recall having trouble understanding the basic principles of the common consensus mechanisms and I hope to provide some clarity on the matter. Cheers! :)
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Crypto.Hype from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, and someguy123. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
If you like what we're doing please upvote this comment so we can continue to build the community account that's supporting all members.
This is very very good content! Also saw other posts from you and i really like the way you right. Hope you have many upvotes.
Finally I understand Proof of Work VS Proof of Stake :)
Really appreciate your comment on this, Will make better content in the near future!
Congratulations @crypto.hype! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes received
Award for the number of comments received
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Wow. That was awesome. Laid out in simple terms