Share this article

Suite à un « échec majeur », la révision du code Bitcoin fait l'objet d'un examen minutieux

À la suite d'une grave vulnérabilité de code, les développeurs de Bitcoin se demandent si les processus actuels de révision du code sont suffisants pour empêcher de nouvelles défaillances.

IMG_3569

« Choc » est peut-être le mot qui décrit le mieux l’ambiance qui règne depuis que ONEun des bugs les plus graves du Bitcoin a été découvert et corrigé la semaine dernière.

Alors que la communauté est sous le choc de la vulnérabilité qui a étécaché dans le code depuis deux ans, et cela aurait pu êtreexploité pour imprimer plus de bitcoinsque les 21 millions sont codés en dur pour être produits, les développeurs se demandent : existe-t-il un moyen d'empêcher qu'un bug aussi grave soit à nouveau ajouté au code ?

Story continues
Don't miss another story.Subscribe to the Crypto for Advisors Newsletter today. See all newsletters

Quelques jours après la découverte, aucune proposition officielle T été formulée. Cela ne signifie pas pour autant que l'événement n'a T suscité de discussions sur le fonctionnement du Bitcoin et sur la manière d'identifier et de corriger à l'avenir des bugs similaires dans l'implémentation logicielle la plus populaire de la cryptomonnaie, Bitcoin CORE.

C'est aussi une question importante : que se passerait-il si un acteur malveillant avait découvert l'exploit en premier ? Que se passerait-il s'il existait déjà d'autres bugs cachés dans le code ?

À ce stade, le modérateur pseudonyme du subreddit Bitcoin « Theymos » a exhorté la communauté à ne pas oublier le bug.

Il argumentéc'était « indéniablement un échec majeur » dans un message largement diffusé, ajoutant :

« Si toutes les politiques et pratiques de Bitcoin Core restent les mêmes, il est inévitable qu'un échec similaire se reproduise, et nous pourrions ne pas avoir autant de chance avec l'issue de la situation cette fois-ci. »

Cela dit, on peut affirmer que Bitcoin CORE, alimenté par un réseau ouvert de participants mondiaux, dispose désormais d'un processus de révision de code plus robuste qu'à n'importe quel autre moment de l'histoire de la technologie.

À l’heure actuelle, la mise en œuvre aplus de développeurs que jamais Contribuer à la base de code open source. De plus, il est BIT testé ; selon une estimation, les tests représentent près de 20 % de la base de code.

La « faute » de la communauté

Cependant, les développeurs estiment que davantage pourrait être fait pour garantir le bon fonctionnement de la monnaie numérique.

Theymos pense ONE solution serait de développer des tests « plus sophistiqués », conçus pour localiser les bugs graves, mais difficiles à détecter, comme ONE de la semaine dernière. « La communauté devrait peut-être exiger de toutes les grandes entreprises Bitcoin qu'elles affectent des spécialistes des tests qualifiés à CORE», a-t-il poursuivi, ajoutant :

« Actuellement, de nombreuses entreprises T contribuent en rien au développement de CORE . »

James Hilliard, contributeur de Bitcoin CORE , a insisté sur ce point, suggérant que les développeurs pourraient accroître la quantité et la qualité des tests. Cependant, cela pourrait être plus facile à dire qu'à faire. Greg Maxwell, contributeur de Bitcoin CORE, a confirmé dans le fil de discussion de Theymos que les tests sont importants, mais que leur qualité et leur niveau de détail le sont tout autant.

« Concentrer davantage d'efforts sur les tests a été un défi de longue date pour nous, notamment parce que l'art et la science des tests sont tout aussi complexes que tout autre aspect de l'ingénierie système. Les tests requièrent des compétences et des aptitudes particulières que tout le monde ne possède pas », a déclaré Maxwell.

Ce type d’expertise est difficile à trouver.

« Le développement de Bitcoin est largement entravé par la révision du code et il n'y a pas beaucoup de personnes capables de le faire », a déclaré Hilliard à CoinDesk.

Pourtant, beaucoup d'autres estiment que la responsabilité ne devrait T reposer uniquement sur les développeurs. Un sentiment commun était qu'en tant que projet décentralisé sans dirigeants, maintenir Bitcoin exempt d'erreurs est une responsabilité partagée.

« Mon principal problème avec ces nombreuses réactions négatives, c'est que les gens désignent des développeurs spécifiques pour les blâmer. L'ensemble du projet est ouvert, il n'y a pas d'« adhésion » et les utilisateurs ont autant de responsabilités en matière d'audit du code que les développeurs qui y contribuent activement », a déclaré Shinobimonkey, un passionné de Bitcoin sous pseudonyme, à CoinDesk.

Un tel sentiment a été partagé par le mainteneur de Bitcoin CORE, Wladimir van der Laan, quitweeté« C'était une erreur de fusionner le code bogué. Oui, nous avons fait une erreur, mais le « nous » qui a fait une erreur est très large. Toute la communauté a fait une erreur en n'examinant pas les changements consensuels de manière suffisamment approfondie. »

John Newberry, ingénieur en code de chaîneconvenuMême s'il n'a T écrit le code buggé, il a soutenu qu'en tant que développeur dans le monde du Bitcoin , il avait également joué un rôle dans l'erreur, en n'y regardant pas assez attentivement.

Il est allé jusqu'à dire que le code en question lui avait semblé bizarre. Pourtant, il supposait que d'autres l'avaient déjà vérifié.

« Au lieu de vérifier moi-même, je me suis fié à des personnes plus intelligentes et plus sages que moi. Je tenais pour acquis que quelqu'un d'autre avait fait le travail », a-t-il déclaré.

Plusieurs cœurs Bitcoin

Certains affirment néanmoins qu’il y aura toujours un risque de bugs.

« Bitcoin a déjà connu des bugs et il y en aura encore. Ce n'est qu'un logiciel. Il n'y a rien de magique. » tweetéSamson Mow, directeur de l'exploitation de Blockstream.

Dans le même ordre d’idées, une autre idée populaire circule.

Aujourd'hui, dans Bitcoin, il existe un logiciel Bitcoin principal, Bitcoin CORE, géré par 95 pour cent des nœuds Bitcoin . (Du moins, c'est ce que révèle un décompte : il est intéressant de noter qu'il est impossible de voir tous les nœuds Bitcoin , car certains souhaitent plus de Politique de confidentialité et ne divulguent T leur existence au reste du réseau.)

Une idée serait alors de multiplier les implémentations de code Bitcoin . Ainsi, si une implémentation présente un bug désastreux provoquant une panne du réseau, les autres pourraient continuer à fonctionner, assurant ainsi le bon fonctionnement de Bitcoin .

Et dans une certaine mesure, cela existe déjà. Il existe des implémentations de code moins connues, comme Bitcoin Knots et Btcd. Ailleurs dans le monde des Cryptomonnaie , cela devient la norme. Par exemple, Ethereum possède deux implémentations dominantes, geth et parity, chacune pouvant être utilisée par quiconque utilise le logiciel.

Cependant, de nombreux développeurs de Bitcoin craignent que l'ajout de ONE implémentations puisse introduire des problèmes qui seraient encore pires que la vulnérabilité de la semaine dernière.

« Ce que beaucoup de gens ne réalisent pas, c'est que le fait que les gens exécutent différentes implémentations facilite la tâche des attaquants pour partitionner le réseau », a déclaré Andrew Chow, contributeur de Bitcoin CORE. argumentédans une conversation soulignant les avantages et les inconvénients.

De ce fait, les développeurs ne sont T nécessairement d’accord sur ce qui doit être fait exactement.

Theymos l'a peut-être bien exprimé lorsqu'il a dit :

« Je ne sais T exactement comment on peut empêcher que cela se reproduise, mais je sais que ce serait une erreur pour la communauté de négliger ce bug simplement parce qu'il s'est avéré être en grande partie inoffensif cette fois-ci. »

bouclier métalliqueimage via Shutterstock

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.

Alyssa Hertig