Course avant c’est l’acte de mettre en file d’attente une transaction en étant conscient d’une future transaction.
Marche avant sur une plate-forme chaîne de blocs se produit normalement lorsqu’un mineur, qui a accès à des informations sur les transactions en attente, passe une commande qui lui rapporterait un profit basé sur une transaction en attente. Par exemple, sur la blockchain de Ethereumle front running peut se produire lorsque les bots sont en mesure de citer un prix de gaz supérieur à une transaction en attente, accélérant ainsi son traitement.
Les autres sujets capables d’effectuer des opérations frontales sont les opérateurs de nœuds complets, les personnes chargées de surveiller les activités du réseau, et qui sont donc au courant des transactions non confirmées. Pur le échanges centralisés ils peuvent faire de l’avant-garde, même s’il serait contre leur intérêt de tromper leurs clients.
D’autres types d’attaques incluent déplacement (décalage), insertion (insertion) e suppression (effacement).
- Avec une attaque par déplacement, l’attaquant remplace une transaction authentique par la sienne. Bien que le transaction l’original peut encore être exécuté, il n’aura pas l’effet positif escompté.
- Une attaque par insertion, en revanche, insère une véritable transaction entre deux transactions dans le but de réaliser un profit sans détenir d’actif.
- Enfin, l’attaque par suppression vise à retarder l’exécution d’une transaction par d’autres.
L’exécution anticipée peut être atténuée en séquençant les transactions et en améliorant la confidentialité. Le séquencement des transactions est réalisable grâce à des implémentations telles que Règle canonique de commande des transactions utilisé par BCH (Bitcoin Cash). La confidentialité, en revanche, s’applique à différentes sections d’unapplication décentralisée (dApp).