Bitcoin des transactions répétées : un problème technique intéressant mais peu probable
Les transactions Bitcoin utilisent généralement les 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înera un problème de double dépense. Cependant, dans l'histoire de Bitcoin, il y a effectivement eu deux ensembles de transactions totalement identiques. Cette situation est possible car 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 à la même adresse, avec exactement la même construction, produisant ainsi des transactions totalement identiques. Étant donné que le contenu de la transaction est identique, leurs ID correspondent également.
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. La première série de transactions répétées (d5d2....8599) est d'abord devenue un duplicata, mais il est étrange qu'elle soit apparue pour la première fois sur la blockchain après une autre transaction répétée (e3bf....b468).
L'apparition de transactions répétées a causé certains problèmes au système. Elles peuvent créer de la confusion pour les portefeuilles et les explorateurs de blocs, et rendre difficile la détermination de l'origine des Bitcoins. Cela peut également être exploité pour des attaques, comme payer deux fois une personne avec deux transactions répétées, alors qu'en réalité, seule la moitié des fonds est disponible.
Pour résoudre ce problème, en 2012, les développeurs de Bitcoin ont proposé et mis en œuvre le BIP30 soft fork, interdisant l'utilisation d'ID de transaction en double, sauf si l'ID de la transaction précédente a déjà été dépensé. En septembre 2012, cette règle a été modifiée pour s'appliquer à tous les blocs, à l'exception des deux transactions en double mentionnées précédemment.
En mars 2013, la bifurcation douce BIP34 est entrée en vigueur, exigeant que les transactions coinbase contiennent des informations sur la hauteur du bloc. Cela semble résoudre complètement le problème des transactions en double, car toutes les transactions devraient maintenant être uniques. Cependant, dans certains blocs avant l'activation de BIP34, le premier octet du scriptSig des transactions coinbase correspondait exactement à la hauteur du bloc qui sera valide à l'avenir. Cela signifie que le problème des transactions en double pourrait encore se produire dans le futur.
Le prochain bloc susceptible de voir des transactions répétées est le 1,983,702, prévu pour être produit vers janvier 2046. Cependant, pour exploiter cette vulnérabilité, les mineurs doivent engager des coûts énormes, tandis que les bénéfices restent très limités. Au prix actuel du Bitcoin, cette attaque pourrait nécessiter plus de 15 millions de dollars.
Bien que cette vulnérabilité ne semble pas être un risque majeur pour la sécurité de Bitcoin, les développeurs s'efforcent toujours de trouver des solutions. Une approche possible consiste à appliquer l'engagement SegWit. Dans l'ensemble, il s'agit d'un problème technique peu probable mais intéressant, qui reflète la complexité du système Bitcoin et son processus d'évolution à long terme.
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.
16 J'aime
Récompense
16
5
Partager
Commentaire
0/400
OffchainWinner
· Il y a 4h
Tsk tsk, cela n'a été qu'une seule fois dans l'histoire où une transaction répétée a eu lieu.
Voir l'originalRépondre0
GetRichLeek
· 07-16 01:09
Wouah, mon dieu, j'ai creusé ce trou en 2010. Si j'avais su, j'aurais pu acheter un peu pour rattraper un couteau qui tombe.
Voir l'originalRépondre0
PerpetualLonger
· 07-16 00:57
buy the dip est un tigre de papier, seule la foi peut réchauffer le Portefeuille.
Voir l'originalRépondre0
SellTheBounce
· 07-16 00:57
Le vieux système a encore des bugs, ceux qui achètent à bas prix osent vraiment acheter.
Voir l'originalRépondre0
OnchainGossiper
· 07-16 00:50
Ce bug est vraiment absurde, la fin laisse en haleine.
Le mystère des transactions répétées dans l'histoire du Bitcoin : causes, impacts et risques futurs
Bitcoin des transactions répétées : un problème technique intéressant mais peu probable
Les transactions Bitcoin utilisent généralement les 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înera un problème de double dépense. Cependant, dans l'histoire de Bitcoin, il y a effectivement eu deux ensembles de transactions totalement identiques. Cette situation est possible car 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 à la même adresse, avec exactement la même construction, produisant ainsi des transactions totalement identiques. Étant donné que le contenu de la transaction est identique, leurs ID correspondent également.
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. La première série de transactions répétées (d5d2....8599) est d'abord devenue un duplicata, mais il est étrange qu'elle soit apparue pour la première fois sur la blockchain après une autre transaction répétée (e3bf....b468).
L'apparition de transactions répétées a causé certains problèmes au système. Elles peuvent créer de la confusion pour les portefeuilles et les explorateurs de blocs, et rendre difficile la détermination de l'origine des Bitcoins. Cela peut également être exploité pour des attaques, comme payer deux fois une personne avec deux transactions répétées, alors qu'en réalité, seule la moitié des fonds est disponible.
Pour résoudre ce problème, en 2012, les développeurs de Bitcoin ont proposé et mis en œuvre le BIP30 soft fork, interdisant l'utilisation d'ID de transaction en double, sauf si l'ID de la transaction précédente a déjà été dépensé. En septembre 2012, cette règle a été modifiée pour s'appliquer à tous les blocs, à l'exception des deux transactions en double mentionnées précédemment.
En mars 2013, la bifurcation douce BIP34 est entrée en vigueur, exigeant que les transactions coinbase contiennent des informations sur la hauteur du bloc. Cela semble résoudre complètement le problème des transactions en double, car toutes les transactions devraient maintenant être uniques. Cependant, dans certains blocs avant l'activation de BIP34, le premier octet du scriptSig des transactions coinbase correspondait exactement à la hauteur du bloc qui sera valide à l'avenir. Cela signifie que le problème des transactions en double pourrait encore se produire dans le futur.
Le prochain bloc susceptible de voir des transactions répétées est le 1,983,702, prévu pour être produit vers janvier 2046. Cependant, pour exploiter cette vulnérabilité, les mineurs doivent engager des coûts énormes, tandis que les bénéfices restent très limités. Au prix actuel du Bitcoin, cette attaque pourrait nécessiter plus de 15 millions de dollars.
Bien que cette vulnérabilité ne semble pas être un risque majeur pour la sécurité de Bitcoin, les développeurs s'efforcent toujours de trouver des solutions. Une approche possible consiste à appliquer l'engagement SegWit. Dans l'ensemble, il s'agit d'un problème technique peu probable mais intéressant, qui reflète la complexité du système Bitcoin et son processus d'évolution à long terme.