Following the positive reaction (and most gratifyingly the high % of people who read all three parts!) to the PARSEC whitepaper breakdown last week I have decided to continue exploring some of the newer protocols including Thunderella and Avalanche. It is with the latter that I will begin.

The same disclaimers as per the PARSEC post apply, namely:

I will explain the key concepts of Avalanche but not go through every single piece of how Avalanche works at a granular level – the whitepaper serves that purpose. As such, some of the intricacies, exceptions and smaller aspects that take many words but have a minimal impact will be omitted

I will avoid validating – or refuting – Team Rocket’s claims. There are others better placed to do so. I am just explaining what the Avalanche whitepaper is outlining for those who might not have the inclination or technical background to read the whitepaper

It might not be quite as long as the PARSEC article, but it’s still going to be pretty long!

What is Avalanche?

The Snowflake to Avalanche whitepaper was released anonymously in mid-May by a team identifying themselves only as Team Rocket. The whitepaper contains four protocols which build upon each other and together make a protocol family. These different protocols outlined are named:

Slush

Snowflake

Snowball

Avalanche (for simplicity I will refer to the family of protocols as Avalanche unless I am specifically referring to one of the other three)

Team Rocket (I’ll have ‘prepare for trouble and make it double’ ingrained in my mind by the end of this post) describe their work as a “novel metastable consensus protocol family for cryptocurrencies”.

As with PARSEC, let’s break down the abstract to clarify what exactly the team have developed.

This paper introduces a new family of leaderless Byzantine fault tolerance protocols, built on a metastable mechanism.

The paper claims that this is a new breed of protocols which stand separate to the previous duo of traditional consensus protocols and Nakamoto consensus protocols. The paper describes these as:

Traditional: Needs all nodes to communicate with all other nodes to reach consensus. Nakamoto: Most commonly associated with Bitcoin, the Nakamoto consensus protocols reach consensus through Proof of Work in which a leader (miner) is chosen to produce each block.

Avalanche claims to be different from these two families by not needing to elect a leader in any form (hence leaderless), but rather the protocol simply ‘steers’ all nodes to consensus. Given most (and in the views of Team Rocket all) forms of consensus algorithms I can think of involve a leader in some shape (aside from the obvious ones like DPoS, the likes of PoW and PoS still elect one validator for a specific block etc), this is a distinguishing factor and one that is quite easy to overlook the importance of. Debates over how centralised many of these supposedly decentralised networks only adds to the significance, particularly given the problems a project like EOS has encountered since launch.

This approach is partially achieved by Avalanche’s metastable mechanism. Metastability essentially refers to the concept that the system is designed to bring an answer (i.e. all nodes vote one way or the other) and so will not stay in balance (because if the system remains in balance then consensus cannot be reached).

The reason Team Rocket describe Avalanche as a new family of protocols is because of this idea of metastability, a means to engender consensus by guiding all nodes towards an emerging consensus without the need for any leaders whilst achieving the same level of security and at a faster pace than current protocols. It does this by establishing ‘sub-quorums’, small randomised samples from nodes on the network, which allows for higher throughputs and parallel consensuses to run before they all eventually converge and come to an overarching consensus in time. If that sounds like how I described gossip protocols then good, because that is the inspiration for it.

These protocols provide a strong probabilistic safety guarantee in the presence of Byzantine adversaries, while their concurrent nature enables them to achieve high throughput and scalability.

High throughput = higher number of transactions per seconds than the likes of Bitcoin and Ethereum (you can read more on my thoughts about the difficulty of blockchains and DAGs scaling here)

Scalability = can support more people using the network. Part of the problem is that a system can be very fast when a small number of nodes are active, as there are less decisions to make, less nodes to be included in consensus making but when we try and add a lot of users and transactions to it (higher throughput) it will come crashing to a halt.

Unlike blockchains that rely on proof-of-work, they are quiescent and green.

Quiescent = to be inactive or dormant. In this context it means that, unlike a PoW implementation such as Bitcoin which requires constant active participation by miners, Avalanche can operate even when nodes are inactive (I guess, I haven’t come on to the rest of the paper here). And, like all other non-PoW implementations, it is more energy efficient owing to the lack of mining required.

Surprisingly, unlike traditional consensus protocols which require O(n^2 ) communication, their communication complexity ranges from O(kn log n) to O(kn) for some security parameter k << n.

Essentially Team Rocket are writing that the communication complexity of this family of protocols is far less intensive than the O(n^2) used by traditional ones – which is good, because it makes the system faster and more scalable.