Avalanche (blockchain platform)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Avalanche
252px
Icon of Avalanche
Ticker symbol AVAX
Development
Original author(s) Emin Gün Sirer, Kevin Sekniqi, Maofan “Ted” Yin
White paper https://www.avalabs.org/whitepapers
Initial release 23 September 2020; 3 years ago (2020-09-23)
Code repository https://github.com/ava-labs/
Development status Active
Written in Go, TypeScript, JavaScript, Python, Vue
Developer(s) Ava Labs
Source model Open source
Website https://avax.network/
Block explorer 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 began as a protocol for solving for consensus in a network of unreliable machines, where failures may be crash-fault or Byzantine.[1] The protocol's fundamentals were first shared on the InterPlanetary File System (IPFS) in May 2018 by a pseudonymous group of enthusiasts going by the name "Team Rocket".[2]

Avalanche was later developed by researchers from Cornell University led by Emin Gün Sirer and doctoral students Maofan "Ted" Yin and Kevin Sekniqi.[3] Following the research stage, a startup technology company was founded to develop a blockchain network that would meet finance industry requirements.[4][5][3] In March, 2020, the AVA codebase (Developer Accelerator Program or AVA DAP) for the Avalanche consensus protocol was released as open-source and became available to the public.[6]

In September, 2020, the company also issued its native token Avax.[7]

In September 2021, the Ava labs foundation receives a $230 million investment from a group consisting of Polychain and Three Arrows Capital, through the purchase of the AVAX cryptocurrency.[8]

In November 2021, following an agreement with Deloitte to improve U.S. disaster-relief funding, the Avalanche blockchain moves into the top 10 cryptocurrencies in terms of capitalization.[9]

In August 2022, whistleblower "Crypto Leaks" published a report accusing Ava Labs of secret deals with a law firm aimed at legally destabilizing Avalanche's competitors. Ava Labs CEO Emin Gün Sirer denies any sort of illegal or unethical deal with Roche Freedmen law firm.[10]

In January 2023, a partnership was announced between Avalanche and Amazon to improve Avalanche's infrastructure and decentralized application ecosystem.[11]

In February 2023, Indian game streaming platform Loco has teamed up with the Avalanche blockchain.[12]

Design

AVAX

Avalanche (AVAX) is the native token of Avalanche, traded on the X-Chain.[13]

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

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.[15] The first achieves consensus through quorums, thus requires voting. Famous instantiations of this are Paxos (in the crash-fault-tolerant environment) and PBFT[16] 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.[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.[17][16][18] 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.)[16]

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

Consensus

The Avalanche consensus algorithm is a sophisticated approach to achieving consensus in various blockchain networks. It utilizes a randomized voting system to quickly confirm transactions, achieve high throughput, and reduce the risk of splits. This approach also allows for creation of subnets, which can operate independently with their own validators and parameters.[19]

The consensus mechanism also involves a set of sub-protocols, including Avalanche-X, Avalanche-C, and Avalanche-P, to achieve fast, secure, and decentralized transactions on its network. Avalanche consensus can confirm transactions in less than a second and scale to thousands of transactions per second (TPS), making it one of the fastest and most scalable consensus mechanisms in the blockchain industry.[19]

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

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. 14.0 14.1 Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 16.2 16.3 16.4 Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. 19.0 19.1 Lua error in package.lua at line 80: module 'strict' not found.