Avalanche

Avalanche is a decentralized, open-source proof of stake blockchain with smart contract functionality. AVAX is the native cryptocurrency of the platform.

History

Avalanche started off as a protocol for solving consensus in a network of unreliable machines, where failures may be crash-fault or Byzantine.[1] The protocol's fundamentals were first shared on InterPlanetary File System (aka IPFS) in May 2018 by a pseudonymous group of enthusiasts going by the name "Team Rocket”.[2] It was later developed by a dedicated team of researchers from the Cornell University.[3] The research was led by Emin Gün Sirer,[citation needed] a professor of computer science and software engineer, assisted by doctoral students Maofan "Ted" Yin and Kevin Sekniqi. Following the research stage, a startup technology company was founded to develop a blockchain network that would meet complex finance industry requirements.[5][6] As a number of sources indicate, "the project was in the realm of academic circles interested in exploring consensus protocols that serve the same purpose of proof-of-work — securing transactions — but are more energy-efficient and have the potential to provide a basis for democratic development and the inclusion of more users in the consensus process".In March, 2020, the AVA codebase (Developer Accelerator Program or AVA DAP) for the Avalanche consensus protocol became open-source and available to public.

Design

The Avalanche (AVAX) token is traded on the X-Chain

Protocol

The protocol has four basic interrelated mechanisms that compose structural support of the consensus tool. These four mechanisms are Slush, Snowflake, Snowball, and Avalanche. By using randomized sampling and metastability to ascertain and persist transactions, It represents a new protocol family. Although the original paper focused on a single protocol, namely Avalanche, it implicitly introduced a broad spectrum of voting-based, or quorum-based consensus protocols, called the Snow family.[2] While Avalanche is a single instantiation, the Snow family seems to be able to generalize all quorum-based voting protocols for replica control. Unlike prior quorum-based work, the Snow family enables arbitrarily parametrizable failure probability at the quorum intersection level. Standard quorum-based protocols define this failure probability to be precisely zero, but by introducing errors in the quorum intersection, a larger set of consensus protocol design is available

Background

Consensus protocols are the basis for the state machine replication problem, which aims to enable a set of machines to achieve agreement over a network even when a subset of the machines are corrupted. There are two major families of consensus protocols to date - classical consensus and Nakamoto consensus protocols.[citation needed] The first achieves consensus through quorums, thus requires voting. Famous instantiations of this are Paxos (in the crash-fault-tolerant environment) and PBFT in the Byzantine-fault tolerant case. These protocols achieve agreement in a similar operation to a parliament: a proposal (transaction) is proposed and voted on to be accepted or rejected. If sufficient votes cast by the various replicas are accumulated (typically collected through elected leader replica), then a quorum is achieved, and thus agreement. The second family, pioneered by Satoshi Nakamoto and Bitcoin is that of Nakamoto consensus. Unlike quorum-based protocols, machines operating an instance of Nakamoto consensus achieve agreement on transactions by downloading the longest chain (typically called a fork). In Bitcoin, the longest chain is verified by ensuring that it is the one with the highest degree of work (or proof of work). Snow, while quorum-based, seems to be a universal generalization of all quorum-based protocols. Unlike prior work which requires that quorums be deterministic, i.e. the failure probability is precisely zero, Avalanche loosens this requirement, thus enabling quorum-based protocols to estimate global network state with errors

Assumptions

While the Snow family can be theoretically generalized to all classes of assumptions that quorum-based protocols have previously made, the formalization paper analyzes Avalanche under an asynchronous network in the Byzantine setting. The assumptions are as follows

Processors
  • Processors operate at arbitrary speed.
  • Processors may experience arbitrary failures, even Byzantine ones.
  • Processors with stable storage may re-join the protocol after failures.
  • Processors can collude, lie, or otherwise attempt to subvert the protocol. (That is, Byzantine failures are permissible.)
Network
  • Processors can send messages to any other processor.
  • Messages are sent asynchronously and may take arbitrarily long to deliver.
  • Messages may be lost, reordered, or duplicated.
  • Messages are delivered without corruption, i.e. an adversary cannot forge digital signatures
Safety and liveness properties

The Snow family generalizes the typical definitions of safety and liveness encountered in quorum-based protocols. For Avalanche specifically, these properties are

Agreement (or consistency, or safety)

If any node (or machine) finalizes a value v, no other node will finalize another value u that conflicts with v with probability higher than $\epsilon$.

Termination (or liveness)

If network resumes synchronous operation, then all nodes will achieve agreement.

Avalanche, like other asynchronous networks, is not guaranteed to terminate and thus does not have the liveness property, during asynchrony. Like Paxos, Avalanche's goal is to ensure fault tolerance and it guarantees safety under asynchrony, but not liveness. This is in contrast to Nakamoto consensus, which guarantees liveness, and not safety under asynchrony