Bitcoin dans les transactions répétées : un défaut intéressant et à faible risque
Aperçu
Les transactions Bitcoin utilisent généralement des sorties non dépensées en référant à l'ID de la transaction précédente. Ces sorties ne peuvent être utilisées qu'une seule fois, sinon cela entraînera des problèmes de double dépense. Cependant, il y a eu dans l'histoire de Bitcoin deux ensembles de transactions entièrement identiques. Cette situation est possible car les transactions coinbase n'ont pas d'entrées, mais produisent directement de nouveaux jetons. Ainsi, deux transactions coinbase différentes peuvent envoyer la même quantité au même adresse, de manière complètement identique, générant ainsi le même ID de transaction.
Ces deux séries de transactions répétées se sont produites entre le 14 et le 15 novembre 2010, sur une période d'environ 16 heures. L'ID de la première série de transactions répétées est d5d2....8599, bien qu'elle soit apparue pour la première fois sur la blockchain plus tard qu'une autre transaction répétée e3bf....b468.
Détails des transactions répétées
Ces deux ensembles de transactions répétées apparaissent dans quatre blocs différents. Les explorateurs de blocs auront différents comportements par défaut lors de l'affichage de ces transactions, certains afficheront des blocs plus anciens, tandis que d'autres afficheront des blocs plus récents.
Dans ces quatre blocs connexes, seul un bloc (91,812) contient d'autres transactions, fusionnant 1 Bitcoin et 19 Bitcoin en une sortie de 20 Bitcoin.
Ces sorties peuvent-elles être utilisées ?
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.) À ce jour, ces 200 BTC n'ont pas été utilisés. En théorie, la personne possédant la clé privée correspondante peut utiliser ces jetons, mais une fois utilisés, les 50 BTC répétés ne pourront plus être utilisés à nouveau et seront perdus, donc en pratique, seuls 100 BTC pourraient être récupérés.
Problème de transactions répétées
Les transactions répétées peuvent causer de la confusion aux portefeuilles et aux explorateurs de blocs, et peuvent également rendre l'origine du Bitcoin peu claire. Cela pourrait également être utilisé dans certaines attaques et exploitations, comme des dépôts frauduleux sur des échanges.
Solution
Pour résoudre le problème des transactions en double, un soft fork BIP30 a été mis en œuvre en mars 2012, interdisant l'utilisation d'ID de transaction en double, sauf si la transaction précédente a déjà été utilisée. En septembre de la même année, cette règle a été modifiée pour s'appliquer à tous les blocs.
En mars 2013, le BIP34 a exigé que les transactions coinbase incluent la hauteur du bloc, ce qui a effectivement résolu le problème des transactions répétées. Par la suite, le logiciel principal de Bitcoin a cessé de vérifier le BIP30, car cela n'était plus nécessaire.
Problèmes futurs potentiels
Bien que le BIP34 ait résolu la plupart des problèmes, dans certains blocs avant l'activation du BIP34, le premier octet du scriptSig de la transaction coinbase correspondait exactement à la hauteur de bloc valide future. Cela signifie qu'il est toujours possible qu'il y ait des transactions en double à certaines hauteurs de bloc spécifiques dans le futur.
Le prochain bloc susceptible de générer des transactions répétées est 1,983,702, prévu pour être produit vers janvier 2046. Cependant, le coût d'exploitation de cette vulnérabilité est très élevé, nécessitant de brûler une grande quantité de Bitcoin, et il n'apporte presque aucun avantage pratique aux attaquants.
Conclusion
Compte tenu de la difficulté de copier les transactions, des coûts et de la rareté des opportunités, cette vulnérabilité ne constitue pas une menace majeure pour la sécurité de Bitcoin. Cependant, en raison de son unicité et de sa possibilité d'existence à long terme, elle reste une question technique intéressante. Les développeurs pourraient chercher à résoudre ce problème de manière approfondie avant 2046, peut-être par le biais d'un fork doux. Une solution potentielle serait d'imposer l'engagement SegWit.
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.
13 J'aime
Récompense
13
2
Partager
Commentaire
0/400
SmartMoneyWallet
· Il y a 22h
Les données off-chain ne mentent jamais, 97 % des risques ont été verrouillés par BIP34.
Voir l'originalRépondre0
AltcoinOracle
· Il y a 22h
fascinant de voir comment le protocole évolue... mes métriques propriétaires montrent 0,0021 % de probabilité d'exploitation réelle, pour être honnête
Les vulnérabilités de transactions répétées dans l'histoire du Bitcoin : causes, impacts et analyse des risques futurs
Bitcoin dans les transactions répétées : un défaut intéressant et à faible risque
Aperçu
Les transactions Bitcoin utilisent généralement des sorties non dépensées en référant à l'ID de la transaction précédente. Ces sorties ne peuvent être utilisées qu'une seule fois, sinon cela entraînera des problèmes de double dépense. Cependant, il y a eu dans l'histoire de Bitcoin deux ensembles de transactions entièrement identiques. Cette situation est possible car les transactions coinbase n'ont pas d'entrées, mais produisent directement de nouveaux jetons. Ainsi, deux transactions coinbase différentes peuvent envoyer la même quantité au même adresse, de manière complètement identique, générant ainsi le même ID de transaction.
Ces deux séries de transactions répétées se sont produites entre le 14 et le 15 novembre 2010, sur une période d'environ 16 heures. L'ID de la première série de transactions répétées est d5d2....8599, bien qu'elle soit apparue pour la première fois sur la blockchain plus tard qu'une autre transaction répétée e3bf....b468.
Détails des transactions répétées
Ces deux ensembles de transactions répétées apparaissent dans quatre blocs différents. Les explorateurs de blocs auront différents comportements par défaut lors de l'affichage de ces transactions, certains afficheront des blocs plus anciens, tandis que d'autres afficheront des blocs plus récents.
Dans ces quatre blocs connexes, seul un bloc (91,812) contient d'autres transactions, fusionnant 1 Bitcoin et 19 Bitcoin en une sortie de 20 Bitcoin.
Ces sorties peuvent-elles être utilisées ?
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.) À ce jour, ces 200 BTC n'ont pas été utilisés. En théorie, la personne possédant la clé privée correspondante peut utiliser ces jetons, mais une fois utilisés, les 50 BTC répétés ne pourront plus être utilisés à nouveau et seront perdus, donc en pratique, seuls 100 BTC pourraient être récupérés.
Problème de transactions répétées
Les transactions répétées peuvent causer de la confusion aux portefeuilles et aux explorateurs de blocs, et peuvent également rendre l'origine du Bitcoin peu claire. Cela pourrait également être utilisé dans certaines attaques et exploitations, comme des dépôts frauduleux sur des échanges.
Solution
Pour résoudre le problème des transactions en double, un soft fork BIP30 a été mis en œuvre en mars 2012, interdisant l'utilisation d'ID de transaction en double, sauf si la transaction précédente a déjà été utilisée. En septembre de la même année, cette règle a été modifiée pour s'appliquer à tous les blocs.
En mars 2013, le BIP34 a exigé que les transactions coinbase incluent la hauteur du bloc, ce qui a effectivement résolu le problème des transactions répétées. Par la suite, le logiciel principal de Bitcoin a cessé de vérifier le BIP30, car cela n'était plus nécessaire.
Problèmes futurs potentiels
Bien que le BIP34 ait résolu la plupart des problèmes, dans certains blocs avant l'activation du BIP34, le premier octet du scriptSig de la transaction coinbase correspondait exactement à la hauteur de bloc valide future. Cela signifie qu'il est toujours possible qu'il y ait des transactions en double à certaines hauteurs de bloc spécifiques dans le futur.
Le prochain bloc susceptible de générer des transactions répétées est 1,983,702, prévu pour être produit vers janvier 2046. Cependant, le coût d'exploitation de cette vulnérabilité est très élevé, nécessitant de brûler une grande quantité de Bitcoin, et il n'apporte presque aucun avantage pratique aux attaquants.
Conclusion
Compte tenu de la difficulté de copier les transactions, des coûts et de la rareté des opportunités, cette vulnérabilité ne constitue pas une menace majeure pour la sécurité de Bitcoin. Cependant, en raison de son unicité et de sa possibilité d'existence à long terme, elle reste une question technique intéressante. Les développeurs pourraient chercher à résoudre ce problème de manière approfondie avant 2046, peut-être par le biais d'un fork doux. Une solution potentielle serait d'imposer l'engagement SegWit.