May 14, 2021
Blockchain is a revolutionary technology. Its impact can be compared to that of the Internet itself. However, even such a transformative technology doesn’t come without its challenges.
One of the main challenges during the blockchain’s first decade was to solve the so-called “blockchain trilemma” in which the three key objectives – security, scalability, and decentralization – couldn’t be fully achieved without sacrificing at least one of them.
Algorand has managed to find an approach that solves the blockchain trilemma without any compromise. The solution was invented by MIT Professor and Algorand founder Silvio Micali, who has tremendous experience in cryptography and computer science.
Micali has recently made an appearance on Lex Fridman’s popular podcast, sharing his expert opinion on the blockchain trilemma and how Algorand solves it.
One of the main challenges of Bitcoin has been scalability. Bitcoin transactions still need some time to get confirmed and finalized. This slow process cannot be tolerated by a society in which time is the most valuable asset.
Ethereum came as an alternative to bring more scalability, but it compromises decentralization, as wealthy node operators have more power over the network.
The same is true about Bitcoin. The Algorand founder explained how Bitcoin started as a decentralized network but then had become more centralized due to the high mining competition, which requires higher costs for the mining process.
So how does one achieve scalability without touching the security and decentralization of a blockchain?
Speaking about scalability, Micali said that it needs to address global demand for fast transactions, which need to have a high speed for adding new data, sharing it within the network, and verifying its validity.
“The world is big, people want to interact with each other, and you better be prepared to have a ledger where you can write lots of transactions in this special way very very quickly,” he said.
Micali estimated that the world needs ledgers to be capable of processing at least 1,000 transactions per second (tps) at this point. Ideally, they would compare with credit cards, whose throughput is about 16,000 tps on average and can reach 40,000 tps. However, unlike credit cards, which are operated by centralized entities, the goal of a blockchain is to make sure that the transaction is not only processed but also shared, visible, and verifiable.
One of the most scalable blockchain solutions is the Delegated Proof of Stake (DPoS), in which a select group of validators is handling the addition of new blocks. This is a more democratic approach than a centralized institution, but it’s still not enough. “One is centralized, 21 is also centralized,” Micali noted.
So how does Algorand achieve scalability while maintaining decentralization?
The focus is on validators, who are tasked with adding the new transactions (new blocks). The main goal of a blockchain should be to commission validators in a way that preserves decentralization and allows scalability.
Algorand does this by selecting validators randomly from all token holders. The network relies on an algorithm that automatically picks the next group of nodes that become eligible to add blocks. This approach maintains decentralization since everyone can be selected by the system. The fact that no one knows who the next validators will be ensures security, which is another important element in the trilemma.
Randomness is a powerful tool to achieve decentralization and prevent the network from a potential "51% attack".
The only way to damage the Algorand network is to achieve a self-destructive majority of token holders, which is impossible in practice, as no one is interested in losing value.
The only question is who or what system we trust to ensure the random selection? This is the most important aspect of Algorand, as it solves the trilemma by employing a novel Pure Proof of Stake (PPoS) consensus algorithm. Micali explained how the system works:
“In Algorand, we do something a bit unorthodox – essentially, the token holders choose themselves at random. If you think about it, that seems to be a terrible idea […] because if I’m a bad person, I’m going to select myself over and over again because I want to be part of the committee every single time.”
But not so fast – what Micali means is that every token holder is executing his individual lottery, which is like pulling a slot machine level only once – so either you win a ticket or don’t get any ticket.
If you win a ticket, you are one of the 1,000 token holders that can add the next block in Algorand and ensure that transactions are accurate. Micali explained that it is a cryptographic lottery.
“Even if I am an entire nation, extremely powerful, with incredible computing power, I don’t have the ability to improve even minimally my probability of one of my tokens winning the lottery,” he said.
Thus, everybody pulls the level, but only 1,000 winners are able to validate the next blocks. The system is scalable because the lottery happens in one microsecond.