Avalanche (protocol)

From HandWiki

Avalanche is a protocol for solving consensus in a network of unreliable machines, where failures may be crash-fault or Byzantine.[1] The protocol was anonymously introduced on IPFS on May 16, 2018[2][3] and was formalized in more detail by Cornell University researchers in 2019.[4][5] Protocol currently provides system operation of the Avalanche (platform) and his platform.[6]

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

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 Nakomoto 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[8] 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*.[7]

History

The protocol's fundamentals were first shared on InterPlanetary File System (aka IPFS) on 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.[9] The research was led by Emin Gün Sirer,[10] a professor of computer science and software engineer, assisted by doctoral students Maofan “Ted” Yin and Kevin Sekniqi.[9][4] Following the research stage, a startup technology company was founded to develop a blockchain network that would meet complex finance industry requirements.[11][12] 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][9] In March, 2020, the AVA codebase (Developer Accelerator Program or AVA DAP) for the Avalanche consensus protocol became open-source and available to public.[13]

Initial Coin Offering ended in July 15, 2020,[10] following by the launch of Mainnet Launch in September of the same year. In September, 2020, the company also issued its native token Avax (an acronym for "Avalanche").[10][14]

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.[5][8][15] 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.)[8]

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

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

Basic Operation

While Yin et al. formalize the Snow family up to Avalanche, the various optimizations introduced to make Avalanche viable for a real-world deployment make its operation complex. However, the basic Snowflake is simple to describe.[5]

Snowflake

The basic primitive used by Avalanche, called Snowflake, is similar in operation to the SIR model, in that nodes in the system adopt the state of some subset of other nodes in the system. In other words, instead of the nodes in the system being in a state of susceptible, infectious, or recovered as in the SIR model, they are in a binary state of 0 or 1, and must decide between the two in order to reach agreement. The ability to achieve agreement over a binary decision implies the ability to achieve agreement over any arbitrary number of choices. This enables, therefore, consensus on transactions.[3]

Initialization

Nodes in the system are initialized to either of the elements of a binary set. In the original paper, the nomenclature of red and blue to label the two binary choices is adopted. There is no preference between red and blue colors, and therefore nodes can be initialized arbitrarily between the two.[citation needed]

Algorithm

The operation is simple: every node u in the system samples a random set of size k of other nodes from its neighbor view and adopts the color that some threshold majority of the k nodes prefer. This procedure is repeated until the same color majority is observed for some number of consecutive rounds.[citation needed]

Industry impact and practical aspects

The founders of the protocol claim to have developed a faster consensus protocol in computer networks that has the potential to close the gap between centralized payment systems currently in use and blockchain limitations. Bloomberg cites the company to be able of processing 6500 transactions per second, which is still slower than Visa (that claims to process 24 000 transactions per second) but much faster than current crypto-technologies can provide. For example, Bitcoin has 6 transactions per second and Ethereum has 15.[12] The source also states that the technology has the capability to "wall off" parts of the blockchain, thus making financial services available to separate legal entities (for example, countries or financial systems) following specific regulations and laws in different countries.[12]

Criticism

The new protocol has been met with skepticism by industry experts and competitors. As Wired states: "...none of the upstart networks have been fully built out, meaning their promised improvements are still mostly theoretical."[16]

See also

References

  1. "Avalanche Documentation". GitHub. https://github.com/ava-labs. 
  2. 2.0 2.1 2.2 Rocket, Team (16 May 2018). "Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies". https://ipfs.io/ipfs/QmUy4jh5mGNZvLkjies1RWM4YuvJh5o2FYopNPVYwrRVGV. 
  3. 3.0 3.1 3.2 "Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies". Team Rocket. http://knowen-production.s3.amazonaws.com/uploads/attachment/file/1922/Snowflake%2Bto%2BAvalanche%2B-%2BA%2BNovel%2BMetastable%2BConsensus%2BProtocol%2BFamily.pdf. 
  4. 4.0 4.1 4.2 "AVA Labs' Avalanche Protocol targeting improved financial services". Bankless Times. https://www.banklesstimes.com/2019/08/08/ava-labs-avalanche-protocol-targeting-improves-financial-services/. 
  5. 5.0 5.1 5.2 Yin (June 2019). "Scalable and Probabilistic Leaderless BFT Consensus through Metastability". arXiv:1906.08936 [cs.DC].
  6. Huang, Vicky Ge. "A 20-year fintech executive breaks down how Avalanche has grown into one of the fastest and lowest-cost layer-one protocols in just over a year — and shares 2 little-known altcoins in the ecosystem he's bullish on" (in en-US). https://www.businessinsider.com/altcoins-to-watch-in-the-avalanche-ecosystem-crypto-traders-analysts-2021-10. 
  7. 7.0 7.1 "Avalanche blockchain protocol for distributed computing security". Institute of Electrical and Electronics Engineers. https://ieeexplore.ieee.org/abstract/document/8812863. 
  8. 8.0 8.1 8.2 8.3 8.4 Castro, Miguel (February 1999). "Practical Byzantine Fault Tolerance". http://pmg.csail.mit.edu/papers/osdi99.pdf. 
  9. 9.0 9.1 9.2 "Blockchain startup raises a quick $42M in first sale". Cornell Chronicle. https://news.cornell.edu/stories/2020/08/blockchain-startup-raises-quick-42m-first-sale. 
  10. 10.0 10.1 10.2 "What is Avalanche (AVAX)?". Medium. https://medium.com/interdax/avalanches-be695ce9463. 
  11. "A Cornell University Crypto Professor Is Launching His Own Coin". Bloomberg. https://www.bloomberg.com/news/articles/2019-05-16/cornell-university-s-crypto-professor-to-launch-his-own-coin. 
  12. 12.0 12.1 12.2 Leising, Mathew (April 17, 2020). "New Startup Aims to Prove Blockchain Is Fast Enough for Finance". Bloomberg. https://www.bloomberg.com/news/articles/2020-04-17/new-startup-aims-to-prove-blockchain-is-fast-enough-for-finance. Retrieved 27 August 2020. 
  13. "AVA Labs releases codebase for AVA blockchain platform". Enterprise Times. https://www.enterprisetimes.co.uk/2020/03/17/ava-labs-releases-codebase-for-ava-blockchain-platform/. 
  14. "Blockchain Startup Ava Labs Makes Crypto Veteran Top Lawyer (1)". Bloomberg Law. https://news.bloomberglaw.com/us-law-week/blockchain-startup-ava-labs-adds-crypto-veteran-as-legal-chief. 
  15. "Committee Selection is More Similar Than You Think: Evidence from Avalanche and Stellar". Cornell University. https://arxiv.org/abs/1904.09839. 
  16. "These Researchers Are Trying to Build a Better Blockchain". Wired. https://www.wired.com/story/researchers-trying-build-better-blockchain/.