- 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
Le risque de double dépense persiste après le fork Bitcoin du 4 juillet
Une bifurcation dans le réseau Bitcoin a soulevé des problèmes concernant la manière dont les principaux participants du réseau de paiement traitent et confirment les transactions.
La mise en œuvre retardée d'une mise à jour de Bitcoin CORE par un petit nombre de mineurs du réseau a entraîné l'ajout de blocs de transactions invalides à la blockchain Bitcoin ce week-end.
Le résultat fut une bifurcation du réseau, créant deux versions de la blockchain Bitcoin , qui se poursuivit pendant six blocs le 4 juillet. Trois blocs invalides supplémentaires furent ajoutés à la blockchain, réitérant ainsi le problème le lendemain.
En conséquence, les développeurs CORE a émis un avertissement sur Bitcoin.org demandant aux fournisseurs de portefeuilles d'exercer une surveillance accrue sur les transactions entrantes en raison du risque que les fonds soient dépensés deux fois en raison de l'écart entre les chaînes.
L'article, toujours en ligne sur le site Web, conseille à ces entités d'attendre 30 confirmations supplémentaires avant de considérer les transactions comme valides.
La racine du problème
Au cœur du problème se trouve sans doute la nature décentralisée de la blockchain Bitcoin et le degré de contrôle que ses participants exercent sur la manière dont ils contribuent à la vérification des transactions sur le registre distribué de la monnaie numérique.
Cette capacité des utilisateurs à avoir un certain contrôle sur la façon dont ils interagissent avec le réseau, par exemple, permet aux mineurs de négliger les modifications logicielles et au réseau de continuer à fonctionner même s'ils le font.
Par mesure de précaution, les développeurs du CORE ont attendu qu'une majorité des mineurs implémentent les changements. Dans ce cas, BIP66 – un soft fork de Bitcoin conçu pour rendre le réseau moins dépendant de l'analyse des signatures d'OpenSSL – a déclaré que certains blocs de transactions créés sans cette mise à jour seraient considérés comme invalides une fois que la majorité – 950 blocs sur 1 000 – seraient extraits avec la dernière version.
En théorie, le risque de problème était faible, seuls 5 % du réseau exécutant la version obsolète de BIP66. Cependant, en pratique, trois pools exécutant des versions allégées d'éléments logiciels ont pu traiter six blocs consécutifs qui auraient dû être invalides, créant ainsi deux versions de la blockchain Bitcoin , la plus ancienne fonctionnant avec un logiciel plus ancien.
Dans ce cas, certains pools miniers étaientexploitation minière SPV, ce qui signifie qu'ils ne validaient pas la version complète de la blockchain Bitcoin . De ce fait, ces blocs invalides étaient considérés comme valides par les fournisseurs de portefeuilles Bitcoin et les explorateurs de blocs exécutant des versions SPV des logiciels, contrairement aux nœuds complets contenant l'historique complet du registre.
Fabio Federici, PDG du fournisseur de renseignements sur la blockchain Coinalytics, a expliqué à CoinDesk:
Les clients SPV prétendaient Réseaux sociaux les règles BIP66, mais ne les appliquaient pas réellement. Une grande partie du réseau minier ne fonctionne pas sur des nœuds complets, ce qui permettrait de valider chaque transaction.
Bien qu'initié par F2Pool, si les autres pools miniers avaient exécuté un nœud complet pour traiter l'intégralité de la blockchain Bitcoin , les blocs invalides auraient dû être détectés plus rapidement.
Consensus commun
Bien que cela ne soit pas inhabituel avec les mises à jour logicielles, la situation était remarquable car le bloc invalide a ensuite été développé par le plus grand réseau minier.
Peter Gray, fondateur de l'API de développement Bitcoin Coinkite, a noté que les problèmes liés aux mises à jour logicielles sont courants, résultant des mises à niveau continues apportées au réseau de paiement.
« Je pense qu'il est utile de rappeler que des forks se produisent chaque semaine sur Bitcoin. En général, un seul bloc devient orphelin au cours d'une semaine, et ce n'est ni un bug, ni une attaque, ni quoi que ce soit d'autre ; c'est simplement le fonctionnement de Bitcoin », a déclaré Gray.
Les sociétés minières qui ont résolu les blocs invalides ont perdu des revenus en raison de la nécessité de corriger le problème, Bitcoin.org estimant que 50 000 $ de revenus ont été effectivement retenus sur F2Pool, AntPool et BTC Nuggets, le trois pools miniersqui a effectivement créé et propagé brièvement la chaîne invalide.
Les récompenses n'ont finalement jamais été versées car les gains de 25 BTC par bloc ont été envoyés vers un portefeuille Bitcoin qui a invalidé les blocs après la synchronisation avec la chaîne valide.
Effets secondaires
Dans son avertissement, Bitcoin.org a déclaré que les clients dont les transactions en Bitcoin ont été confirmées avant minuit (UTC) le 6 juillet n'ont pas été affectés par le problème, bien que les transactions effectuées après cette heure soient considérées comme ayant des scores de confirmation « nettement moins fiables ».
Bitcoin.org expliquéla confirmation deblocs invalidesest dû au fait que les clients logiciels ne se mettent pas à niveau vers Bitcoin CORE 0.9.5 ou une version ultérieure et a averti que les portefeuilles légers utilisant SPV et les portefeuilles Web étaient particulièrement vulnérables au bogue.
Prévenant que le problème restait non résolu, Bitcoin a exhorté les utilisateurs à « attendre 30 confirmations de plus » que d'habitude avant d'accepter une transaction comme valide. Il a également recommandé aux mineurs de passer à un pool validant les blocs de transactions à l'aide d'un nœud complet et d'utiliser Bitcoin CORE 0.10.2.
En ce qui concerne les points à retenir plus importants, ceux qui ont fourni des commentaires ont suggéré que l'événement devrait être utilisé comme un rappel de la nécessité pour les principaux participants du réseau Bitcoin d'exécuter des nœuds complets.
« Le point essentiel à retenir est la répartition des nœuds complets par rapport aux nœuds SPV. Tout le monde devrait utiliser un nœud complet, même si cela n'est peut-être T judicieux d'un point de vue économique ou s'il existe d'autres avantages à utiliser un client SPV, mais cela comporte des risques », a poursuivi Federici.
Yessi Bello-Perez a contribué au reportage.
Image d'une bifurcationvia Shutterstock
Pete Rizzo
Pete Rizzo était rédacteur en chef de CoinDesk jusqu'en septembre 2019. Avant de rejoindre CoinDesk en 2013, il était rédacteur chez PYMNTS.com, la source d'informations sur les paiements.
