Cat McGee
Blockchain's biggest technical challenge
The trade-offs between security, scalability, and decentralization. And does Proof of Stake really solve it?
·Nov 5, 2021·
Featured on Hashnode
Blockchain is awesome. The perfect immutable peer-to-peer network leading the way into web3. But, as with any technological breakthrough, it has its issues. There is one big problem with blockchain, often called the 'trilemma.' According to my spell-check, trilemma isn't a word, but it's used to describe the three pillars of blockchain that are difficult to coexist. Through maximizing one, you minimize another.
The three pillars are:
From a blockchain viewpoint, scalability is defined as the number of transactions that can be completed in a certain amount of time. There is one main factor that impacts scalability: block size.
The block size describes how many transactions can be stored in a single block. Every node has to be updated about every new block, which takes time. Storing lots of transactions in a block can speed up this time, therefore increasing scalability, but... here comes the trilemma. The larger the block is, the longer it takes to go through the network and be validated by the nodes. As it travels more slowly, the miners closer to the edge of the network are able to start working on validating it first. This impacts decentralization, as it is more likely for the miners who start the calculation first will be the ones who validate the block.
Security is really at the base of anything to do with blockchain, especially considering its most prominent use case is finance. It isn't really something that can just be traded off for something else, but it often is.
Improving security can be accomplished through many means: one is decreasing block size so a smaller set of transactions is validated, meaning that if something goes wrong it only affects a small block. But, uh oh, we've already talked about how this will negatively impact scalability.
This is the entire point of blockchain, but again it's a trade-off. We know how increasing scalability can decrease decentralization.
Thankfully, decentralization and security go pretty much hand-in-hand. Decreasing how many transactions are in a block increases security and also how many nodes successfully mine a block, which increases decentralization.
Proof of Stake - solution?
Most people will agree that proof of stake solves this trilemma, and as Ethereum is moving over to PoS, it's maybe why you haven't heard much about the trilemma in recent months.
Currently, Bitcoin and Ethereum use a consensus algorithm called Proof of Work. PoW means that miners compete to validate a block by solving complex problems. The first miner to successfully find the solution is rewarded with cryptocurrency. Proof of Stake differs slightly, with a 'random' person who holds the cryptocurrency as a stake is chosen to validate the block. I put random in inverted commas, because the larger stake you have the better chance you have of being chosen. This is important.
PoS is much cheaper and easier to scale, because users won't have to compete over miners so costs drastically decrease. However, does this come at a cost to decentralization and security?
In my opinion - yes.
The users who have the highest stake are much more likely to get to get chosen to validate and add a block to the ledger. Sure, this is the same as PoW, when miners with the biggest computers are more likely to add a block. However, it's slightly different in that the users with the highest stake are rewarded with more stake, further increasing the likelihood of them being chosen to validate future blocks. We haven't seen PoS play out yet, with the biggest PoS blockchain (Cardano) only being around for 4 years. But from my perspective it could very easily turn into a 'the richer get richer' scenario.
Oh, and less than 2% of the wallets on Cardano own over 70% of the total supply of ADA.
The nothing at stake problem
Something called 'forks' happen in blockchain systems quite often - this can be through malicious action, but most of the time it's just when two honest miners propose blocks simultaneously. If the nodes can't decide which block to add, it results in the chain forking, and two chains are created.
This is temporary because one of the forks eventually gets 'orphaned' (aka it dies out) when the majority of the nodes choose the other chain to add blocks onto.
However, theoretically this only works in a PoW system. Because it costs miners significant power (and therefore money) to add blocks to the chain, they are incentivized to choose a chain. Adding to both chains just doesn't happen, because eventually one will die, and miners won't get the rewards for it.
If this happens in a PoS system however, there is no power used to mine chains, i.e. there is nothing at stake. There is no incentive not to mine both chains. The argument is that you will lose your stake if you act maliciously, but that's the point in this temporary forks - they are not always malicious. How can you tell when a node is acting maliciously or honestly?
Here's where the trilemma comes in once again - it's possible to decrease the possibility of a temporary fork occurring by decreasing block time, meaning that there is a larger time between blocks being created. This makes it unlikely for two blocks to be mined simultaneously. On a PoW blockchain, this can be achieved by changing the difficulty of the calculation that miners have to solve. This isn't possible for PoS, but one way to achieve this is by increasing the amount of stake required so that fewer nodes can actually approve the block, but of course that messes with decentralization. And scalability.
The 'nothing at stake' problem is probably the biggest issue with Proof of Stake, but to date there have not mean any circumstances of this actually happening on a PoS blockchain.
51% attack
A 51% attack occurs when one group controls over 50% of the validating ability. They then control the entire network and can reverse or halt further transactions. Both PoW and PoS blockchains are susceptible to 51% attacks, and it's unknown which one really has more incentive for this kind of attack.
A PoW blockchain would require one group to own over 50% of the mining hash rate, whereas a PoS blockchain only requires one group to own over 50% of the cryptocurrency. For younger cryptos that are cheap, this can be a relatively easy feat. However, it has never happened in a PoS blockchain (nor in Bitcoin, an arguably secure PoW blockchain) and there are many arguments that say PoS actually removes the incentive for one. Buying up all the coins would exponentially increase their price, meaning the cost of the attack gets significantly more expensive. We don't really know yet if this is more or less likely with PoS, and the best way to stop this from happening is increasing security. But as we already talked about, increasing security decreases scalability.
As you can see, the trilemma is far from dead. It's important to understand these issues and I hope we can collectively stop exclaiming "but PoS solves this!" when anyone brings up a problem with blockchain. Look into other chains with other consensus algorithms - we don't have to rely on Ethereum to solve this. As I always say, the future is multichain.