Aller au contenu principal

FEE SNIPING

ATTAQUE Traduction en français : CHASSE AUX FRAIS

Scénario d’attaque dans lequel des mineurs cherchent à réécrire un bloc récemment confirmé dans le but de récupérer les frais de transaction qu’il contient, tout en y ajoutant des transactions à frais élevés arrivées entre-temps dans la mempool. L’objectif final de cette attaque pour le mineur est d’augmenter sa rentabilité. Le fee sniping peut devenir de plus en plus profitable à mesure que la récompense de bloc diminue et que les frais de transaction représentent une part plus importante dans les revenus des mineurs. Elle peut également être avantageuse lorsque les frais contenus dans le bloc précédent sont nettement supérieurs à ceux du meilleur bloc candidat suivant. Pour simplifier, le mineur est face à ce choix en termes d’incitations :

  • Miner de manière normale à la suite du dernier bloc, avec une forte probabilité de remporter une récompense faible ;
  • Tenter de miner un bloc antérieur (fee sniping), avec une faible probabilité de remporter une récompense élevée.

Cette attaque constitue un risque pour le système Bitcoin, car plus les mineurs l’adoptent, plus les autres mineurs, initialement honnêtes, sont incités à en faire autant. En effet, chaque fois qu’un nouveau mineur s’ajoute à ceux qui tentent un fee sniping, la probabilité qu’un des mineurs attaquants réussisse augmente, et la probabilité qu’un des mineurs honnêtes étende la chaîne diminue en contrepartie. Si cette attaque est menée de manière massive et maintenue dans le temps, les confirmations de bloc ne seraient plus un indicateur fiable de l’immuabilité d’une transaction Bitcoin. Cela rendrait potentiellement le système inutilisable.

Pour contrer ce risque, la plupart des logiciels de portefeuille remplissent automatiquement le champ nLocktime afin qu’il conditionne la validation de la transaction à l’inclusion dans la prochaine hauteur de bloc. Ainsi, il devient impossible d’inclure la transaction dans une réécriture du bloc précédent. Si l’utilisation massive du nLocktime est adoptée par les utilisateurs de Bitcoin, cela réduit considérablement les incitations au fee sniping. En effet, cela encourage la progression de la blockchain plutôt que sa réécriture en réduisant les potentiels bénéfices de celle-ci. Pour les transactions Taproot, le BIP-0326 propose d’utiliser le champ nSequence de manière similaire pour obtenir l’effet équivalent à celui du champ nLocktime pour les autres types de transactions. Cette utilisation permettrait de faire d’une pierre deux coups en améliorant également la confidentialité des protocoles de seconde couche qui utilisent ce même champ.

Termes associés :