フロントランニングとは、将来のトランザクションを認識した上で、トランザクションをキューに入れる行為です。ブロックチェーン プラットフォームでのフロントランニングは通常、保留中のトランザクションの情報にアクセスできるマイナーが、保留中の取引に基づいて利益を得られる注文を出した際に発生します。たとえば、イーサリアム ブロックチェーンでは、ボットが保留中の取引よりも高いガス価格を提示し、その処理を早めることができる場合にフロントランニングが発生する可能性があります。
フロントランニングが可能な他の当事者はフルノードオペレーターです。フルノードオペレーターは、ネットワークアクティビティを監視する役割を担っており、未確認のトランザクションを認識しています。中央集権型取引所もフロントランニングを行うことができますが、自社の顧客を騙すのは取引所の利益に反します。フロントランニングは他の方法でも実行できます。一般化されたフロントランニングは、潜在的に利益のある契約呼び出しを利用します。
その他の種類の攻撃には、置換、挿入、抑制などがあります。置換攻撃では、悪意のある攻撃者が本物のトランザクションを自分のトランザクションに置き換えます。元のトランザクションは引き続き実行される可能性がありますが、意図したとおりの効果は得られません。一方、挿入攻撃は、資産を保持せずに利益を上げることを目的として、本物のトランザクションを 2 つのトランザクションの間に挟みます。
抑制攻撃は、他の人が取引を実行するのを遅らせることを目的としています。抑制が解除されると、先頭のランナーは抑制された取引についてあまり心配しなくなります。
フロントランニングは、トランザクションを順序付けし、トランザクションの機密性を向上させることで軽減できます。トランザクションの順序付けは、BCH (Bitcoin Cash) で採用されているような標準トランザクション順序付けルールなどの実装を通じて実現できます。一方、機密性は、分散型アプリケーション (DApp) のさまざまなセクションに適用できます。
