Bitcoin transactions répétées : une faille intéressante mais à faible risque
Il existe un phénomène rare dans le système Bitcoin : deux ensembles de transactions complètement identiques. Ce cas peut se produire parce que les transactions coinbase n'ont pas d'entrées, mais génèrent directement de nouveaux jetons. Par conséquent, deux transactions coinbase différentes peuvent envoyer le même montant de jetons à la même adresse, et être construites de la même manière, les rendant complètement identiques. Étant donné que ces transactions ont le même contenu, leurs identifiants de transaction (TXID) correspondent également, car le TXID est la valeur de hachage des données de la transaction.
Ces deux ensembles de transactions répétées ont eu lieu entre le 14 et le 15 novembre 2010, avec une durée d'environ 16 heures. Le premier ensemble de transactions répétées (TXID:d5d2....8599) est intercalé entre le second ensemble. Bien que d5d2....8599 soit devenu d'abord une copie, il est étrange qu'il apparaisse pour la première fois sur la blockchain plus tard qu'une autre transaction répétée e3bf....b468.
Les transactions répétées posent clairement certains problèmes. Elles peuvent entraîner une confusion des portefeuilles et des explorateurs de blocs, rendant difficile le suivi de l'origine des Bitcoins. Plus grave encore, elles peuvent être utilisées pour attaquer. Par exemple, un attaquant peut payer quelqu'un deux fois avec deux transactions répétées, mais en réalité, le destinataire ne peut recevoir qu'une moitié des fonds. Cela pourrait être utilisé pour attaquer des échanges, dans le but de les rendre insolvable.
Pour résoudre ce problème, les développeurs de Bitcoin ont pris plusieurs mesures:
Mise en œuvre du soft fork BIP30 en mars 2012, interdisant l'utilisation de TXID en double pour les transactions, sauf si le TXID précédent a déjà été dépensé.
En septembre 2012, Greg Maxwell a modifié les règles pour que la vérification BIP30 s'applique à tous les blocs, et pas seulement à ceux après le 15 mars 2012.
Activation du soft fork BIP34 en mars 2013, exigeant que les transactions coinbase incluent la hauteur du bloc, ce qui a essentiellement résolu le problème des transactions en double.
En novembre 2015, les développeurs ont supprimé la vérification BIP30 des nœuds, car le BIP34 avait déjà résolu ce problème.
Cependant, le BIP34 n'est pas parfait. Dans certains blocs avant l'activation du BIP34, le premier octet des scriptSigs des transactions coinbase correspondait exactement à la hauteur de bloc valide future. Cela signifie qu'il existe toujours une très faible possibilité de générer des transactions en double.
Le prochain bloc susceptible de générer des transactions en double est le 1,983,702, prévu pour être produit vers janvier 2046. Mais pour exploiter cette faille, les mineurs doivent payer un prix énorme. En se basant sur le prix actuel du Bitcoin, le coût de l'attaque pourrait dépasser 15 millions de dollars, et il y a presque aucun bénéfice réel.
Les blocs de vulnérabilité potentiels suivants n'apparaîtront qu'en 2078, à ce moment-là, le coût des attaques pourrait être beaucoup plus élevé. De plus, depuis la mise à niveau SegWit en 2017, les transactions coinbase contiennent également un engagement envers toutes les transactions dans le bloc, ce qui augmente encore la difficulté des attaques.
En résumé, bien que cette vulnérabilité de transaction répétée existe théoriquement, compte tenu de la difficulté d'en tirer parti, des coûts associés et de la rareté extrême des occasions, elle ne constitue pas une menace principale pour la sécurité du Bitcoin. Néanmoins, ce problème a toujours suscité l'intérêt des développeurs, qui pourraient chercher à corriger complètement cette vulnérabilité avant 2046, probablement par le biais d'un fork léger.
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.
10 J'aime
Récompense
10
5
Partager
Commentaire
0/400
AllInAlice
· Il y a 15h
C'est une vieille habitude, qui a encore peur de ça.
Voir l'originalRépondre0
Ser_Liquidated
· Il y a 15h
BTC ne vieillit jamais, gagner de l'argent en toute conscience.
Voir l'originalRépondre0
SchrodingerPrivateKey
· Il y a 15h
C'est déjà réparé, c'est un vieux calendrier.
Voir l'originalRépondre0
ForkMonger
· Il y a 15h
il n'est jamais trop tard pour un peu de fud sur la gouvernance...
Voir l'originalRépondre0
WalletManager
· Il y a 15h
Les défauts ne cachent pas les qualités. La sécurité off-chain est primordiale.
Vulnérabilité de transaction répétée de Bitcoin : un problème historique intéressant et un risque minime
Bitcoin transactions répétées : une faille intéressante mais à faible risque
Il existe un phénomène rare dans le système Bitcoin : deux ensembles de transactions complètement identiques. Ce cas peut se produire parce que les transactions coinbase n'ont pas d'entrées, mais génèrent directement de nouveaux jetons. Par conséquent, deux transactions coinbase différentes peuvent envoyer le même montant de jetons à la même adresse, et être construites de la même manière, les rendant complètement identiques. Étant donné que ces transactions ont le même contenu, leurs identifiants de transaction (TXID) correspondent également, car le TXID est la valeur de hachage des données de la transaction.
Ces deux ensembles de transactions répétées ont eu lieu entre le 14 et le 15 novembre 2010, avec une durée d'environ 16 heures. Le premier ensemble de transactions répétées (TXID:d5d2....8599) est intercalé entre le second ensemble. Bien que d5d2....8599 soit devenu d'abord une copie, il est étrange qu'il apparaisse pour la première fois sur la blockchain plus tard qu'une autre transaction répétée e3bf....b468.
Les transactions répétées posent clairement certains problèmes. Elles peuvent entraîner une confusion des portefeuilles et des explorateurs de blocs, rendant difficile le suivi de l'origine des Bitcoins. Plus grave encore, elles peuvent être utilisées pour attaquer. Par exemple, un attaquant peut payer quelqu'un deux fois avec deux transactions répétées, mais en réalité, le destinataire ne peut recevoir qu'une moitié des fonds. Cela pourrait être utilisé pour attaquer des échanges, dans le but de les rendre insolvable.
Pour résoudre ce problème, les développeurs de Bitcoin ont pris plusieurs mesures:
Mise en œuvre du soft fork BIP30 en mars 2012, interdisant l'utilisation de TXID en double pour les transactions, sauf si le TXID précédent a déjà été dépensé.
En septembre 2012, Greg Maxwell a modifié les règles pour que la vérification BIP30 s'applique à tous les blocs, et pas seulement à ceux après le 15 mars 2012.
Activation du soft fork BIP34 en mars 2013, exigeant que les transactions coinbase incluent la hauteur du bloc, ce qui a essentiellement résolu le problème des transactions en double.
En novembre 2015, les développeurs ont supprimé la vérification BIP30 des nœuds, car le BIP34 avait déjà résolu ce problème.
Cependant, le BIP34 n'est pas parfait. Dans certains blocs avant l'activation du BIP34, le premier octet des scriptSigs des transactions coinbase correspondait exactement à la hauteur de bloc valide future. Cela signifie qu'il existe toujours une très faible possibilité de générer des transactions en double.
Le prochain bloc susceptible de générer des transactions en double est le 1,983,702, prévu pour être produit vers janvier 2046. Mais pour exploiter cette faille, les mineurs doivent payer un prix énorme. En se basant sur le prix actuel du Bitcoin, le coût de l'attaque pourrait dépasser 15 millions de dollars, et il y a presque aucun bénéfice réel.
Les blocs de vulnérabilité potentiels suivants n'apparaîtront qu'en 2078, à ce moment-là, le coût des attaques pourrait être beaucoup plus élevé. De plus, depuis la mise à niveau SegWit en 2017, les transactions coinbase contiennent également un engagement envers toutes les transactions dans le bloc, ce qui augmente encore la difficulté des attaques.
En résumé, bien que cette vulnérabilité de transaction répétée existe théoriquement, compte tenu de la difficulté d'en tirer parti, des coûts associés et de la rareté extrême des occasions, elle ne constitue pas une menace principale pour la sécurité du Bitcoin. Néanmoins, ce problème a toujours suscité l'intérêt des développeurs, qui pourraient chercher à corriger complètement cette vulnérabilité avant 2046, probablement par le biais d'un fork léger.