- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menuConsensus
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
Comment la couche P2P de Bitcoin a vu sa vitesse augmenter dans la dernière version CORE
Le développeur financé par le MIT, Cory Fields, discute de son travail de refonte du code de la couche peer-to-peer de Bitcoin Core – une tâche qui était tout sauf facile.

« Satoshi nous a laissé une masse monolithique de base de code. »
C'était la façon dont le développeur de Bitcoin , Cory Fields, disait que, malgré l'innovation qui lui est souvent attribuée, le code de Bitcoin Core est en quelque sorte un gâchis dans les coulisses.
C'est un problème auquel Fields et d'autres sont confrontés depuis au moins 2015, lorsqu'ila présenté ses plans pour déplacer un morceau de code : la couche peer-to-peer.
Le problème que rencontrent souvent les développeurs est que les composants ne sont pas tous clairement séparés. Ainsi, si les développeurs modifient quelque chose qui n'est censé affecter ONE partie de Bitcoin et son fonctionnement, explique Fields, cela pourrait involontairement affecter une autre partie, par exemple la validation, le pool de mémoire, le portefeuille ou le P2P. D' une ONE , cela complique l' Guides des ficelles du métier pour les nouveaux La rédaction Bitcoin .
Ainsi, dans des projets tels que Fields etlibconsensus (un projet en cours pour permettre aux implémentations alternatives de rester en consensus avec le réseau Bitcoin ), l'objectif est de séparer le code en morceaux plus distincts dans le but de rendre plus facile, et moins nécessaire, pour les développeurs de comprendre comment les pièces s'assemblent.
Fields, dont le travail est financé par la Digital Currency Initiative du MIT, s’est particulièrement attaché à décrypter la base de code peer-to-peer.
Une grande partie de son travail fait sa première apparition dans Bitcoin Core dernière version du logiciel.
Fields a déclaré à CoinDesk:
« Pour autant que je sache, il s’agit de la première refonte à grande échelle du code peer-to-peer. »
Il a toutefois mentionné qu'au fil du temps, de nombreux développeurs, tels que Jonas Schnelli et Matt Corallo, ont contribué à la couche, et surtout que beaucoup d'autres ont participé à l'examen et au test des modifications.
La couche peer-to-peer gère les connexions entre les milliers de nœuds Bitcoin sur le réseau (peut-être plus de 50 000, bien que les chiffres exacts soient difficiles à obtenir), qui « communiquent » constamment entre eux, transmettant des informations lorsque les utilisateurs envoient des bitcoins ou que les mineurs créent de nouveaux blocs.
À découvrir de bugs
ONEun des aspects délicats est que le réseau Bitcoin est évalué à environ 19 milliards de dollars, ce qui signifie que les modifications apportées au code sous-jacent doivent être effectuées avec une extrême prudence.
Pour cette raison et d'autres, la refactorisation n'a T été un processus facile. Pas même pour Fields, qui est ONEun des plus actif La rédaction à Bitcoin CORE. (« Je passe presque toutes mes heures d'éveil sur Bitcoin», a-t-il déclaré.)
Il a d'abord essayé de créer une couche séparée à partir de zéro. Cet effort a « échoué lamentablement ».
Son approche ultérieure consistant à améliorer la base de code existante a sans doute mieux fonctionné que prévu, conduisant à À découvrir d'un bug de « l'ère Satoshi ».
« Alors que je commençais à décomposer les choses, j'ai remarqué quelque chose d'étrange dans l'utilisation de la bande passante de Core lors du téléchargement initial du bloc », a déclaré Fields.
Le problème était que, lorsqu’un nœud téléchargeait des blocs à partir d’un autre nœud, la vitesse à laquelle les blocs étaient transmis était parfois rapide, d’autres fois lente – et à des niveaux inattendus.
En creusant davantage, lui et d'autres développeurs ont déterminé que les nœuds refuseraient obstinément d'envoyer et de traiter des données simultanément (bien que ce soit une simplification excessive). Le nœud n'exécuterait qu'un ONE processus à la fois.
Correction de vitesse
Le correctif auquel l'équipe est finalement parvenue a fait ses débuts dans la récente publication du code Bitcoin CORE , modifiant la vitesse à laquelle les nœuds peuvent ONE transmettre des informations.
« En particulier, la couche p2p bénéficie d’une accélération considérable », a déclaré Fields.
Il a effectué quelques tests pour comparer la dernière version de Bitcoin (0.13.2) avec la nouvelle version avec les améliorations (0.14.0), en examinant les nœuds déployés dans le cloud sur des instances Amazon EC2 avec deux processeurs et 4 Go de RAM.
Les tests ont montré un doublement de la vitesse – du moins, en comparant les performances d’envoi de données entre deux nœuds v0.13.2, par rapport à deux nœuds v0.14.0.

Le problème ici est que cela pourrait entraîner une amélioration des performances d'un BIT moins de deux fois supérieure sur le réseau réel, selon Fields.
Des avantages durables
Désormais, la couche peer-to-peer est en grande partie séparée du reste.
Il convient de répéter que, mis à part les améliorations de performances mentionnées ci-dessus, la plupart des changements T ceux que les utilisateurs remarqueront, mais constituent plutôt une aubaine pour les développeurs.
Cela dit, l’espoir est qu’ils puissent avoir un impact à plus long terme.
« J’espère que cela nous permettra d’améliorer le P2P à un rythme plus rapide désormais », a déclaré Fields.
Par exemple, il aurait été plus difficile d’effectuer les modifications incluses dans la dernière version de CORE si Fields n’avait pas déjà travaillé à isoler le code.
Il a dit :
« [I]l y avait un changement relativement simple qui pouvait être effectué à temps pour la version 0.14, mais qui aurait été beaucoup plus compliqué auparavant. »
Numérotation rapide Image via Shutterstock. Image de Cory Fields via CoinDesk.
Alyssa Hertig
Journaliste spécialisée dans les technologies chez CoinDesk, Alyssa Hertig est programmeuse et journaliste spécialisée dans le Bitcoin et le Lightning Network. Au fil des ans, ses articles ont également été publiés dans VICE, Mic et Reason. Elle écrit actuellement un livre explorant les tenants et aboutissants de la gouvernance du Bitcoin . Alyssa possède des BTC.
