Asynchrone
Soumission de la communauté - Auteur : Caner Taçoğlu
Asynchrone signifie non simultané, ou ne se produisant pas au même moment ou à la même vitesse. En informatique, l'asynchronie fait référence à la survenue d'événements indépendants du programme principal.
Dans un système asynchrone, les opérations ne sont pas coordonnées par un signal d'horloge global, mais plutôt par des événements (changements dans le système). Les systèmes asynchrones ne dépendent pas de signaux ou de messages externes pour leur fonctionnement fiable.
Les systèmes asynchrones sont souvent conçus avec un cadre modulaire. Dans de tels systèmes, chaque module peut fonctionner indépendamment et a la capacité de communiquer avec d'autres modules. Ces modules interconnectés forment alors ensemble un système de travail.
La communication asynchrone est lorsque les données peuvent être transmises de manière irrégulière, au lieu d'un flux régulier. Les exemples courants incluent les e-mails ou les forums en ligne, où les participants envoient des messages à des moments différents.
Les blockchains peuvent être des réseaux asynchrones ou semi-synchrones.
Les réseaux asynchrones ne fournissent aux nœuds aucune rétroaction sur l'état des informations envoyées, ce qui peut amener les nœuds à avoir des vues différentes sur l'état global du réseau. Essentiellement, les nœuds n'ont pas à attendre que les autres nœuds reçoivent leurs messages, ce qui peut augmenter le débit des transactions.
Les réseaux semi-synchrones visent à s'assurer qu'il n'y a jamais de division dans l'état global du réseau. Si le réseau est partitionné, le consensus entre les nœuds ralentira jusqu'à ce qu'il soit à nouveau restauré.
Des réseaux blockchain asynchrones ou semi-synchrones peuvent être conçus pour donner la priorité à la cohérence ou à la disponibilité. Si le réseau souhaite donner la priorité à la disponibilité, toutes les transactions sont ajoutées sans aucun temps d'arrêt. Si le réseau souhaite donner la priorité à la cohérence, certaines transactions peuvent ne pas être traitées ou interrompues tant que toutes les transactions précédentes n'ont pas été confirmées.
Certaines conceptions de blockchain utilisent une implémentation de la tolérance aux pannes byzantines (BFT) appelée tolérance aux pannes byzantine asynchrone (aBFT). Il garantit mathématiquement qu'un consensus est finalement atteint même si un attaquant contrôle près d'un tiers du réseau. Asynchrone dans ce contexte signifie qu'aucune hypothèse n'est faite sur la synchronisation.