ELI5 What is the Avalanche Protocol? [AVA]

ELI5 What is the Avalanche Protocol? [AVA]

Avalanche is a proposed consensus mechanism which aims to combine the best features of previously existing protocols.

If you’ve tried to understand the Avalanche consensus protocol paper, then you may have stalled when you ran into technical terms like metastability, Byzantine adversaries, leaderless Byzantine fault tolerance, among others.

Here I’ll try to summarize, in very simple terms, what Avalanche is and how it may push the state of the art in cryptocurrency development.

First, a short review of consensus mechanisms.

Consensus Mechanisms

Reaching consensus is a difficult task, whatever the context may be.

What will your family do on Sunday? Go fishing or watch a baseball game at the stadium? The way this is usually decided is by polling everyone and requesting their opinion. This is a simple consensus-seeking procedure because we assume everyone lives in the same house and can communicate instantly and clearly.

Other consensus mechanisms may involve more serious issues, like medical decisions, financial decisions and so on.

But, what if you need to reach consensus with people far away, whom you may not even trust? It turns out this is a very complicated problem to solve and no easy solution exists.

Classic Consensus

For participants who we know and trust, there’s something we call Classic Consensus. This works for systems administered by a single institution, where management is trusted. In Classic Consensus everyone talks to everyone else and information is exchanged until everyone is in sync with the latest available data. Thus, consensus is reached when everyone has updated.

Nakamoto Consensus

The next kind of consensus, of course our favorite kind, is Satoshi Nakamoto’s creation: Nakamoto consensus.

In Nakamoto Consensus systems, players don’t need to trust each other, they don’t need to know each other and there’s no central management. Anyone can join the Bitcoin network and start participating, regardless of physical location or affiliation with anyone else in the network. But Nakamoto consensus is slow (takes up to 1hr to confirm a TX) and has low throughput (~7 TX per second max).

A third family of consensus protocols was introduced during the first half of 2018 by an anonymous person, or group of persons, going by the name Team Rocket.

This new family of protocols was dubbed Snow.

Snow to Avalanche

Team Rocket published a paper in which they described the Snow family of consensus protocols. This paper was titled Snow to Avalanche because it shows how the Snow family of consensus protocols leads to the Avalanche system.

Basically, this new family of protocols does not depend on miners (Nakamoto consensus) or on all nodes talking to each other (classic consensus).

It’s a completely new family of protocols which achieves extremely high throughput (1000’s of TX’s per second), high scalability and very fast finality (how fast TX’s are completed).

Simplicity

Avalanche, AVA for short, is a simple protocol. It does not require advanced mathematical concepts in order to be fully understood.

AVA uses a gossip protocol strategy, also known as an epidemic protocol. The reason it’s called that way is the way consensus spreads throughout the network. One node randomly queries a certain number of nodes around it. The queried nodes are chosen randomly as to not allow premeditated foul play.

Nodes then respond to the query. The host which started the process then computes which alternative was the most popular among replies. It then adds its own weight to that reply. When other nodes query it, its reply will propagate forward including its own weight. Every node repeats this process in an avalanche of sorts.

This system presents very little chance of developing a tie. In fact, there’s an extremely small chance of landing on a 50/50 situation. It always tilts towards one preferred choice which ends up becoming the consensus.

It’s a quiescent system: no mining, no special ecosystem of miners is required to keep the system going. All that’s required is for nodes to participate on the network. It’s also very lightweight system, which can be run on inexpensive hardware.

Metastability

Metastability is the central idea in Avalanche protocol.

It’s a new concept in cryptocurrency development, so newbies often ask what metastability is, exactly.

Metastability is a situation where the network is not fully stable. It’s like a sphere that’s balancing itself on top of a hill.

Anything can change the state of this system. The sphere can freely roll one way or the other at any time.

The way metastability works on the Avalanche protocol is by randomly querying nearby nodes for gossip about a certain situation. The information received automatically tilts the system towards one of the sides and the sphere rolls.

The sphere is the status of a transaction. It’s going to end up on one of the sides and that’s where our consensus is.

This system can tolerate a large fraction of Byzantine participants, or adversarial nodes. If nodes lie about the consensus, it doesn’t really matter because the majority will have tilted the system towards the correct side. Like all other consensus mechanisms, it depends on having an honest majority.

So, what if someone creates lots of fake personas just to tilt the consensus to their advantage? That’s what we call a Sybil attack.

Sybil Deterrence

AVA protects itself against Sybil attacks by attaching a cost in order to participate in the gossip trade.

Each node that participates must prove to own some stake in the system.

This stake is represented by AVA tokens.

These tokens will have some financial value and a minimum amount of AVA will be required in order for nodes to pass gossip to other nodes. This way, in order to defraud the system, a large financial sum would be required. As in Nakamoto consensus protocols, Game Theory guarantees that players would rather invest in a legit way rather than risk losing their stake in the system by trying to cheat.

Conflicting Transactions

Avalanche protocol does have a small drawback: it allows users to attempt to double spend.

The protocol does not offer any guarantee against conflicting transactions. So a rogue user could send the same transaction twice, at the same time, to try and double spend.

But, ironically, this can only affect sender of money, not the whole network!

The cheater will send the same TX twice and the network will begin querying each other about that TX.  Everyone will reach a consensus about two TX’s with the same origin. The source of the money gets lots and nobody gets credited for it! The cheater has essentially cheated himself.

Governance

Finally, Avalanche will offer on-chain governance.

The system will include a mechanism to allow stakeholders to modify system parameters without forking the network or having to agree on changes by miner signaling.

Interest rate will also be adjusted via on-chain governance, allowing stakeholders to vote using their AVA stake.

It’ll be a crowdoracle model for economic decisions, which will sidestep central planning. This contrasts with the Bitcoin model where developers who control the Git reposiory actually control governance.

In Avalanche, stakeholders vote using on-chain parameters. Everything is decentralized and decided by the holders of AVA tokens whose votes have a weight proportional to the size of their stake.

Conclusion

I hope this introduction to Avalanche has given you a better idea of how this innovative protocol works.

It is a very simple protocol that uses randomized gossip in order to reach a consensus.

Its core idea is metastability, where the network remains unstable on purpose, allowing consensus to tilt either way very easily, thus making it very improbable that there’ll be a 50/50 tie for any decision problem.

Emin Gun Sirer of Cornell University is leading the development of Avalanche, based on the ideas introduced by Team Rocket in 2018.

 

References

Summary of cryptocurrency consensus mechanisms

Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies

Team Rocket: 0x 8a5d 2d32 e68b c500 36e4 d086 0446 17fe 4a0a 0296 b274 999b a568 ea92 da46 d533

Avalanche Image Credit: Wikimedia Commons

Comments

Meta