In the myriad of existing and emerging blockchains, where each of them
achieve consensus in some way, it may seem too laborious and uninteresting to investigate the way consensus is actually achieved.
Furthermore, we almost take for granted that the consensus is reached in a completely decentralized fashion.
The reason being that the aspect of decentralization and its corresponding absence of a centralized authority, is arguably the biggest strength of a blockchain.
However, in terms of security people are usually more concerned.
After all, no one would like to utilize a blockchain, be it exchange of value through cryptocurrencies, smart contracts or non fungible tokens, if they can not be sure that it is happening in a secure manner.
The same level of concern is also prominent in terms of the time it takes to complete transactions, the faster the better.
This property of speed, should also be present regardless of numerous
other transactions happening simultaneously.
In other words – it should be scalable so that one can take part in a global network without limitations.
These three properties, namely decentralization, security and scalability,
are the ones forming the Blockchain Trilemma.
This trilemma was coined by Vitalik Buterin and states that a blockchain can freely choose at maximum two of the three properties, but one can not have all properties in a blockchain at once.
Thus, one pair of these properties is mutually exclusive from the remaining property.
Despite this, Algorand have built a blockchain that delivers all three properties at once.
The goal of this article is to explain what Algorand is and how it has shown that this trilemma does not hold.
What The Blockchain Trilemma actually is:
Before we dive into Algorand and how it disproves the trilemma, it is beneficial to get a basic understanding of why we have the trilemma in the first
place.
The blockchain trilemma refers to the problem that a blockchain can not achieve decentralization, scalability and security all at the same time. Only two of the properties can be present, always at the expense of the third.
Let’s look at the different consensus mechanisms, and how they hold up against the trilemma:
Can PoW solve the blockchain trilemma?
The Proof of Work (PoW) consensus algorithm is probably the most famous
consensus algorithm as it is the one used in Bitcoin.
In the famous paper by Satoshi Nakamoto, where this mechanism of achieving consensus was first introduced, the author could not have accounted for the level of recognition and global adoption this consensus algorithm has achieved.
Over time, as the size of the Bitcoin network has grown, it has become increasingly obvious that PoW, does not scale well.
The reason is two-sided:
Firstly, in order for the miners in PoW to create the next block, they need to solve a cryptographically hard puzzle that requires a lot of computational power.
Secondly, the block size limit, that is the fixed size of data each block can
contain. As this size is limited, only a set of recorded transactions fit in each
block. It is also worth noting that this block size is not in any way shape or
form proportional to the immense growth of Bitcoin, it remains unchanged.
This costly puzzle combined with the fixed block size essentially bottlenecks the scalability and effectively creates a threshold at 7 transactions per second (TPS), consequently leading to a transaction finality ranging from 10
minutes and upwards.
The absence of native scalability, that is scalability at layer 1, is arguably
the biggest drawback of PoW.
However, this flaw is handled fairly well at layer 2, outside the consensus algorithm itself.
I’ll use a relatable real-world scenario to simplify how it works:
Imagine sitting at a bar ordering a few drinks throughout the night. You would not pay for each drink individually, would you?
If you are a sane person you would not, instead you would add up all the drinks and pay when you leave the bar.
That is exactly what is happening in layer 2 as well.
Layer two solutions increases scaling, because instead of adding every single transaction individually (like in layer 1), the transactions are essentially being summed and one final transaction is added to the blockchain which takes the intermediary ones into account.
In terms of decentralization and security, the PoW holds up fairly well, but there are some caveats:
When looking at the decentralization property, PoW seems entirely decentralized on the surface as anyone can participate in the cryptographic puzzles.
However, as this requires a lot of computational power and ideally special purpose hardware, only a subset of the participants with the sufficient resources end up creating the new blocks.
Ideally, there should be as many participants with a say in the consensus of validation of transactions as possible, but it’s rarely the case.
This problem is present for Bitcoin, as only a few of the participants control the majority of the network:
This is also correlated to the main security concern of the PoW consensus
algorithm, the so-called 51% attack:
A 51% attack refers to the problem that if an adversarial at any point in time is able to acquire 51% of the total mining power (hash rate), they have the ability to create malicious transactions regardless of the consensus result of the remaining 49%.
Even though this is a very expensive effort it is theoretically possible.
When all is said and done, the PoW consensus algorithm fits into the trilemma mainly due to scalability issues, but also because of decentralization concerns.
Can PoS solve the blockchain trilemma?
Proof of stake (PoS) is the most widespread solution apart from PoW. Ethereum for instance is shifting from proof of work to a PoS consensus algorithm.
In PoS there is no race to solve a cryptographically intensive puzzle in order to validate the next block. Instead, a certain set of nodes in the network are chosen to validate new blocks, these nodes are called validators.
These validators deposit a certain amount of tokens/coins into the network
as stake, similar to a security deposit.
By staking these tokens the validators become eligible for validation of new blocks.
Additionally, the more a validator stakes, the more likely it is to be chosen to validate the next block.
By validating a block, a transaction fee is given to the validator as a reward.
To prevent validation of fraudulent transactions and generally push cryptoeconomic incentives, a significant amount of the stake is lost if misbehaving is detected.
This associated risk strengthens the financial incentive to act legitimately.
Despite this, the chance of a 51% attack is still prevalent, but it is incredibly risky to conduct:
51% attacks on a PoS consensus mechanism is not likely. A lot of capital is required to acquire the necessary supply, and an adversarial with 51% of the supply at stake would supposedly not have it in his best interest to attack the network and potentially lose his stake and devalue the coin at the same time.
As there is no need for special purpose hardware to compete in puzzle races, the entry-barrier is by default lower and thus making it more decentralized compared to PoW.
However, as the chances of validating the next block is greater, the higher the validator’s stake is, the ones actually performing the consensus will over time converge to a set of validators with much at stake.
Various mechanisms have been introduced to hinder this, the most commonly
used ones are randomized block selection and coin selection age.
In terms of scalability, proof of stake still suffers like proof of work does, but innovate layer 1 proposes exist. The new scalability advancement in Ethereum called sharding is one of them:
Sharding splits the blockchain into smaller partitions where each partition is subsequently validated by a smaller amount of validator nodes. This concept was introduced with the move from PoW to PoS and should supposedly be able to support upwards of 100K TPS according to Vitalik Buterin.
However, this has not been proved and it also introduces an entirely new set of security concerns:
An example being the fact that an adversarial only needs to control 1/3 of the validator pool to have a chance at compromising the network.
Delegated proof of stake (DPoS), is another method to tackle the scalability problem:
DPoS achieves improved scaling by delegating a fixed set of nodes the privilege of validating the next block. As a smaller number of nodes are needed to reach consensus, it makes each node eligible of validating a larger amount of blocks, hence increasing the number of transactions per second.
Since this mechanism is centralized by design, as one only relies on a fixed set of nodes the trilemma still holds true.
How Algorand Solves The Blockchain Trilemma
Having debunked how the most wide-spread consensus algorithms fits the
trilemma, it is time to break down how Algorand claims to have solved it.
Algorand’s logic is simple:
It ties the security of the whole economy to the honesty of the majority of the economy, and makes it impossible for a small subset of the economy to control the fate of the whole economy
Silvio Micali, founder of Algorand
The solution is based on their pure proof of stake (PPoS) algorithm.
PPoS does not require participants of the network to lock up funds as an obligation to receive rewards.
The only requirement for consensus participation, is to be in possession of minimum one token, called ALGO, but how does it actually work under the hood?
How Algorand reaches Consensus:
It can be boiled down to two phases:
• In phase one, a single token is selected randomly and its owner is selected to propose the next block.
• In the second phase, 1000 tokens are randomly chosen to form a committee which validates and approve the the block proposed by the single token from the first phase.
Because it is the tokens that are randomly selected and not owners, there is
a possibility for some token holders to be chosen n > 1 times, and have n
votes in this committee.
Thus, generating the possibility of one token holder to be chosen multiple times.
How can this be secure?
Algorand explains this with a somewhat philosophical premise:
In any society, there will always exist a percentage of malicious actors, but
they will never be in majority.
Assume 10% of the tokens are in hands of bad actors, then one in ten times the block proposal will be conducted by an adversarial.
The second phase then eliminates this problem by the sticking to the premise.
As long as the majority of the participants are in safe hands, the probability that the majority of the committee consists of dishonest actors becomes negligible.
Another question is yet to be answered:
Who is randomly choosing this committee to validate the next block?
In short, the committee members chooses themselves!
How can this possibly make sense, as this would obviously lead to bad actors selecting themselves to every committee?
To actually get a seat in the committee, one of the tokens one possess must win an individual lottery that is cryptographically fair.
The lottery runs in isolation independent of other token holders and only takes one microsecond to complete.
As it is cryptographically fair, no one can increase their winning chances.
There are two possible outcomes of the lottery:
• None of the tokens get a winning ticket from the lottery. If so, their
opinion of the next block is ignored.
• n > 1 tokens end up winning the lottery.
The winning ticket contains the cryptographic proof that shows that the token holder has n votes in the committee.
This ticket is then propagated over the network together with its opinion of the next block.
Having explained how the consensus algorithm works, let us revisit the three
properties of the Blockchain trilemma in order to examine how Algorand
claims to preserve all three simultaneously.
The Decentralization of Algorand:
Due to the lottery being cryptographically fair and computationally cheap, every token has the same chances of winning a spot in the committee for every new block proposal.
This combined with the fact that there is no reocurring central committee, consensus is reached in a decentralized fashion.
The Scalability of Algorand:
Firstly, it only takes one microsecond to run the lottery.
Secondly, all the lotteries are ran independently and there is no propagation delay to announce the result.
Lastly, the committee size is fixed and only the winners announce
their membership, thus scalability does not get affected by the number of
token holders.
When it comes to transactions per second (TPS), Algorand will reach 40 000 in 2021, putting them right up there with the fastest chains in the industry, and way beyond what the most popular ones can do:
The Security of Algorand:
Suppose that a powerful adversarial, like a nation state with lots of computational power, wants to influence the next block proposal.
There is only one problem, they are unable to determine who the committee members are regardless of their computational resources.
This is because the members of the committee elect themselves and their opinion of the next block, after winning lottery that is being ran isolated from the rest of the network.
In other words:
Only the winners now who they are, until their opinion is propagated to the rest of the network, once this opinion is propagated it is too late to corrupt them.
Conclusion:
Algorand solves the blockchain trilemma due to its unique consus mechanism pure proof of stake (PPoS). PPoS, through it’s cryptographically fair, and cheap, lottery, enables the Algorand blockchain to be secure and scalable, while at the same time being decentralized, thus solving the blockchain trilemma.