Bitcoin : transactions répétées dans les jetons : une vulnérabilité intéressante mais à très faible risque
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 utilisées qu'une seule fois, sinon cela entraînerait un problème de double dépense. Cependant, l'histoire de Bitcoin a effectivement connu deux ensembles de transactions totalement identiques. Cela est dû au fait que les transactions coinbase n'ont pas d'entrées, seulement des jetons nouvellement générés. Par conséquent, deux transactions coinbase peuvent envoyer le même montant à la 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 ont eu lieu entre le 14 et le 15 novembre 2010, sur une période d'environ 16 heures. La première série de transactions répétées est encadrée par la deuxième série. Nous classons les identifiants de transaction commençant par d5d2 comme la première transaction répétée, bien qu'elle soit apparue plus tard sur la blockchain.
Ces transactions répétées ont chacune une valeur de 50 BTC, impliquant un total de 200 BTC, ou peuvent être comprises comme 100 BTC. À ce jour, ces 200 BTC n'ont pas été utilisés. Théoriquement, la personne possédant la clé privée correspondante peut utiliser ces Bitcoin, mais seulement 100 BTC peuvent être récupérés, les autres 100 BTC seront inutilisables. En ce qui concerne le bloc d'origine de ces jetons lorsqu'ils sont utilisés, il peut être impossible de le déterminer.
Les transactions en double peuvent causer de la confusion pour les portefeuilles et les explorateurs de blocs, et peuvent également être utilisées pour des attaques. Par exemple, payer quelqu'un deux fois avec deux transactions en double, mais le destinataire ne peut finalement récupérer que la moitié des fonds. Cela peut être utilisé pour attaquer des échanges, en essayant de causer des problèmes avec leurs fonds.
Pour résoudre ce problème, un fork doux BIP30 a été mis en œuvre en mars 2012, interdisant l'utilisation d'ID de transaction dupliqués, à moins que la transaction précédente ait été utilisée. En septembre 2012, cette règle a été modifiée pour s'appliquer à tous les blocs, ne conservant que les deux ensembles de transactions dupliquées mentionnés ci-dessus.
Le BIP34 activé en mars 2013 exige que les transactions coinbase incluent la hauteur du bloc, ce qui résout essentiellement le problème des transactions en double. Par la suite, les nœuds ont cessé de vérifier coûteusement le BIP30.
Cependant, avant l'activation de BIP34, il existe encore quelques transactions coinbase dont le premier octet du scriptSig correspond exactement à une hauteur de bloc valide future. Le prochain bloc susceptible de provoquer des transactions répétées est 1,983,702, prévu pour être produit en janvier 2046. Mais exploiter cette vulnérabilité coûte très cher, nécessitant de brûler environ 170 BTC, ce qui représente plus de 15 millions de dollars au prix actuel.
Compte tenu de la difficulté et du coût de la copie des transactions, ainsi que de la rareté des opportunités, cette faille n'est pas le principal problème de sécurité du Bitcoin. Cependant, à long terme, les développeurs pourraient résoudre ce problème de manière définitive d'ici 2046, par le biais de mises à jour douces, par exemple.
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.
9 J'aime
Récompense
9
5
Reposter
Partager
Commentaire
0/400
GasFeeCrier
· 08-07 02:02
Un vieux btc de 13 ans, ce bug aurait dû être corrigé depuis longtemps.
Voir l'originalRépondre0
StakeWhisperer
· 08-06 14:11
Bitcoin a beaucoup de potins.
Voir l'originalRépondre0
GasWaster
· 08-04 05:30
lmao imagine worrying about les doublons de tx quand je suis ici à payer 3x frais de gas sur des transactions échouées smh
Voir l'originalRépondre0
HackerWhoCares
· 08-04 05:30
50 btc, rien que d'y penser ça fait mal au cœur.
Voir l'originalRépondre0
hodl_therapist
· 08-04 05:12
J'ai tellement échangé que j'en suis étourdi. Quand y aura-t-il des informations positives ?
Vulnérabilité de double dépense de Bitcoin : rare mais ayant un impact potentiel profond
Bitcoin : transactions répétées dans les jetons : une vulnérabilité intéressante mais à très faible risque
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 utilisées qu'une seule fois, sinon cela entraînerait un problème de double dépense. Cependant, l'histoire de Bitcoin a effectivement connu deux ensembles de transactions totalement identiques. Cela est dû au fait que les transactions coinbase n'ont pas d'entrées, seulement des jetons nouvellement générés. Par conséquent, deux transactions coinbase peuvent envoyer le même montant à la 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 ont eu lieu entre le 14 et le 15 novembre 2010, sur une période d'environ 16 heures. La première série de transactions répétées est encadrée par la deuxième série. Nous classons les identifiants de transaction commençant par d5d2 comme la première transaction répétée, bien qu'elle soit apparue plus tard sur la blockchain.
Ces transactions répétées ont chacune une valeur de 50 BTC, impliquant un total de 200 BTC, ou peuvent être comprises comme 100 BTC. À ce jour, ces 200 BTC n'ont pas été utilisés. Théoriquement, la personne possédant la clé privée correspondante peut utiliser ces Bitcoin, mais seulement 100 BTC peuvent être récupérés, les autres 100 BTC seront inutilisables. En ce qui concerne le bloc d'origine de ces jetons lorsqu'ils sont utilisés, il peut être impossible de le déterminer.
Les transactions en double peuvent causer de la confusion pour les portefeuilles et les explorateurs de blocs, et peuvent également être utilisées pour des attaques. Par exemple, payer quelqu'un deux fois avec deux transactions en double, mais le destinataire ne peut finalement récupérer que la moitié des fonds. Cela peut être utilisé pour attaquer des échanges, en essayant de causer des problèmes avec leurs fonds.
Pour résoudre ce problème, un fork doux BIP30 a été mis en œuvre en mars 2012, interdisant l'utilisation d'ID de transaction dupliqués, à moins que la transaction précédente ait été utilisée. En septembre 2012, cette règle a été modifiée pour s'appliquer à tous les blocs, ne conservant que les deux ensembles de transactions dupliquées mentionnés ci-dessus.
Le BIP34 activé en mars 2013 exige que les transactions coinbase incluent la hauteur du bloc, ce qui résout essentiellement le problème des transactions en double. Par la suite, les nœuds ont cessé de vérifier coûteusement le BIP30.
Cependant, avant l'activation de BIP34, il existe encore quelques transactions coinbase dont le premier octet du scriptSig correspond exactement à une hauteur de bloc valide future. Le prochain bloc susceptible de provoquer des transactions répétées est 1,983,702, prévu pour être produit en janvier 2046. Mais exploiter cette vulnérabilité coûte très cher, nécessitant de brûler environ 170 BTC, ce qui représente plus de 15 millions de dollars au prix actuel.
Compte tenu de la difficulté et du coût de la copie des transactions, ainsi que de la rareté des opportunités, cette faille n'est pas le principal problème de sécurité du Bitcoin. Cependant, à long terme, les développeurs pourraient résoudre ce problème de manière définitive d'ici 2046, par le biais de mises à jour douces, par exemple.