Algorand is a new cryptocurrency and consensus protocol. Its two core technologies are the binary Byzantine Agreement and cryptographic sortition. Algorand’s main difference from other proof-of-stake systems is the absence of economic incentives for network participants, hence the viability of Algorand is currently a subject to wide debate in the community
Algorand is a proof-of-stake system that, not unlike many other alternative consensus protocols, seeks to address issues that blockchains face today. The Algorand whitepaper highlights three major technical problems with Bitcoin:
- computational waste,
- concentration of power, and
Computational waste is a term that the creators of Algorand use to refer to Bitcoin’s proof-of-work approach to block generation. The whitepaper suggests the world’s 500 most powerful supercomputers would comprise only 12.8% of the total computing power of the Bitcoin network.
Concentration of power is a property that describes the current situation of Bitcoin where the majority of computing power resides with a relatively small portion of users — the miners in the five biggest mining pools. This leaves the integrity of the Bitcoin network up to their honesty which is not something a robust decentralized system can tolerate.
Ambiguity refers to Bitcoin’s lack of finality in transaction settlement. As such, a transaction is only considered confirmed when the block in which it was included is deep enough. As of today, Bitcoin users are advised to wait until their transaction is at least six blocks deep which on average takes about an hour.
What is Algorand?
Algorand seeks to address the above limitations by providing an alternative consensus model for distributed public ledgers that is better fit for wide adoption and sustainability.
Algorand is a Proof-of-stake consensus protocol and cryptocurrency that relies on a novel form of Byzantine Agreement and a special randomized selection procedure called cryptographic sortition. The main figure behind the Algorand development is Silvio Micali, a co-inventor of zero-knowledge proofs and recipient of the A. M. Turing Award equivalent to the Nobel Prize in Computer Science.
Algorand generates a new block via a new cryptographic, message-passing, binary Byzantine Agreement protocol (BA*). Along with many other improvements, BA* is very fast and allows for a rapid message propagation with the assumption that 2/3 of the network participants are honest. The Algorand whitepaper stresses that BA* satisfies the original definition of Byzantine Agreement of Pease, Shostak and Lamport without any weakenings.
The Algorand team believes that a truly decentralized blockchain system is one where each block is generated by a committee randomly chosen from the set of all users. A unique innovation introduced by Algorand to solve this problem is secret self-selection. At a high level, each user plays their own fair cryptographic lottery called Verifiable Random Function, at the end of which they are the only one to know whether they are a member of the committee. In the latter case, they also have a winning ticket, a digital and unforgeable proof that they are indeed the member of the committee. Anyone can immediately verify a user’s winning ticket to confirm that they are indeed a member of the committee.
How it all works?
In Algorand, every user who holds tokens participates in the consensus. There are three roles that these users fulfill in order to establish the single true history of transactions:
- block proposers, users that collect pending transactions, construct blocks which are then propagated through the network;
- verifiers, users that receive proposed blocks and make sure included transactions are valid and no double-spend attempts were made;
- observers, users that observe messages sent around the network to know which blocks are agreed upon.
The assignment of these roles is done through cryptographic sortition, a special procedure that ensures that all participants of the consensus are chosen randomly. Cryptographic sortition assigns roles based on the amount of tokens users have. So the more tokens you have, the better are your chances of being selected. The secret self-selection process includes every user performing a small computation using their private keys called Verifiable Random Function. After the procedure everyone knows which role they will be fulfilling for the next block round.
Each round there are 26 block proposers. When 26 proposers are chosen, in order to minimize unnecessary block transmissions, each proposer is also given a priority rank such that the highest ranked proposer becomes the leader of all chosen block proposers. When verifiers receive proposed blocks, they only have to store and record blocks they have received from the highest ranked proposers.
After the first step of block creation, i.e. when the highest ranked block is fully broadcast through the network, a committee of randomly selected verifiers vote on the hash of the proposed block, which concludes the second step.
The third step includes the creation of a new committee who vote either on the hash of the proposed block or on that of an empty block. The final step forms yet another committee that finalizes the consensus again by voting on either the proposed block or an empty one.
A prototype for Algorand was implemented in C++ with roughly 5,000 lines of code using 1,000 Amazon EC2 virtual machines.
The prototype demonstrated:
- 1MB block transactions within ~22 seconds for up to 50,000 users;
- scaling up to 500,000 users with near consistent latency;
- vastly improved transaction throughput of up to 10 MB block sizes equating to ~750 MB of transactions processed per hour, which is 125x greater than Bitcoin’s 6 MB of transactions per hour;
- safety of the network and minimal negative impact when 20% of users in Algorand are malicious.
Algorand is a highly ambitious project that promises an innovative proof-of-stake model. However, many doubt Algorand’s ability to compete with other cryptocurrencies, as it offers no apparent economic incentives for participants. For instance, when talking about the core design principles for Ethereum’s proof-of-stake consensus Casper, its co-founder Vitalik Buterin says,
Another concern raised by blockchain developers is Algorand’s bold assumption that 2/3 of the network are honest whereas proof-of-work consensus mechanisms are more resistant to Sybil attacks, such that they can withstand an attack with up to half of dishonest nodes.
Currently Algorand is still under development and only available on the testnet.