In the United States, if we want to make a new law, we first have to propose that law. New laws are proposed all the time, and this process is easy. However, the next step is to have that law voted on. If that law gets enough votes, the proposed law becomes legal, and now we can say everyone has agreed that the law is the law. Everyone agreeing to this law is kinda what makes it a law, but in the world of cryptocurrency, getting everyone to agree is a difficult task. It’s even harder when those you’re voting with are anonymous and you are forced to trust them. So how do we come to an agreement?
What is a Consensus Model?
If we break down the phrase “consensus model” we get consensus and model. The consensus part means to have a bunch of people agree, and the model is a routine procedure to get there. So a consensus model is a fancy way of saying “This is the procedure we are going to use to make sure everyone agrees on something”.
In the case of cryptocurrencies, what are they agreeing on? Technically, they are agreeing on the blockchain, more specifically the state of that blockchain, including individual transactions and even on more advanced blockchains, other stuff like data and smart contracts. Since blockchains are new, there are only 2 consensus models that have been tested at scale to be successful, including research and investments into them.
So, let’s get started.
1) Proof of Work
We have to start with the consensus model that bitcoin uses. Proof of Work. Bitcoin came up with this idea to use a computer to prove that they put in the work and that since they put in the work, you can be reasonably assured that the transactions they were working on are valid. We actually have an entire video on proof of work that explains the technicals of how it works, including the “blockchain puzzle” they are actually solving, but the idea is that you are putting in work. The more work you put in, you increase your chances of winning the block reward, which is the reward that the blockchain gives you for mining. There are 2 keys here:
- If you want to participate, you can join the network with any computer, but the more computers you have, or the more powerful computers you have, the more likely you will win
- If you want to attack the blockchain and give yourself free tokens, you would need 51% of all the computing power. Since networks like Bitcoin and Ethereum are huge, this means literally billions, if not trillions of dollars just to take over the network. This is why proof of work actually works so well – it’s really hard for someone to have 51% of the network computing power.
2) Proof of Stake
Proof of stake is a little different than proof of work, but a fairly similar concept. We commonly use the example of a race on this channel to differentiate proof of work and proof of stake. In proof of work, you set up a race, have a bunch of people line up, and when the race starts, everyone starts running. Whoever wins the race, wins the entire reward, and everyone else basically ran for nothing. Why would they run? Well proof of work is a luck game, so there is a very small chance they could win, and if they do win, they win big.
With proof of stake, instead of having everyone race, we actually pick one runner. This way we aren’t wasting a bunch of electricity on people mining who don’t end up winning – we spend just a little bit of electricity to validate the blockchain. What about the stake though? Well, to become a “runner”, you have to put up a stake – a predetermined amount of coins that you have to lock up. By locking them up, you are allowing the network to select you. Why do you need to lock them up? If you do something bad, like say that everyone gave you a bunch of their tokens (when they didn’t), then other people can check your work and prove you were wrong and those tokens you locked up will be taken away. So people are incentivized to not lie and make sure the blockchain stays trustworthy and valid.
These two methods are the most common, and we briefly went over them for the sake of this summary video, if you want to learn more specifically about how they work, like what is the proof-of-work math, or how do you pick the proof-of-stake validator… check out our specific videos on those.
3) Delegated Proof of Stake
Delegated proof of stake is very similar to proof of stake, except the delegation means instead of anyone becoming a validator, they can also use their coins to “vote” for someone else to be a delegator. I didn’t explain it earlier, but if you wanted to be a proof-of-stake “miner”, which is actually called a “validator”… you need a good computer with a reliable internet connection. If you don’t have access to these, you can lock up your coins and vote on someone else who does. This way you can still earn staking rewards, without having to set up a validator node (aka computer). The purpose of this was to allow easy democracy on the blockchain – delegators can trust that someone else will vote on their behalf. In most cases, the total number of true validators is under 100 and usually run by trustable sources like Binance or a blockchain organization.
4) Proof of Space and Time
Proof of space and time, also sometimes called proof of capacity, is a consensu method that uses digital storage space as the requirement to participate in the network. In short, these models set up a way to put information on a hard drive, and then in the future will randomly check to make sure that information is still there.
We actually created a video on Chia, which uses this mechanism – it stores completely useless data on the storage devices, but it does work. An alternative to storing useless data is actually storing useful data. Filecoin, along with a few others like Sia and the Bittorrent Coin actually store useful data, where people pay using the native coin to store their encrypted information across the network across the world.
People who store the encrypted data are paid in the native coin for storing it. Of course, you can put redundancies and add encryption to turn this Proof of Capacity into a very valuable blockchain tool.
5) Proof of Weight
Algorand is probably the most well-known blockchain that uses proof of weight. Thinking back the proof of stake, the more you stake, the more likely you are to be selected and then win the next block.
In proof of weight, some other weighted value is used. It could be how many coins a user has in their wallet, how long they have held them, how much data they are storing, it could be a unique value like “reputation”, the possibilities are endless, and in fact some people say “proof of weight” is a category that other consensus models are categorized under.
6) Proof of Authority
Proof of Authority, or Proof of Reputation, is a modified form of proof of stake. Instead of allowing everyone to become a validator, we only select a few nodes that we trust. These nodes aren’t usually anonymous, meaning we know who they are. This method is more centralized, but can process transactions much quicker – which brings up the idea of the scalability trilemma. If you don’t know what that is – definitely check out our video on Sharding, where we explain the trilemma in depth.
7) Practical Byzantine Fault Tolerance
Practical Byzantine Fault Tolerance is the next consensus model. Now we are getting into the less well-known models and also the ones that use crazy math or economic terms. Hyperledger and Zilica use this model and the idea is this one is quite complicated to explain, but nodes on the network combine both the data they already have with new transaction data to make a decision on whether or not to add it.
Then they share this decision and come up with a final decision to add it or not. The benefits of this is super fast speeds and the ability to process lots of data, although there is more trust required for each node, because there are less nodes, meaning a factor of centralization.
8) Unique Node List
Unique Node List seems more centralized to us. Basically you make a list of a bunch of nodes that you probably trust. Then you start feeding them transactions and asking them to sign valid ones.
They don’t have to do any work or stake anything, just look at it and sign it if it seems good. Well, if you get a transaction that doesn’t get very many signatures, you can assume it’s probably fraudulent and throw it out.
Ripple uses UNL, and if you want to learn more, I highly recommend watching this video on YT titled “22. Alternative Consensus Mechanisms” by MIT OpenCourseWare, very interesting if you have an hour.
9) Direct Acyclic Graph
Iota is a coin that uses Direct Acyclic Graph, Nano uses it as well. Though they call it different words like “The Tangle” and a “Block Lattice”. Don’t be afraid of these crazy words, we are here to save the day. In fact, DAG isn’t even for blockchains, it’s an alternative way to reach a consensus without using a blockchain. It’s often talked about in consensus models though.
Think of it like a database that connects different pieces of information together. They are made up of vertices and edges, and are quite complicated, but you just need to know the acyclic part is that the vertices never loop back to themselves. This is a bunch of words and what we are trying to say is that DAG is quite complicated, not used very often, but does work.
That summarizes the most popularly used consensus models for cryptocurrency blockchains!