Algorand's Safe & Fast Blockchain - A Review

Posted by: ico-check
Review
June 27, 2018
Alogrand ICO - Byzantine Agreements & Fault Tolerance
Blockchain and cryptocurrency have several issues that need to be solved in order to gain mass adoption. Current solutions like Bitcoin and Ethereum are increasingly bumping against the limitations of their protocols. Bitcoin has increased transaction costs, delayed transactions, and is experiencing centralization issues which can prevent mass adoption as a cryptocurrency. Ethereum on the other hand is running into issues of scalability, where there are some issues about transaction cost and delayed transactions due to network traffic caused by increased usage of dApps.


Algorand ICO - Blockchain Alternative to Ethereum & Bitcoin with low transaction cost

Graph illustrating centralization of mining on Ethereum and Bitcoin. Source: Etherscan.io and Blockchain.info

To that end several blockchain projects are actively researching ways to address this issue. One of these projects is Algorand, a blockchain protocol and cryptocurrency that had several research papers published in 2017 and 2018 and is now being brought to life by the Algorand team.

Algorand aims to initially solve the issues of centralization, high transaction costs, delayed transactions, and scalability that are plaguing the current blockchain and cryptocurrencies. 

In addition, Algorand addresses several shortcomings in traditional proof of work or proof of stake systems, where miners or stakers are easy targets for corruption due to their centralized or specialized nature.

Byzantine Agreements and Faults:

To understand what makes Algorand so revolutionary, we must first discuss what Byzantine Agreements and Byzantine Fault Tolerance are within a network. Networks are composed of many participants, each with different hardware, software, speed, and status.

A Byzantine Agreement refers specifically to a unified state of a network where all participants agree on a single thing. In the case of blockchain, all participants agree on a common block and thus a common state of the network.

Byzantine fault tolerance is the process by which participants in a network can filter out messages of malicious parties whose intent it is to break the common agreement of participants in a network. If consensus cannot be achieved due to massive disruption of the network, a default state of the network is usually enforced to prevent erroneous information from being passed out. 

Filtering out malicious parties is a time consuming process that usually requires the communication of decisions for all individuals to the various participants. Thus, Byzantine fault tolerance traditionally does not scale well as the number of participants in the network increases. Neither does the burden of having to communicate and propagate messages to all participants.

Byzantine Agreements and Byzantine Fault Tolerance Illustrated: 

Blockchain with Byzantine Agreements & Tolerance Fault - Algorand ICO

Also read our review of the Arweave Blockchain here!

Byzantine agreements and Byzantine fault tolerance can be likened to a group of 4 like-minded people pooling together money for a group purchase of a certain item that has a minimum order amount of 4 to get a discount.

If all participants are in agreement, the purchase goes through and everyone gets their item at a discount. This is a good example of a Byzantine Agreement.

If any one of the participants does not want to participate, then the discount on the order is forfeit because the minimum order quantity required has not been reached. 

Furthermore, the remaining participants might not be able to purchase the item at full price because they only prepared enough money for the discounted price.

A good fallback mechanism in this example would be to outright cancel the group purchase if any one of the 4 participants does not want to continue. But the BEST outcome is achieved if the buyers POSTPONE the group purchase to find another participant to fill in the now empty slot. This is an example of Byzantine Fault Tolerance.

Byzantine fault tolerant protocols are routinely used in computer networks and systems that require the utmost security and fail-safe operation such as fly by wire systems in aircraft and military networks.The main difference is that the computers in those networks are comprised of a few selected & authorized individuals that do not have the dynamic inherent in any public network or blockchain.

Byzantine Agreement in Algorand is Achieved in a Simple Manner:

Algorand relies on multiple iterations of a modified form of byzantine agreements to achieve rapid and efficient user consensus enabling even the smallest transactions, regardless of transaction volume or number of users. This is, in contrast to Bitcoin or Ethereum, where miners typically process transactions with highest economic reward for mining and whose consensus systems are slow and at the mercy of miners.

Algorand achieves consensus mainly through interaction of a selected leader or proposer and several verifiers.

Leader/Proposer or l:

  • A random user is selected among all current users with probability increasing in proportion to amount of tokens an address holds.
  • Selection is done through an internal lottery within the user's system. Results of lottery are kept secret from outside until broadcast of proposed block. 
  • All users in the network know who is chosen because the selected leader or propagator has an unforgeable proof or digital signature which gets transmitted around the entire system.
  • Results of internal lottery are signed by a combination of the public key (wallet address) and the private key of the selected user. 
  • Selected user (Leader/Propagator) gets to propose new block.
  • Selected user (Leader/Propagator) chooses a new block from all valid transactions that are not yet in the blockchain.         
  • If Selected user (Leader/Propagator) is honest, the user then digitally signs and propagates the same chosen block to the network.

Verifier or k:

  • Random set of verifiers are selected among all users proportionate to amount of money each of them owns in the system. 
  • Selection of verifiers is achieved through internal lottery system in the same way as with leader/propagator
  • Results of internal lottery are signed by a combination of the public key (wallet address) and the private key of the selected user. 
  • Results of lottery are kept secret from outside until the broadcast of vote 
  • All network participants learn who the verifiers are when they transmit their vote along with the unforgeable proof or digital signature.
  • Verifiers vote to agree on block proposed by the leader/propagator.
  • If block proposed by leader/propagator receives a yes vote then block is accepted.


Find a list of important upcoming ICOs on our website!

Results of internal lottery are signed by a combination of the public key (wallet address) and the private key of the selected user ensuring that no one can forge the digital signature of Verifiers and Leaders.

Security is achieved through:

  • A set of multiple rounds of voting to propose a new block.
  • Each round is comprised of different sets of leader and verifiers to guarantee security. Attackers will be hard pressed to find rapidly changing set of verifiers and leaders.
  • Result of internal lottery are only at first known to the winners and results are only made public upon broadcast of their vote and block proposal.
  • Once a block receives enough votes it is standardized as the next block.

Propagation of messages within the network is done through the Gossip Protocol, resulting in fast propagation of any messages:

  • Each user selects a small random set of peers to send a message to, with the selection in favor of a peer that has higher amounts of tokens in their wallet.
  • Messages sent out are digitally signed by the user sending out messages and signatures are verified by recipients
  • Users do not relay the same message twice.

The methods used to propose blocks and achieve consensus means that efficiency and speed of Algorand are not affected by how large the network is because of the following fixed rules:

  • Only one leader propagator no matter how big the system is.
  • Number of verifiers or k remain the same no matter how big the system is.
  • Static numbers of leader/propagator l and verifiers k mean message propagation does not have to reach whole system.
  • Whole system only needs to know results of rounds of voting between verifier and leader.

Proof of stake? Maybe not.

Algorand does not require users to stake tokens to participate in the network, merely being connected to the network, running lightweight software, and having tokens or coins in their wallet is enough to participate. This has advantages where any participant may withdraw from the network at any time and also increases liquidity overall since tokens are not locked up in a staking arrangement.

Algorand merges miners and stakers into a single entity of users which guarantees decentralization, network participation and equality amongst peers.

This arrangement does away with specialized hardware to “mine” and secure the network and also does away with the high capital cost of having to acquire lots of tokens to have a stake in the network. 

Algorand Characteristics

Algorand’s consensus protocol adds up to a blockchain with the following characteristics:

  • Blocktime less than 40 seconds, bottleneck for blocktime is network speed and latency
  • One in a trillion chance of a fork means consistency is assured
  • Real decentralization, where power & control of blockchain does not reside in miners or stakers of coin but the power lies in holders of coin.
  • Instantly spendable coins due to lack of need to have transaction records verified to be part of longest chain
  • Consistent cost per transaction, no matter how small or large or how busy the network is
  • 2000 tp/s whilst not sacrificing security of blockchain
  • No forking for Algorand
  • Consensus is just as quick as a new block can be proposed and approved by verifiers and leader.
  • Computation costs are low and do not increase even with increasing size of network since numbers of l and k are constant
  • Tokens or coins do not have to be staked to participate in lottery to choose l or k merely having tokens or coins in wallet is enough.
  • Bottleneck is simply how fast you can propagate a new block.
  • Low transaction fees with little variance in price between big or small transactions.
  • A greener and more accessible blockchain, where miners and network participants do not need to expend huge amounts of capital in the form of hardware or electricity in order to mine and secure the network.
  • High liquidity of tokens since token staking is not practiced
  • Hard to corrupt miners since no specialized hardware is required and capital investment to “mine” or secure network is greatly minimized
  • Hard to corrupt stakers since no large investment in tokens to stake is required.

Algorand Development to Look Forward to

Algorand is unique amongst the many blockchains with its protocol being consistent and lightweight even with a up-scaled network. This consistency lends itself well to applications or transactions that require consistency and this makes Algorand a good candidate for the basis of a worldwide distributed blockchain and cryptocurrency. 

Other uses and applications for Alrogrand like smart contracts and dApps are in the pipeline but the team have stated that they are focusing on launching the blockchain and cryptocurrency first.

This developmental focus on the very basic building block of consensus on blockchain, low transaction cost and near perfect scaling may be viewed as somewhat lagging in comparison to other projects who are now exploring more use cases for their blockchain, integrating more features and going for hundreds of thousands of tp/s. But this perceived weakness can actually be a strength because other scaling solutions sacrifice security and decentralization in order to achieve their design goals and this is why Algorand may be a good basis for a world-spanning blockchain because, by design, it does not sacrifice any of the outstanding features of blockchain whilst scaling almost perfectly, providing top notch security, and providing for resistance.

Now learn more about privacy & security for future Blockchain applications!