On April 16, Algorand announced the launch of its first public testnet. Algorand is a much anticipated blockchain whose main architect is MIT professor and Turing Award winner, co-creator of zero-knowledge proofs Silvio Micali. The well-funded project whose latest fundraising round last October delivered $62 million promises to deliver an innovative blockchain that will overcome the perceived weaknesses of the existing solutions such as low scalability and failure to achieve genuine decentralization. Its objectives are both to reshape the world of finance and to serve as a smart contract platform, thus making it a potential competitor to both Bitcoin and Ethereum.
In this article, we will consider the core innovation put forward by Algorand, its consensus mechanism. The second article will deal with the potential weaknesses of the project.
Claimed limitations of existing consensus models
Algorand’s core value proposition seems to be about its approach to blockchain consensus, or the procedure through which the nodes that are responsible for adding new blocks to the chain come to agreement over the content of each new block.
According to its founder, all of the existing blockchains, as well as those under development, are based, in one way or another, on the idea that at each time there is a relatively fixed group of nodes that are responsible for validating new transactions and adding blocks (although this assertion seems to be problematic in the case of Hedera Hashgraph).
In proof-of-work blockchains like Bitcoin, Litecoin and Ethereum, we are talking about miners, in delegated proof-of-stake (PoS) blockchains like EOS, Tron, Tezos and Dash users delegate validating powers to a selected group of nodes. Even in the ongoing bonded proof-of-stake projects (Ethereum’s Serenity, Polkadot, RChain), not everyone will be eligible to serve as a validator, since there will be a minimum stake requirement.
From Micali’s standpoint, the limited validator set approach is doomed to failure. Even if we assumed that it is possible to use incentives to make the necessary majority of validators behave as they should, they are still vulnerable to targeted attacks (like DDoS attacks) that could ground the blockchain to a halt.
In contrast to the existing setups, Algorand disposes of special validating nodes from the start in what is dubbed as “pure PoS”. Every Algorand’s native token holder (regardless of whether her tokens are currently spendable, locked in a smart contract and so on) can confirm new blocks or must at least delegate this power to another node (which will reduce its rewards). Algorand also openly embraces the idea that misbehavior should be made impossible rather than discouraged through carefully designed incentives. Thus, there are no rewards (whether programmatic or through transaction fees) distributed to the consensus participants. The merits of the incentiveless approach will be discussed in the last article in this series.
The consensus procedure unfolds in two phases. In phase 1, a single Algorand native token is randomly selected, and its owner’s public address is broadcast to the whole network. This address then proposes a new block to the network. The second step is to randomly select 1000 validators who vote on the block. Once they do that, the block is added to the ledger, and the process starts again. The probability of selection depends on the number of tokens at each tokenholder’s disposal. The only requirement for participation appears to be that a tokenholder be active, meaning that a tokenholder should at each consensus round verify its status (validator, proposer or neither).
The selection of the 1000 validators happens through each of them running a cryptographically fair lottery based on the technical innovation called Verifiable Random Function, co-invented by Micali. Once they are selected they notify the network of this fact and vote on the block simultaneously. This process, according to Algorand developers, allows to achieve Byzantine Fault Tolerant consenus, a pre-Bitcoin type of distributed consensus (also used, among others, by Cosmos, Binance Chain and Hedera Hashgraph) that is robust to there being up one-third of participants being malicious.
Potential Benefits of Algorand’s approach to consensus
In addition to getting rid of special nodes, Algorand’s approach to consensus promises securing five the following essential properties: liveness, certain finality, genuine decentralization, the fastest physically achievable block propagation, security and scalability.
Liveness is an important consensus property that means that incoming transactions sent to the network will be approved within a reasonable time frame. In other words, it should be extremely unlikely that a blockchain gets stuck. In Algorand, this seems to be primarily achieved through there being no passing of the proposed blocks back and forth among the validators.
Finality is a consensus property that ensures that transactions added to the ledger cannot be reverted or at least that the probability of such a reversal is extremely low. Certain finality is possible for Algorand because there is essentially no possibility for validators to propose alternative chains eligible for selection on the basis of their length or another criterion. A block is proposed to all validators at the same time and then these validators accept it, than another one is proposed on top of it, and so on, there is no way for the initial validator to get back to some previous block and add her block on top of it instead of the latest one.
The truly decentralized nature of the network is assured because, as mentioned above, there is no set of privileged nodes that can uniquely participate in proposing and validating blocks. However, the fact that nodes in Algorand are not incentivized to participate in consensus may actually undermine this guarantee, as we shall see in the third article of this series.
It is perhaps also impossible to propagate blocks at higher speed than Algorand would allow because the 1000 validators confirm the block in the same messages that they send in order to confirm that they won the lottery. Hence, blocks are, in theory, added to the chain at the physical speed of propagation.
As for the protocol’s security, it again comes from the fact that once randomly selected, validators simultaneously broadcast both the message that they won the lottery and their votes. This means that, first, random selection makes it almost impossible to select too many dishonest validators. And once the validator group is formed, there is no point at attempting to corrupt them because once they become known they have already voted and there is no way of rolling back their votes. It is also pointless to try Sybil attacks because the actual selection is done for tokens and not public addresses, thus splitting one’s tokens among many public addresses does not help increase the probability of selection.
Finally, Algorand’s consensus solution contributes to its scalability because of the fast block propagation and certain finality. Overall, if it delivers on its promises, it will make Algorand a formidable contender in the race to reshape the public blockchain space. In the next article in the series, we will look at other notable distinguishing features of the project.