Vulnérabilité des transactions répétées de Bitcoin : Anecdotes historiques et défis futurs

robot
Création du résumé en cours

Bitcoin des transactions répétées : un bug intéressant mais à impact limité

Il existe une vulnérabilité intéressante dans le réseau Bitcoin - les transactions en double. Normalement, les transactions Bitcoin utilisent une sortie non dépensée en faisant référence à l'ID d'une transaction précédente. Ces sorties ne peuvent être dépensées qu'une seule fois, sinon cela entraînera un problème de double dépense. Cependant, dans l'histoire de Bitcoin, il y a effectivement eu deux ensembles de transactions complètement identiques.

Bitcoin des transactions répétées : un bug intéressant avec un risque très faible

Cette situation peut se produire car une transaction coinbase n'a pas d'entrée, mais génère directement de nouveaux jetons. Ainsi, deux transactions coinbase différentes peuvent envoyer le même nombre de Bitcoin à la même adresse, construisant ainsi des transactions identiques. Étant donné que le contenu des transactions est identique, leur ID de transaction (TXID) est également identique.

Ces deux ensembles de transactions répétées ont eu lieu du 14 au 15 novembre 2010, sur une période d'environ 16 heures. Le premier ensemble de transactions répétées a pour ID d5d2....8599, le deuxième ensemble est e3bf....b468. Fait intéressant, d5d2....8599, bien qu'il soit devenu une copie en premier, apparaît sur la blockchain après e3bf....b468.

Bitcoin des transactions répétées : un bug intéressant avec un risque très faible

Ces transactions répétées ont chacune une valeur de 50 BTC, totalisant 200 BTC. D'un certain point de vue, 100 BTC de ce total n'existent en réalité pas. À ce jour, ces 200 BTC n'ont pas été dépensés. Théoriquement, la personne possédant la clé privée correspondante peut dépenser ces Bitcoins, mais une fois dépensés, les 50 BTC en double seront perdus, donc en réalité, seuls 100 BTC peuvent être récupérés.

Les transactions répétées peuvent clairement créer de la confusion pour les portefeuilles et les explorateurs de blocs, et peuvent également être utilisées pour mener des attaques. Par exemple, un attaquant pourrait déposer des fonds sur une bourse avec deux transactions répétées, puis les retirer immédiatement, essayant de faire faillite la bourse.

Pour résoudre ce problème, la communauté Bitcoin a pris plusieurs mesures:

  1. En mars 2012, la bifurcation douce BIP30 a interdit l'utilisation de TXID dupliqués pour les transactions, à moins que le TXID précédent ait été dépensé.

  2. En septembre 2012, Greg Maxwell a modifié les règles pour appliquer la vérification BIP30 à tous les blocs, mais a conservé les deux transactions en double mentionnées précédemment.

  3. En mars 2013, le BIP34 a exigé que les transactions coinbase incluent la hauteur du bloc, ce qui a fondamentalement résolu le problème des transactions en double.

  4. En novembre 2015, le noyau Bitcoin a cessé d'effectuer les vérifications BIP30, car le BIP34 a déjà corrigé ce problème.

Bitcoin des transactions répétées : un bug intéressant avec très peu de risque

Cependant, dans certains blocs avant l'activation de BIP34, le premier octet des scriptSigs des transactions coinbase correspondait exactement à la hauteur de bloc qui sera valide à l'avenir. Cela signifie que le problème des transactions en double n'est pas entièrement résolu à 100 %. Le prochain bloc susceptible de présenter des transactions en double est le 1,983,702, prévu pour être produit vers janvier 2046.

Bitcoin des transactions répétées : un bug intéressant avec un risque très faible

Cependant, le coût d'exploitation de cette vulnérabilité est très élevé. Prenons le bloc 1,983,702 comme exemple, les attaquants doivent brûler environ 170 BTC de frais, soit environ 15 millions de dollars au prix actuel. De plus, ces fonds sont très probablement irrécupérables. En outre, depuis la mise à niveau SegWit en 2017, les transactions coinbase contiennent également un engagement sur toutes les transactions dans le bloc, ce qui augmente encore la difficulté de l'attaque.

Bitcoin des transactions répétées : un bug intéressant avec un risque très faible

Compte tenu de la difficulté et du coût de la copie des transactions, ainsi que de la rareté des opportunités, cette vulnérabilité ne constitue pas une menace majeure pour la sécurité de Bitcoin. Néanmoins, les développeurs continuent de travailler à des solutions correctives, qui pourraient nécessiter une mise en œuvre par le biais d'un soft fork. Une approche possible consiste à imposer le respect de l'engagement SegWit.

Dans l'ensemble, bien que la vulnérabilité des transactions répétées soit intéressante, son impact réel est très limité. Elle reflète davantage la complexité du réseau Bitcoin et les efforts continus des développeurs pour améliorer le système.

Bitcoin des transactions répétées : un bug intéressant à très faible risque

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
ArbitrageBotvip
· Il y a 11h
Avoir des bugs, c'est avoir de l'argent à gagner.
Voir l'originalRépondre0
LiquidationSurvivorvip
· Il y a 11h
Tu corriges les bugs, j'augmente la position~
Voir l'originalRépondre0
PebbleHandervip
· Il y a 11h
Tu n'as toujours pas fini de réparer?
Voir l'originalRépondre0
ShibaMillionairen'tvip
· Il y a 11h
Chang'an n'est pas si bien, c'est toujours compliqué.
Voir l'originalRépondre0
ImpermanentTherapistvip
· Il y a 11h
Le nœud a des problèmes, tout le monde s'y attendait déjà.
Voir l'originalRépondre0
BakedCatFanboyvip
· Il y a 11h
Oh là là, ce bug me semble un peu familier...
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)