Bitcoin : un phénomène de répétition des transactions : une vulnérabilité intéressante mais à risque très faible
Aperçu
Les transactions Bitcoin utilisent généralement des sorties non dépensées en se référant à l'ID de la transaction précédente. Ces sorties ne peuvent être dépensées qu'une seule fois, sinon cela entraînerait un problème de double dépense. Cependant, il existe dans l'histoire de Bitcoin deux ensembles de transactions complètement identiques. Cela se produit parce que les transactions coinbase n'ont pas d'entrées, mais génèrent de nouveaux jetons. Par conséquent, deux transactions coinbase différentes peuvent être construites de la même manière, rendant leurs ID de transaction également identiques. En dehors de cela, des ID de transaction en double ne peuvent se produire que s'il y a des collisions de hachage, mais cela est presque impossible dans les fonctions de hachage cryptographiquement sécurisées.
Ces deux ensembles de transactions répétées ont eu lieu entre le 14 et le 15 novembre 2010, sur une période d'environ 16 heures. Bien que d5d2....8599 soit apparu sur la blockchain après e3bf....b468, nous le classons toujours comme la première transaction répétée.
Détails de la transaction répétée
Le navigateur de blocs mempool.space montre un cas où la première transaction en double apparaît dans deux blocs différents. Fait intéressant, différents navigateurs de blocs peuvent avoir des comportements par défaut différents lors de l'affichage des transactions en double.
Parmi les quatre blocs impliqués, seul un bloc contient d'autres transactions, combinant 1 BTC et 19 BTC en une sortie de 20 BTC.
Dépensabilité de la sortie répétée
Chaque transaction répétée a une valeur de 50 BTC, impliquant au total 200 BTC ou 100 BTC, selon la manière dont on comprend cela. À ce jour, ces Bitcoin n'ont pas été dépensés. Théoriquement, la personne possédant la clé privée correspondante peut dépenser ces Bitcoin, mais seulement 100 BTC peuvent être réellement récupérés, car les 50 BTC répétés ne pourront pas être dépensés. Quant à partir de quel bloc ces jetons seront dépensés, cela pourrait être indéfini.
Problème de transactions répétées
Les transactions répétées peuvent causer de la confusion dans les portefeuilles et les explorateurs de blocs, et peuvent également entraîner des risques d'attaques potentiels. Par exemple, cela peut conduire à des paiements en double ou à des attaques contre les échanges.
Mesures correctives
Pour résoudre le problème des transactions répétées, la communauté Bitcoin a pris les mesures suivantes :
BIP30 : proposé et mis en œuvre en 2012, interdit l'utilisation de TXID dupliqués pour les transactions, à moins que le TXID précédent n'ait été dépensé.
BIP34 : activé en 2013, exige que les transactions coinbase incluent la hauteur du bloc, rendant toutes les transactions uniques.
Arrêt de la vérification BIP30 : En 2015, en raison de la mise en œuvre de BIP34, les nœuds ont arrêté la coûteuse vérification BIP30.
Risques potentiels
Bien que le BIP34 ait résolu la plupart des problèmes, il existe encore un risque potentiel de répétition dans certains blocs avant l'activation du BIP34, où les scriptSigs des transactions coinbase pourraient correspondre à la hauteur des blocs futurs. Le prochain bloc susceptible de contenir des transactions en double est le 1,983,702, qui devrait être produit vers janvier 2046.
Conclusion
Compte tenu de la difficulté de copier les transactions, des coûts associés et de la rareté des opportunités d'exploitation, cette faille ne constitue pas une menace principale pour la sécurité de Bitcoin. Cependant, en raison de son unicité et de son impact à long terme, c'est tout de même un problème intéressant qui mérite d'être surveillé. À l'avenir, il pourrait être nécessaire de résoudre ce problème de manière définitive par des moyens tels que des forks doux.
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.
18 J'aime
Récompense
18
6
Partager
Commentaire
0/400
SillyWhale
· 08-06 08:55
Les vulnérabilités ont un certain intérêt.
Voir l'originalRépondre0
FlashLoanPrince
· 08-06 08:54
Le code précoce était vraiment décontracté.
Voir l'originalRépondre0
retroactive_airdrop
· 08-06 08:52
Blockchain n'est pas si simple
Voir l'originalRépondre0
WalletAnxietyPatient
· 08-06 08:49
Pas de panique si la valeur de hachage est mauvaise.
Voir l'originalRépondre0
ForumLurker
· 08-06 08:43
Les détails de l'époque étaient vraiment effrayants.
Le mystère des transactions répétées de Bitcoin : des vulnérabilités rares et des défis futurs
Bitcoin : un phénomène de répétition des transactions : une vulnérabilité intéressante mais à risque très faible
Aperçu
Les transactions Bitcoin utilisent généralement des sorties non dépensées en se référant à l'ID de la transaction précédente. Ces sorties ne peuvent être dépensées qu'une seule fois, sinon cela entraînerait un problème de double dépense. Cependant, il existe dans l'histoire de Bitcoin deux ensembles de transactions complètement identiques. Cela se produit parce que les transactions coinbase n'ont pas d'entrées, mais génèrent de nouveaux jetons. Par conséquent, deux transactions coinbase différentes peuvent être construites de la même manière, rendant leurs ID de transaction également identiques. En dehors de cela, des ID de transaction en double ne peuvent se produire que s'il y a des collisions de hachage, mais cela est presque impossible dans les fonctions de hachage cryptographiquement sécurisées.
Ces deux ensembles de transactions répétées ont eu lieu entre le 14 et le 15 novembre 2010, sur une période d'environ 16 heures. Bien que d5d2....8599 soit apparu sur la blockchain après e3bf....b468, nous le classons toujours comme la première transaction répétée.
Détails de la transaction répétée
Le navigateur de blocs mempool.space montre un cas où la première transaction en double apparaît dans deux blocs différents. Fait intéressant, différents navigateurs de blocs peuvent avoir des comportements par défaut différents lors de l'affichage des transactions en double.
Parmi les quatre blocs impliqués, seul un bloc contient d'autres transactions, combinant 1 BTC et 19 BTC en une sortie de 20 BTC.
Dépensabilité de la sortie répétée
Chaque transaction répétée a une valeur de 50 BTC, impliquant au total 200 BTC ou 100 BTC, selon la manière dont on comprend cela. À ce jour, ces Bitcoin n'ont pas été dépensés. Théoriquement, la personne possédant la clé privée correspondante peut dépenser ces Bitcoin, mais seulement 100 BTC peuvent être réellement récupérés, car les 50 BTC répétés ne pourront pas être dépensés. Quant à partir de quel bloc ces jetons seront dépensés, cela pourrait être indéfini.
Problème de transactions répétées
Les transactions répétées peuvent causer de la confusion dans les portefeuilles et les explorateurs de blocs, et peuvent également entraîner des risques d'attaques potentiels. Par exemple, cela peut conduire à des paiements en double ou à des attaques contre les échanges.
Mesures correctives
Pour résoudre le problème des transactions répétées, la communauté Bitcoin a pris les mesures suivantes :
BIP30 : proposé et mis en œuvre en 2012, interdit l'utilisation de TXID dupliqués pour les transactions, à moins que le TXID précédent n'ait été dépensé.
BIP34 : activé en 2013, exige que les transactions coinbase incluent la hauteur du bloc, rendant toutes les transactions uniques.
Arrêt de la vérification BIP30 : En 2015, en raison de la mise en œuvre de BIP34, les nœuds ont arrêté la coûteuse vérification BIP30.
Risques potentiels
Bien que le BIP34 ait résolu la plupart des problèmes, il existe encore un risque potentiel de répétition dans certains blocs avant l'activation du BIP34, où les scriptSigs des transactions coinbase pourraient correspondre à la hauteur des blocs futurs. Le prochain bloc susceptible de contenir des transactions en double est le 1,983,702, qui devrait être produit vers janvier 2046.
Conclusion
Compte tenu de la difficulté de copier les transactions, des coûts associés et de la rareté des opportunités d'exploitation, cette faille ne constitue pas une menace principale pour la sécurité de Bitcoin. Cependant, en raison de son unicité et de son impact à long terme, c'est tout de même un problème intéressant qui mérite d'être surveillé. À l'avenir, il pourrait être nécessaire de résoudre ce problème de manière définitive par des moyens tels que des forks doux.