MEVとFlashbot マイナーによるフロントランニングの実態とその解決策の例
2021年05月26日
この記事を簡単にまとめると(AI要約)
目次
- 前提
- Ethereumのトランザクションの仕組み
- フロントランニングの仕組み
- マイナーによってフロントランニングが起こる可能性
- マイナーのゲームが変わることによる問題
- エンドユーザーへの隠れ手数料の問題
- Flashbotとは何か
- 総論
- 参考
前提
本レポートではMiner Extractable Value(以下MEV)とFlashbotの概要を解説します。MEVは「マイナーが抜き取れる利益」のことで、主にEthereumのマイナーが自身のコントロール下にある事柄を利用することで、マイニング報酬とは別に利益を追求できる事象を指します。ここでいうところの「コントロール下にある事象」とはどの未承認トランザクションをどのような順番でブロックに格納し、自身でどのようなトランザクションを生成するかであり、利益の追求方法はフロントランニングやバックランニングを指しています。詳細は次節で説明しますが、この問題はEthereumの仕様に深く結びついているために根本的な対処が難しい上に、エンドユーザーが普段は触れることのない領域で実行されるために可視化が難しく、問題の把握が困難であるという問題を抱えています。
結論からいえば、MEVに対する根本的な解決策は今のところ提示されておらず、情報の透明化やMEVの民主化がFlashbotのチームらによって取り組まれている段階です。
※FlasbotチームによるMEVの試算例
MEVのトランザクション例として以下をご覧ください。
https://etherscan.io/tx/0x901c76edfcae68e6dca402bf84c73887d2e29ab2228feadb0defb67572ddee95
https://explore.flashbots.net/leaderboard
https://explore.flashbots.net/leaderboard
最下部に記載されている手数料がゼロとなっており、このアービトラージのためのトランザクションはマイナー自身によって実行されたか、オンチェーンではなくオフチェーンでマイナーに手数料を支払った何者かによって発行されたトランザクションであることが分かります。
Ethereumのトランザクションの仕組み
Ethereumに限らずブロックチェーンと呼ばれるデータ構造を持つネットワークは、定期的に新しく生成され限られた格納スペースのみを持つブロックにトランザクションを保存していく仕組みになっています。AさんからBさんに1ETHを送る場合、Aさんが保有する秘密鍵を用いて、1ETH分の所有権をBさん宛に書き換える必要があります。この「誰がどのトークンをどれだけ所有しているか」というデータはブロックチェーンに格納されていますから、ブロックチェーンに記録されているデータを変更する必要があります。変更の指図を出すためにAさんは「1ETHの所有権をBさんに変えるように」というトランザクションを送り、そのトランザクションがブロックに含まれることで送金完了となります。
「トランザクションがブロックに含まれる」とは、当該トランザクションを含むブロックがネットワークに承認されることを意味しますが、ここで「どのトランザクションをブロックに含めるか」を決めるのはマイナーです。すべての未承認トランザクションを一つのブロックに含めることができればトランザクションの遅延が起きずに便利ではありますが、Ethereumにもブロックサイズの上限が定められているため(マイナーの投票によってブロックごとに可変ではある)、すべてのトランザクションの合計サイズが一つのブロックのサイズ上限を超えている場合、マイナーはどのトランザクションを次のブロックに含めるかを決めなければなりません。
※免責事項:本レポートは、いかなる種類の法的または財政的な助言とみなされるものではありません。