Un développeur de Bitcoin Core sauve Bitcoin Cash d’une faille fatale
Quand l’entraide émerge entre anarchie et rivalité – Un développeur de Bitcoin Core repère une faille fatale affectant les règles de consensus de la chaîne de Bitcoin Cash. Il décide, par conviction, de sauver son petit frère aux blocs à l’embonpoint certain, plutôt que de le regarder chuter et ne jamais se relever.
Wow. BCH had a consensus vulnerability. Core dev Cory Fields anonymously lets them know. They fix and continue without the issue. Read the whole thing. https://t.co/GypIq1JFA0
— Jimmy Song (송재준) (@jimmysong) August 9, 2018
Pas de rancune pour les big blockers
Le 25 avril 2018, Cory Fields repérait une vulnérabilité critique dans le code source de Bitcoin Cash. Ce développeur chevronné de Bitcoin Core, visiblement doté d’un très bon fond, décide alors de prévenir l’équipe en charge de la maintenance de Bitcoin Cash pour leur permettre d’apporter un correctif.
Détaillant dans une note de blog en anglais sa démarche, Cory Fields explique dédier son temps au développement et au maintien de Bitcoin Core. Mais il précise qu’il considère à titre personnel que la recherche continue, nécessaire pour éviter l’exploitation mal-intentionnée de bugs catastrophiques, n’est que balbutiante dans la cryptosphère, et très loin d’être suffisante. Il considère qu’il est de son devoir d’alerter quand il en a l’occasion sur ces vulnérabilités et leurs retombées catastrophiques possibles. C’est dans cet état d’esprit qu’il a donc scruté le code source de Bitcoin Cash (BitcoinABC) après une énième mise à jour en début d’année 2018. Et ce qu’il a repéré l’a laissé pantois.
SIGHASH_BUG : une séparation accidentelle en chaînes incompatibles, et plus seulement concurrentes
Le développeur a donc identifié le SIGHASH_BUG. En résumé, une vulnérabilité nouvellement induite par une des dernières mises à jour entraînait la suppression d’une vérification capitale lors de l’envoi des transactions au réseau Bitcoin Cash. Du fait de l’absence de cette vérification, un attaquant aurait pu soumettre une transaction formatée volontairement de telle sorte qu’elle aurait provoqué une scission de la blockchain Bitcoin Cash en deux chaînes incompatibles entre elles. Le souci principal, identifié par Cory Fields, est qu’en proportion, la chaîne se serait scindée en deux chaînes concurrentes, d’à peu près 50% des transactions pour chaque. Ainsi, Bitcoin Cash aurait littéralement implosé.
Grâce à l’aide de Cory Fields, qui a donc pris contact anonymement avec les développeurs de Bitcoin Cash, la vulnérabilité a pu être corrigée sans incident nouveau jusqu’ici. Elle a ensuite été annoncée le 7 mai par les développeurs de Bitcoin Cash sur leur site officiel. Une bien belle histoire, à n’en pas douter. Une illustration que, malgré les rivalités et les tentatives de coups de Jarnac avortées de BCash, des développeurs désintéressés de Bitcoin Core peuvent considérer qu’il vaut mieux sauver une pâle copie branlante de Bitcoin que seulement la regarder se faire déchiqueter… et ses acheteurs avec.
Mais à la place de Cory Fields, combien auraient simplement pris leur mal en patience et attendu de voir le monde de BCash brûler ?
Sources : Cryptovest ; Bitcoin ABC ; Medium || Images from Shutterstock & Giphy