# Avalanche (blockchain)

Avalanche est une blockchain décentralisée et open source, axée sur les contrats intelligents et fonctionnant suivant un modèle de preuve d'enjeu. AVAX est la cryptomonnaie native de la plateforme.

## Histoire

Avalanche commence comme un protocole de résolution de consensus dans un réseau de machines peu fiables. Les principes fondamentaux du protocole sont partagés pour la première fois sur le InterPlanetary File System en mai 2018 par un groupe de passionnés se surnommant « Team Rocket ».
Le protocole est ensuite développé par des chercheurs de l'Université Cornell, sous la direction d'Emin Gün Sirer et les doctorants Maofan Ted Yin et Kevin Sekniqi. Après la phase de recherche, une start-up est fondée pour développer un réseau blockchain répondant aux besoins de l'industrie financière$^,$$^,$. En mars 2020, la base de code AVA (Developer Accelerator Program ou AVA DAP) pour le protocole de consensus Avalanche est publiée en open source et devient publiquement accessible.
En septembre 2020, la société publie son jeton natif AVAX.
En septembre 2021, la fondation Ava labs reçoit un un investissement de $230 million de la part d'un groupe constitué des entreprises Polychain et Three Arrows Capital, à travers l'achat de la cryptomonnaie AVAX$^,$.
En novembre 2021, à la suite d'un accord passé avec Deloitte pour améliorer le U.S. disaster-relief funding, la blockchain Avalanche passe dans le top 10 des cryptomonnaies en termes de capitalisation.
En août 2022, le lanceur d'alerte « Crypto Leaks » publie un rapport accusant la société Ava Labs d'accords secrets avec un cabinet d'avocat visant à déstabiliser légalement les compétiteurs d'Avalanche. Le PDG d'Ava Labs, Emin Gün Sirer, nie tout accord crapuleux avec le cabinet Roche Freedmen.

## Conception
### AVAX

Avalanche (AVAX) est le jeton natif d'Avalanche, négocié sur la X-Chain.

### Protocole

Le protocole comporte quatre mécanismes de base interdépendants qui composent le support structurel de l'outil de consensus. Ces quatre mécanismes sont Slush, Snowflake, Snowball et Avalanche. En utilisant l'échantillonnage aléatoire et la métastabilité pour vérifier et conserver les transactions, il représente une nouvelle famille de protocoles. Bien que le document original se soit concentré sur un seul protocole (Avalanche), il a implicitement introduit un large éventail de protocoles de consensus basés sur le vote ou sur le quorum, appelés Snow family. Alors qu'Avalanche est une instanciation unique, la famille Snow semble pouvoir généraliser tous les protocoles de vote basés sur le quorum pour le contrôle des répliques. Contrairement aux travaux antérieurs basés sur le quorum, la famille Snow permet une probabilité de défaillance arbitrairement paramétrable au niveau de l'intersection du quorum. Les protocoles standard basés sur le quorum définissent cette probabilité d'échec comme étant précisément nulle, mais en introduisant des erreurs dans l'intersection du quorum, un ensemble plus large de conception de protocole de consensus est disponible.

### Fond

Les protocoles de consensus sont à la base du problème de réplication de machine d'état, qui vise à permettre à un ensemble de machines de parvenir à un accord sur un réseau même lorsqu'un sous-ensemble de machines est corrompu. Il existe à ce jour deux grandes familles de protocoles de consensus - les protocoles de consensus classique et les protocoles de consensus de Nakamoto. Le premier parvient à un consensus par le biais de quorums et nécessite donc un vote. Les instanciations célèbres de ceci sont Paxos (dans un environnement crash-fault-tolerant) et PBFT dans le cas byzantin tolérant aux pannes. Ces protocoles aboutissent à un accord dans une opération similaire à un parlement : une proposition (transaction) est proposée et votée pour être acceptée ou rejetée. Si suffisamment de votes exprimés par les différentes répliques sont accumulés (généralement collectés par le biais de répliques de dirigeants élus), alors un quorum est atteint, et donc un accord.
La deuxième famille, lancée par Satoshi Nakamoto et Bitcoin est celle du consensus de Nakamoto. Contrairement aux protocoles basés sur le quorum, les machines exploitant une instance du consensus de Nakamoto parviennent à un accord sur les transactions en téléchargeant la chaîne la plus longue (généralement appelée fork). Dans Bitcoin, la chaîne la plus longue est vérifiée en s'assurant qu'il s'agit de celle avec le plus haut degré de travail (ou preuve de travail ). Snow, bien que basé sur un quorum, semble être une généralisation universelle de tous les protocoles basés sur un quorum. Contrairement aux travaux antérieurs qui exigeaient que les quorums soient déterministes, c'est-à-dire que la probabilité de défaillance soit précisément nulle, Avalanche assouplit cette exigence, permettant ainsi aux protocoles basés sur les quorums d'estimer l'état global du réseau avec des erreurs.

### Hypothèses

Alors que la Snow family peut être théoriquement généralisée à toutes les classes d'hypothèses que les protocoles basés sur quorum ont précédemment faites, le document de formalisation analyse Avalanche sous un réseau asynchrone dans le cadre byzantin$^,$$^,$. Les hypothèses sont les suivantes :
Processeurs
* Les processeurs fonctionnent à une vitesse arbitraire.
* Les processeurs peuvent connaître des pannes arbitraires, même byzantines.
* Les processeurs avec un stockage stable peuvent rejoindre le protocole après des échecs.
* Les sous-traitants peuvent s'entendre, mentir ou tenter de contourner le protocole. (Autrement dit, les échecs byzantins sont permis. ).
Réseau
* Les processeurs peuvent envoyer des messages à n'importe quel autre processeur.
* Les messages sont envoyés de manière asynchrone et peuvent prendre un temps arbitrairement long à livrer.
* Les messages peuvent être perdus, réorganisés ou dupliqués.
* Les messages sont livrés sans corruption, c'est-à-dire qu'un adversaire ne peut pas falsifier les signatures numériques.

### Propriétés de sécurité et de vivacité

La Snow family généralise les définitions typiques de la sécurité et de la vivacité rencontrées dans les protocoles basés sur le quorum. Pour Avalanche en particulier, ces propriétés sont :

#### Accord (ou cohérence, ou sécurité )

    Si un nœud (ou une machine) finalise une valeur *v*, aucun autre nœud ne finalisera une autre valeur *u* qui entre en conflit avec *v* avec une probabilité supérieure à $\epsilon$.

#### Résiliation (ou vivacité)

    Si le réseau reprend le fonctionnement synchrone, tous les nœuds parviendront à un accord.
Avalanche, comme les autres réseaux asynchrones, n'est pas garanti de se terminer et n'a donc pas la propriété de vivacité, pendant l'asynchronisme. Comme Paxos, l'objectif d'Avalanche est d'assurer la tolérance aux pannes et il garantit la sécurité sous asynchrone, mais pas la vivacité. Cela contraste avec le consensus de Nakamoto, qui garantit la vivacité et non la sécurité en cas d'asynchronisme.