From Slush To Avalanche: AVA Explained

Aug 29, 2019
Avalanche Avalabs Homepage

Satoshi Nakamoto started the blockchain revolution back in 2008 – 2009 with an innovative peer-to-peer electronic payment network called Bitcoin. Ethereum announced the rise of a new generation of smart-contract based networks dubbed Blockchain 2.0, some six years later. Now, a handful of new technologies promise the solution to the previous generations’ scalability problems and a new 3.0 era. Avalanche is one of them.

In late June of this year, the AVA Labs development team led by known crypto critical thinker Emin Gün Sirer released a paper in which they extensively described the new Avalanche project as well as the results of their evaluation experiments.

What is Avalanche in a nutshell? Let’s find out!

Slush Metastability

The ‘Scalable and Probabilistic Leaderless BFT Consensus through Metastability’ paper explains thoroughly the entire protocol from the building blocks to AVA as a whole.

It all starts with a simple protocol that achieves metastability called Slush. Slush explains how participants of a decentralized network aka nodes choose a state, at any given time. For simplicity sake, there are only two possible states that are fundamentally in opposition: red and blue.

With Slush protocol, a node starts without a state but needs to find out what’s the consensus in the network: red or blue? It starts small, only listening to a limited part of the network and changes the state to the first color it finds.

Afterward, the node starts a more extensive search of its part of the network to find out how many other nodes are blue and red. After a number of set responses, if blue comes up more times than its current color, red, it changes its color to blue. Otherwise, the state doesn’t change and starts a new search and repeats the process for a set number of rounds until consensus is reached.

Snowflake BFT

Snowflake Patterns, Close Zoom

What about the notorious Byzantine Fault Tolerance (BFT) problem any peer-to-peer network has to solve to actually function properly? Slush doesn’t solve the problem. but Snowflake protocol does.

Snowflake is the same as Slush with only one change: the node isn’t ‘memoryless.’ With Slush, the node always loses count of the previous blue and red states with each new search. Snowflake introduces a new parameter that measures how many times the search returned the same color as its current state.

Thus, if the node changed its state from red to blue, this parameter resets to 0. If the node is unchanged, the parameter increments by 1, eliminating the situation when incomplete information or faulty nodes may break the system.

Snowball Confidence

Snowball in snow

Still, Snowflake protocol is incomplete as the parameter is ever-changing and will reset to 0 after every color change. That’s why a new counter is needed to keep track of how many times the search result return red and blue.

This counter is implemented in the next stage, the Snowball protocol. In Snowball, the node increments the ‘confidence’ counter of each color. If the counter of its current color is lower than the counter of the other color, the node will automatically change states. Otherwise, the state will remain the same.

Avalanche & Directed Acyclic Graph (DAG)

Direct Acyclical Graph (DAG) Butterfly Multi-tree

Why did we need to explain the Slush, Snowflake & Snowball protocols? Because they are an integral part of the upcoming Avalanche (AVA) network.

In fact, AVA is based on the Snowball protocol at a macro-level. To be more precise, there will be countless instances of Snowball when the network is launched, all contributing to the security and health of AVA.

To link all those Snowball instances together into a truly decentralized network, AVA Labs chose to use the Directed Acyclic Graph (DAG).

DAG is a technology fundamentally different than Nakamoto’s blockchain. For starters, it doesn’t rely on a single chain – the longest – and on blocks added one at a time, in sequence.

There are many different transactions stored simultaneously on a DAG network, not necessarily in a traditional blockchain sequence. There can be multiple ‘chains of blocks’ in different parts of the network, all valid.

In Avalanche, like in all DAG systems, the new transactions are linked to existing transactions (parents) forming the edges of this macro-universe we call DAG. AVA is using DAG to gather the search results of the Snowball instances. The two colors we named before for the sake of simplicity can be two conflicting Bitcoin-like transactions. The decision of choosing either red or blue could ultimately stop double-spending and prove the network’s validity.

The features AVA promises to the new world are as important as the consensus protocol: virtually unlimited scalability, flexibility to use in a variety of ways (payments, smart contracts, custom scripting languages), lightning speed & insignificant fees as there is no need of miners, bakers, or farmers. All participants are created equal and all are worthy contributors in some way or another.

Is Avalanche the next-generation ‘blockchain’?

What do you think of AVA? Is the proposal sound? Does it have critical flaws? Let us know in the comment section below!

Images courtesy of, Pxhere, Flickr & Wikimedia.


Leave a Reply

Your email address will not be published. Required fields are marked *