# Avalanche (blockchain platform)

Avalanche File:Avalanche logo without text.pngIcon of Avalanche AVAX Emin Gün Sirer, Kevin Sekniqi, Maofan “Ted” Yin https://www.avalabs.org/whitepapers September 2020 https://github.com/ava-labs/ Active Go, TypeScript, JavaScript, Python, Vue Ava Labs Open source https://avax.network/ https://explorer.avax.network/

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.[3][4] 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".[4][3] In March, 2020, the AVA codebase (Developer Accelerator Program or AVA DAP) for the Avalanche consensus protocol became open-source and available to public.[7]

In September, 2020, the company also issued its native token Avax (an acronym for "Avalanche").[8]

## Design

### AVAX

The Avalanche (AVAX) token is traded on the X-Chain.[9]

### 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.[10] 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.[11]

### 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[12] 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.[11]

### 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.[13][12][14] 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.)[12]

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.[12]

### 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.[12]

## References

1. "Avalanche Documentation". GitHub.
2. Rocket, Team (16 May 2018). "Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies".
3. "Blockchain startup raises a quick \$42M in first sale". Cornell Chronicle.
4. "AVA Labs' Avalanche Protocol targeting improved financial services". Bankless Times. 8 August 2019.
5. Leising, Mathew (April 17, 2020). "New Startup Aims to Prove Blockchain Is Fast Enough for Finance". Bloomberg. Retrieved 27 August 2020.
6. "AVA Labs releases codebase for AVA blockchain platform". Enterprise Times. 17 March 2020.
7. "Overview | Avalanche Docs". docs.avax.network. Retrieved 2021-12-19.
8. Tanana, Dmitry (2019). "Avalanche blockchain protocol for distributed computing security". 2019 IEEE International Black Sea Conference on Communications and Networking (BlackSea Com). Institute of Electrical and Electronics Engineers. pp. 1–3. doi:10.1109/BlackSeaCom.2019.8812863. ISBN 978-1-7281-3234-1. S2CID 201649683.
9. Castro, Miguel (February 1999). "Practical Byzantine Fault Tolerance" (PDF). Archived (PDF) from the original on 2006-08-31.
10. Yin (June 2019). "Scalable and Probabilistic Leaderless BFT Consensus through Metastability". arXiv:1906.08936 [cs.DC].
11. Chitra, Tarun; Chitra, Uthsav (2019). "Committee Selection is More Similar Than You Think: Evidence from Avalanche and Stellar". arXiv:1904.09839 [cs.DC].
Cookies help us deliver our services. By using our services, you agree to our use of cookies.