VULNERABILITE DE MURCH-ZAWY
Attaque théorique sur le mécanisme d’ajustement de la difficulté de Bitcoin, décrite par Zawy et formalisée par Murch (Mark Erhardt) en août 2024. Contrairement à l’attaque time warp classique, cette vulnérabilité n’exploite pas l’erreur off-by-one dans le calcul de la durée des périodes de retarget, mais repose sur l’alternance stratégique des horodatages au dernier bloc de chaque période de difficulté.
L’attaquant, qui contrôle une majorité de la puissance de calcul, maintient les horodatages au minimum autorisé par la règle du Median Time Past (MTP) durant chaque période, puis fixe l’horodatage du dernier bloc loin dans le futur pour réduire la difficulté d’un facteur 4. En alternant ensuite entre un horodatage minimal et un horodatage futur pour les derniers blocs de chaque période, il fait osciller la difficulté entre un quart et un seizième de la valeur initiale. Certaines périodes présentent alors une durée calculée négative, mais le protocole la traite comme une demi-semaine, ce qui ne relève la difficulté que d’un facteur 4.
En pratique, l’attaque nécessite environ 16 semaines de minage égoïste. À l’issue de cette période, l’attaquant publie sa chaîne secrète, réorganise environ 8 064 blocs et collecte les récompenses d’environ 39 816 blocs. Murch a proposé une variante qui réduit la difficulté de façon exponentielle en augmentant l’horodatage futur par paliers.
Le BIP-0054 (Consensus Cleanup) corrige cette vulnérabilité en imposant que l’horodatage du dernier bloc d’une période de difficulté soit supérieur ou égal à celui du premier bloc de la même période.