Author

Topic: [TRAD] Bande passante et la blockchain, problèmes et solutions (Read 331 times)

full member
Activity: 615
Merit: 154
CEO of Metaisland.gg and W.O.K Corp
Ceci est un article intéressant, qui débat des problèmes d'efficacité de la blockchain et des remèdes qui sont y trouvé pour corriger ces problème.
C'est une traduction approximative d'un article en Anglais dont le lien se trouve a la fin du post.

Bande passante et la blockchain

Comment les développeurs minimisent les frais

Les blockchains gardent le monde entier sur la même page. Au fur et à mesure de la création de chaque bloc, un nouvel état du registre remplace les états antérieurs. Les mécanismes de consensus permettent de s'assurer que l'état de la blockchain est accepté par l'ensemble de la communauté. Dans un système bien conçu, les incitations assurent l’immutabilité. Après un laps de temps suffisant, l'état de la blockchain ne peut plus être altéré. Ces blockchains nous donnent de l’argent programmable et ont, à juste titre, captivé l’imagination de tant de personnes.

Bitcoin et Ethereum sont deux des premières incarnations de blockchains. Ces cryptos se sont avérés populaires et robustes, mais on pense généralement qu’ils ne sont pas évolutifs. Pourquoi serait-ce le cas? Et que peut-on faire pour améliorer la situation?

Contexte

Les chaînes de blocs elles-mêmes sont désignées sous le nom de couche 1. La chaîne de blocs constitue une source de vérité globale sur les emplacements actuels de tous les crypto-actifs du réseau. Les nœuds complets du réseau gardent une trace de l’état actuel du registre. Pour maintenir la décentralisation ou l'absence de centre de pouvoir, les petits mineurs doivent avoir la possibilité de vérifier et de contribuer à la blockchain. Les petits mineurs peuvent avoir des ressources système et une bande passante largement inférieures à celles des gros joueurs.

Pour que les chaînes de blocs soient sans confiance et résistent à la censure, elles ne peuvent pas être contrôlées par une seule entité ou un petit groupe. Les développeurs pensent qu'il est important de garder la participation accessible aux joueurs de toutes tailles pour éviter la consolidation du pouvoir et l'émergence d'un point de contrôle unique. C'est pour cette raison qu'il y a eu une telle résistance à augmenter la limite de taille de bloc en bitcoin. La limite consiste à étrangler l’ensemble du système, en le maintenant largement accessible.

Il convient de noter que des accords locaux peuvent être conclus entre les parties pour transférer des pièces sans effectuer de mise à jour globale. Cette opération est souvent appelée transaction de couche 2 ou hors chaîne et a de profondes répercussions sur l’intensification des transactions (pas nécessairement les utilisateurs). L'idée est que les transactions peuvent être agrégées entre les parties avant d'être écrites dans la blockchain. La fenêtre permettant de passer de l'état local à la chaîne de blocs globale peut durer plusieurs mois, voire davantage, dans certaines conceptions.

Les ingénieurs sont optimistes sur le fait que les solutions de couche 2 apporteront une évolutivité massive aux chaînes de blocs et seront essentielles pour que les crypto-monnaies puissent répondre aux demandes d'une large base d'utilisateurs. Cependant, même si la couche 2 est un puissant levier, elle ne peut qu'amplifier l'échelle de la blockchain de base. La couche 2 ne peut pas fournir seule une échelle illimitée. Par conséquent, il est important d’optimiser le réseau afin d’utiliser le moins de ressources possible pour chaque transaction.

Le problème

    La blockchain Bitcoin décentralisée est un média de diffusion partagé à l'échelle mondiale - probablement le mode de communication le plus incroyablement inefficace jamais conçu par l'homme.

    - Greg Maxwell

Le problème fondamental de la couche 1 est que les copies du registre doivent rester synchronisées à travers le monde. Chaque nœud complet stocke une copie de la blockchain. Ces copies doivent être identiques et vérifiées indépendamment par chaque nœud.

Lorsqu'un nouveau bloc est trouvé, il doit être communiqué à tous les autres nœuds. La latence est particulièrement critique pour les nœuds d’exploitation minière, car ils doivent travailler en permanence sur le bloc le plus récent, sinon leurs efforts sont vains. Afin de vérifier le bloc le plus récent, les mineurs doivent savoir quelles transactions sont incluses et avoir des copies de toutes ces transactions.

Actuellement, le logiciel Bitcoin utilise une approche naïve pour propager des transactions et des blocs. Les transactions sont transmises à tous les pairs dès leur réception. Les blocs sont transmis en gros sans tenir compte des données que le destinataire peut déjà avoir. Ces inefficacités ne sont pas tolérables pour les mineurs qui doivent s’assurer qu’ils ont accès au bloc le plus récent.

Remèdes

Ces inefficiences au sein de Bitcoin sont bien connues. Des efforts visant à rendre le réseau plus efficace en termes de réduction de la surcharge de bande passante et d’accélération de la propagation se poursuivent depuis des années. L'ancien responsable de Bitcoin, Gavin Andresen, a publié une feuille de route pour la propagation de blocs O (1) en 2014. La feuille de route a été modifiée de manière significative depuis, mais les idées sont toujours pertinentes.

Visualisation du réseau FIBRE. Crédit: bitcoinfibre.org



Réseaux de relais

Les mineurs ont pris l’initiative de mettre en place des réseaux de relais tels que FIBER et Falcon . Ces réseaux de relais fonctionnent en utilisant des connexions à faible temps de latence + bande passante élevée, mais ils présentent des inconvénients tels qu’ils sont centralisés et utilisent une quantité importante de bande passante afin de minimiser le temps de latence. Ils ne réduisent pas les besoins globaux en bande passante liés à l'exécution d'un nœud non minier, ce qui est nécessaire avant que les ingénieurs ne se sentent à l'aise pour faire évoluer le système.

Blocs Compact

Lorsqu'il est temps de transmettre un bloc, il est sous-optimal de transmettre les transactions que le destinataire a déjà. Le cryptographe Greg Maxwell a reconnu que les destinataires connaissent déjà une bonne partie des éléments inclus dans un bloc récemment trouvé. Concrètement, le mempool des destinataires (ensemble de transactions reçues mais non confirmées) contient probablement beaucoup des transactions qui se trouvent dans le nouveau bloc. Il a étudié ce problème et a rédigé une proposition en décembre 2015.

Le développeur principal Matt Corallo a pris le travail de Greg pour le peaufiner et il est devenu BIP152 spécifiant des blocs compacts au début de 2016. Compact Block est un protocole qui envoie l'en-tête de bloc, une liste des identifiants de transaction abrégés et un ensemble de transactions que l'expéditeur croit. Il est peu probable que le destinataire ait plutôt que d'envoyer un bloc avec toutes ses données. Ce changement visait à économiser la bande passante, mais a également pour effet secondaire de réduire le temps de latence.

Erlay

L’approche basée sur la diffusion par flux au sein de Bitcoin n’est clairement pas optimale pour la diffusion des transactions au sein du réseau. Un nœud peut recevoir plusieurs copies de chaque transaction et doit les transférer à chaque pair auquel ils sont connectés. Cela se traduit par une consommation importante de bande passante, entraînant une surcharge inutile. Cela encourage également les nœuds à se connecter à moins de pairs, car chaque pair a besoin d'une bande passante supplémentaire par transaction.

Se connecter à un nombre inférieur de pairs limite la consommation de bande passante, mais cela peut être dangereux car cela ouvre l'utilisateur à ce que l'on appelle une attaque par éclipse. Ethan Heilman , créateur de TumbleBit , a publié un document de recherche sur l'attaque de l'éclipse en 2015. L'idée de base est liée à une attaque de Sybil. Un attaquant prétend appartenir à de nombreuses entités différentes dans le but de confondre la victime. L'attaquant monopolise toutes les connexions sortantes vers le noeud de la victime. En agissant comme la seule source d'informations de la victime, ils extraient des blocs spéciaux pour falsifier l'état actuel. C'est coûteux, mais si l'agresseur peut faire croire à la victime qu'elle a reçu une grosse somme de bitcoins, alors qu'en fait les fonds ont été transférés ailleurs, la victime peut être persuadée qu'elle a reçu des fonds et libéré des biens.

Erlay se traduit par un réseau plus bien connecté et plus robuste. Si un nœud devait se connecter à 32 homologues, les chercheurs d’Erlay découvrent que leurs optimisations lui permettraient d’utiliser 75% de bande passante en moins par rapport au logiciel actuel.

Et après?

La propagation de blocs a été fortement optimisée avec les réseaux de relais utilisés par les mineurs et des blocs compacts pour les utilisateurs de nœuds ordinaires. Néanmoins, les chercheurs s’efforcent de supprimer les frais du système afin de le rendre aussi simple que possible. Une fois que les développeurs sont convaincus que les besoins en bande passante sont aussi bas que possible pour la quantité de débit actuelle, le débit en cours augmentera.




Source:
https://medium.com/scalar-capital/bandwidth-and-the-blockchain-2ad35c57dbdf

Présentation de Greg Maxwell en 2017 sur les progrès de la propagation par blocs
Écrit par
Jordan Clifford
Jump to: