Guide: Proof of Work (PoW) vs Proof of Stake (PoS) vs Delegated Proof of Stake (DPoS)
Hi everyone. This article will cover and explain the differences between a few forms of cryptocurrency consensus, namely Proof of Work, Proof of Stake, and Delegated Proof of Stake. Cryptographic consensus schemes like these are at the heart of almost all decentralized cryptocurrencies from Bitcoin to Bitshares to even Steem.
This guide is made to be written in common crypto language—not too hard for someone who hasn't seen these concepts before, and easy to understand for those that are somewhat familiar with cryptocurrency. Let's dive in!
Proof of Work (PoW)
Proof of Work was created almost two decades ago in 1999, by Markus Jakobsson and Ari Juels. The main goal of PoW is to deter denial-of-service attacks (DDOS) by requiring (computational) work to be done before block submission. This means that, in order to mine a Bitcoin block, you have to spend/have computational power/energy.
Let's go over how Bitcoin uses Proof of Work for its mining purposes, but before that, let's define a few terms. Hashing means to take some value or string of characters and put it through a program that gives an entirely different string of characters, in a pseudo-random unpredictable way. Bitcoin uses the SHA-256 Algorithm, which is one of many hashing programs that can hash like that.
For example, the SHA-256 hash of the word "apple" is
3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b
yet the SHA-256 hash of "applf" (incrementing the 'e' to an 'f') is
75721aa556fe5e5c8dddd399a7ede960b73b619e96b0db1d7b7482ba3b74fd6f
.These strings look super different, and that's intended—there's no quick or easy way to go from the first to the second.
When Bitcoin miners mine blocks, they pick a number of transactions in the "mempool" (a list of the transaction requests they received from Bitcoin users, and put them together in a block. After setting the block up, they add a number to the end of the block, called a nonce. Then, they put the entire block with the nonce through the SHA-256 algorithm, giving them a random string like we saw above.
Bitcoin requires the string to start with a set number of zeroes, that changes based on the computational power of miners. Let's say that number is 20. When the miner hashes the block, the miner checks the hash to see if it starts with twenty zeroes. If it doesn't, he changes the nonce (the number at the end) and hashes again, and again, until it does start with twenty zeroes.
The first miner to get the nonce right and get the block hash to start with twenty zeroes (or the number of zeroes required) "wins," and can mine the block, giving them the block reward of over $50K and all of the transaction fees users paid in the block. You can see how mining the block took a lot of work— the miner had to keep on trying different nonces until they got the one right. This took a lot of processing power, computational energy, and more.
Another important goal of PoW is to protect against double spending. What prevents Bitcoin user Alice from getting her transaction "Alice sends 2 BTC to Bob" put in the blockchain again and again and again? PoW protects the Bitcoin network from DDOS attacks, because in order to mine a block you need a sufficient amount of processing power, and in order to monopolize Bitcoin mining, you need control of a majority of the computational power of all Bitcoin miners, which is infeasible and generally impossible. Thus, it's infeasible for Alice to have the computational power to "double spend" her money, and the network is well-protected.
Proof of Stake
Proof of Stake (PoS) is another consensus structure, like PoW, but instead of requiring work or computational power, it requires the miner to hold a large amount of the cryptocurrency. Let's say cryptocurrency "Stakeproofcoin (SPC)" relies on Proof of Stake, and that Bob owns 2% of all of the SPC in existence. This means that the probability of Bob mining a proof-of-stake block is 2%.
Proof of Stake aims to prevent attacks by having high requirements for such an attack (like PoW) and by lowering incentives dramatically. In order for Bob to attack SPC, he would need to own a majority (51%, let's say) of all SPC coins, which would require a lot of money in the first place. Also, his incentive to attack is very low, since if he does attack SPC he would suffer dramatically from his own attack (because he owns so many SPC).
Some people, like Ethereum supporters, think Proof of Stake is more efficient and fair compared to Proof of Work for reasons such as the above. Additionally, anyone could become a PoS miner technically given they had some amount of the coin, however getting into Bitcoin mining generally requires expensive hardware and commitment.
Delegated Proof of Stake
Delegated Proof of Stake (DPoS) is a newer consensus structure, and is actually behind many cryptocurrencies including Steem. It's somewhat similar to PoS but has different and more "democratic" features that some say make it more efficient and fair.
Users of a DPoS crypto vote for delegates/witnesses to serve on a panel of witnesses. Lots of variables within the network such as transaction sizes and fees are controlled by this witness panel. The witness panel also (deterministically) selects witnesses to "witness" or confirm blocks. Clearly, the network and users place a lot of trust in these elected witnesses to give them such powers, yet if they misbehave, they can easily be voted out of the "witness panel," so there is really no incentive for them to misbehave or upset their voters.
To add in the "proof of stake" part of DPoS, stakeholders have influence proportional to their stake in the system. DPoS is found to be more decentralized than other consensus systems because the threshold to enter is very low. Other alternatives generally "allow" anyone to enter, but most people are excluded from entering due to high costs/needs, and generally a few pools or large miners produce all blocks on those systems.
DPoS has been shown to help maintain decentralization, fend off regulatory interference, and has made cryptos like Steem into world players. This is also why you should take your witness votes on Steem very seriously; the people you vote for are possibly the ones who will be deciding/shaping the future of the network as well. Just like a democracy, the system will work better and be more decentralized/fair if more people participate and are informed.
In conclusion, these three consensus systems are at the heart of many cryptos and exist to keep cryptocurrencies decentralized, hard to attack, and secure.
Thanks for reading,
— @mooncryption
image sources: 1: Schneider Electric, 2: Shutterstock/LinkedIn, 3: IAgreeToSee.com
knowledge sources: Steemit FAQ, Bitshares.org
Great post. Enjoyed reading and learn more about POW POS DPOS. Thanks
Was just reading some articles being resteemed by resteembot and found yours. And i have to say, i am glad i did. Not because i don't know about POW, POS or DPOS (because I do), but i liked how well written your article is. I hope you get more rewards for this one. Will follow you and resteem this one for you as you deserve more readers to at least view this post. Shame i don't have more followers though to really help you. In any case, it seems you are into cryptos as well, so feel free to check out my posts as well. I am sure you will like them and i might deserve a follow back. Regardless, well done and keep up the good work!
Thank you so much for the resteem :)
I'm delighted to have found someone with the same passion for cryptos I have, and I have read many of your articles just now, including the one on China's influence on crypto and the one on Tether's viability, and I love your style of writing and have followed you. It takes quite some work to write these articles, as you definitely know, and it's amazing to get recognized for doing so.
I just resteemed your China crypto post to my followers, because I especially liked that one and I think you should get even more rewards! However, I have less than half the number of followers as you, so it might not make a big difference, but hopefully I helped. Thanks!
great stuff mate, thanks a lot. yes tons of work and prep. If it doesn't pay off in terms of money earned, I certainly learned a lot from doing the research any way. Cheers and speak very soon again ;)
Resteemed to over 4000 followers and 100% upvoted. Thank you for using my service!
Read here how the new bot from Berlin works.
@resteem.bot
This post has been ranked within the top 25 most undervalued posts in the first half of Sep 10. We estimate that this post is undervalued by $60.91 as compared to a scenario in which every voter had an equal say.
See the full rankings and details in The Daily Tribune: Sep 10 - Part I. You can also read about some of our methodology, data analysis and technical details in our initial post.
If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by bob-kremton from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. 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.
Congratulations @mooncryption! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes 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
btw 347 upvotes? wow where did these all come from? Shame they dont have any SP!
This post recieved an upvote from minnowpond. If you would like to recieve upvotes from minnowpond on all your posts, simply FOLLOW @minnowpond
Congratulations @mooncryption!
Your post was mentioned in the hit parade in the following category:
This post was resteemed by @resteembot!
Good Luck!
Learn more about the @resteembot project in the introduction post.
Also - check out @reblogger, by reading this post.
Check out the other content resteemed by @resteembot.
Some of it is really cool!