MEVとFlashbot マイナーによるフロントランニングの実態とその解決策の例

目次

  • 前提
  • Ethereumのトランザクションの仕組み
  • フロントランニングの仕組み
  • Flashbotとは何か
  • 総論

前提

本レポートではMiner Extractable Value(以下MEV)とFlashbotの概要を解説します。MEVは「マイナーが抜き取れる利益」のことで、主にEthereumのマイナーが自身のコントロール下にある事柄を利用することで、マイニング報酬とは別に利益を追求できる事象を指します。ここでいうところの「コントロール下にある事象」とはどの未承認トランザクションをどのような順番でブロックに格納し、自身でどのようなトランザクションを生成するかであり、利益の追求方法はフロントランニングやバックランニングを指しています。詳細は次節で説明しますが、この問題はEthereumの仕様に深く結びついているために根本的な対処が難しい上に、エンドユーザーが普段は触れることのない領域で実行されるために可視化が難しく、問題の把握が困難であるという問題を抱えています。
結論からいえば、MEVに対する根本的な解決策は今のところ提示されておらず、情報の透明化やMEVの民主化がFlashbotのチームらによって取り組まれている段階です。
https://explore.flashbots.net/

※FlasbotチームによるMEVの試算例
MEVのトランザクション例として以下をご覧ください。
最下部に記載されている手数料がゼロとなっており、このアービトラージのためのトランザクションはマイナー自身によって実行されたか、オンチェーンではなくオフチェーンでマイナーに手数料を支払った何者かによって発行されたトランザクションであることが分かります。

Ethereumのトランザクションの仕組み

Ethereumに限らずブロックチェーンと呼ばれるデータ構造を持つネットワークは、定期的に新しく生成され限られた格納スペースのみを持つブロックにトランザクションを保存していく仕組みになっています。AさんからBさんに1ETHを送る場合、Aさんが保有する秘密鍵を用いて、1ETH分の所有権をBさん宛に書き換える必要があります。この「誰がどのトークンをどれだけ所有しているか」というデータはブロックチェーンに格納されていますから、ブロックチェーンに記録されているデータを変更する必要があります。変更の指図を出すためにAさんは「1ETHの所有権をBさんに変えるように」というトランザクションを送り、そのトランザクションがブロックに含まれることで送金完了となります。
「トランザクションがブロックに含まれる」とは、当該トランザクションを含むブロックがネットワークに承認されることを意味しますが、ここで「どのトランザクションをブロックに含めるか」を決めるのはマイナーです。すべての未承認トランザクションを一つのブロックに含めることができればトランザクションの遅延が起きずに便利ではありますが、Ethereumにもブロックサイズの上限が定められているため(マイナーの投票によってブロックごとに可変ではある)、すべてのトランザクションの合計サイズが一つのブロックのサイズ上限を超えている場合、マイナーはどのトランザクションを次のブロックに含めるかを決めなければなりません。

このレポートはBasicプラン、法人アカウント限定のレポートです。

Basicプランのユーザー、もしくは法人アカウントのユーザーがレポートの続きをお読みいただけます。

タグ