BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

あまり知られていない富のコード: 盗むロボットはどれほど強力ですか? |ベイクドスターセレクション

讲道李
特邀专栏作者
この記事は約5261文字で、全文を読むには約8分かかります
ブロックチェーンは科学者にとって現金自動支払機です、これは冗談ではありません。
AI要約
ブロックチェーンは科学者にとって現金自動支払機です、これは冗談ではありません。

エセリウムの暗い森は野生の獣であり、決して怖いものではありません。これらの先制ロボットは、契約の呼び出しを分析して、お金を稼ぐ潜在的な機会を見つけることができます。

フロントランニング マシンについて聞いたことがない人も多いと思います。そこで、まずその概念を簡単に紹介し、フロントランニング マシンの動作を分析します。また、フロントランニング マシンの効率やフロントランニング トランザクションが成功する確率を調査し、さまざまな方法でフロントランニング マシンに抵抗しようとしました。

フロントランナーとは何ですか?

まず、概念を紹介しますと、一般的にフロントランニング トランザクションとは、将来既知のトランザクションが発生する前に、実行キューの最初の位置に別のトランザクションを挿入することを指します。

たとえば🌰、取引所の取引プロセス。たとえば、誰かが Uniswap で大量の ETH (市場を引っ張るのに十分な種類) を購入しようとしている場合、利益を上げる 1 つの方法は、価格が上昇する前に素早く購入し、価格が上昇した後に売却することです。引っ張られる。

プリエンプションは上記の方法に限定されず、清算、レアなNFTの購入、またはユーザーのエラーなど、他にも多くの方法があります。ここで皆さんに概念を紹介したいと思います。MEV、マイナーは価値、つまりトランザクションまたはトランザクションのグループの抽出可能な価値を抽出できます。

ETH チェーン上のトランザクションをプリエンプトするには、対象のトランザクションよりわずかに高い送金手数料の増額を提供し、マイナーがパッケージ化するときに自分のトランザクションを最前面にランク付けするよう奨励できます。ガス価格の高いトランザクションが最初に実行されるため、2 つのトランザクションが同じコントラクト コールから利益を得たい場合、および 2 つのトランザクションが同じブロックにパッケージ化されている場合、誰がガス料金を支払うかに依存する必要があります。スコアが高いほど、先頭に立つことができる人が、アービトラージで首尾よく主導権を握ることができます。

そうは言っても、フロントランニング取引もある程度裁定取引とみなすことができます。

動物行動学

Dan Robinson と Georgios Konstantopoulos が共著した記事「Ethereum is a Dark Forest」では、値の抽出という概念について言及しています。この物語は、12,000米ドル相当のトークンを節約する過程で裁定取引ロボット(「プレデター」)に横取りされる物語です。これらの裁定取引ロボットは非常に高度かつ強力で、イーサリアム取引プール内の裁定取引を追跡し、先に述べたように先を行くことで利益を得ることができます。

Dark Forest という記事は非常に興味深いので、時間があるときに読んでみてください。これを読んだ読者は、この記事はあまりにも想像を絶し、信じられないと思うかもしれません。多数のロボットによって監視されている Uniswap のようなプラットフォームには、食料を奪い取る「超捕食ロボット」がまだ存在します。多くの裁定業者の手によって、お金を盗むのか?これらのいわゆるロボットもまた、普通の裁定業者のグループなのでしょうか?

ただし、知らないからといって、知らないわけではありません。これらは普通のボットではなく、これまで呼び出されたことのないスマート コントラクト関数を呼び出してお金を手に入れることができ、元のトランザクションはプロキシ スマート コントラクトによって難読化されたままになります。

これができるということは、少なくとも全員の警戒を呼び起こすはずです。なぜなら、トランザクションプール内のトランザクションを監視できるということは、大きな武器を持っていることに等しいからです。しかし、さらに懸念されるのは、一部のサービス プロバイダーが「ダーク プール」トランザクション レイヤーを公的に提供し始めていることです。

いわゆる「ダーク プール」トランザクション レイヤーは、Infura などのサービスを使用したり、プライベート ノードを構築したりする必要がなく、トランザクションをマイナーに直接送信し、ネットワーク内の他のノードにトランザクションをブロードキャストしないことを約束します。このようにして、取引は裁定ボットによって発見されることはなく、取引を捕食者から保護することができます。

samczun という有名なホワイトハットがいますが、彼と彼の友人の多くも同じ方法を採用し、抜け穴のある契約から 960 万米ドルを節約することに成功しました。したがって、追加料金を支払うトレーダーにのみ安全なチャネルを提供しながら、マイナーもフロントランニングの取引ボットを実行し始めることは想像に難くありません。

これらのボットは、イーサリアムの他の部分とは異なり、イーサリアム メインネット上でのみ実行されます。たとえば、一部のスマート コントラクトは開発環境またはテストネットでテストできます。一部の予備実験を除いて、最前線のテストネットトランザクションに最前線のロボットを行かせる必要はなく、お金も儲からない。また、彼らのロジックは隠されているため、他の人と同じようにルールに従う必要はありません。

先制ロボットがどのような状況で動き、どのような状況で停止するかはまだわかりません。したがって、現在これらのロボットを追跡することは、希少な野生動物の狩猟に似ており、非常に困難でやりがいのある作業です。そして、すべてのタイプのロボットを見つけることはできず、特定の汎用ロボットのみを見つけることができます。

前述の「特定の一般化されたボットを見つける」という目標を達成するには、特別なトラップを設定する必要があります。これは、秘密文字列の SHA256 ハッシュから作成された新しいスマート コントラクトであり、契約には本人のみが資金を投入します。秘密の文字列を提供した人は契約内の資金を引き出すことができ、誰かが出金トランザクションを送信すると、資金はトランザクションの送信者に直接送信されます。

このトラップを設定する本来のアイデアは、正しい秘密文字列を提供する「おとり」トランザクションを開始し、誰かがこの文字列をコピーするかどうかを確認し、この文字列を含むトランザクションを送信して資金を引き出すことです。 「おとり」取引の前に誰かがそれを手に入れることができれば、誰かが取引を分析し、関連する内容をコピーし、秘密契約の内容を自分自身に与えることができることを意味します。

実験結果は非常に興味深いもので、見たことのない契約書に見たことのない秘密の文字列を与えて資金を盗むという、まさに汎用性と具体性を兼ね備えた最前線ロボットです!

ラッシュボットはどのように機能しますか?

ラッシュロボットの動作メカニズムを見てみましょう。しかし、私たちは彼らの行動からそれを逆に推測することしかできません。なぜなら、お金を稼ぐマシンを作ったら、それを Github で共有するだろうかと誰もが考えているからです。もちろん違います!

まず、次の 2 つのコンポーネントが必要です。

1. イーサリアム アカウント(スマート ウォレット エージェントの有無にかかわらず)

2. 「バックエンド」、つまり操作全体の頭脳は、通常、オフチェーンで行われます。

マシンのオペレータは、何らかのテクノロジーを通じてトランザクション プール内の各トランザクションをチェックし、分析し、パラメータを置き換え (トランザクション呼び出し元の置き換えなど)、結論を導き出すことができます (トランザクションが利益を生むかどうか、この 1 つの値には価値がありません) )。

上の写真はラッシュトレーディングロボットのワークフローを示しています

合理的なロボット モデルは、取引手数料が潜在的な利益を超える取引を先取りすることはなく、特にガス料金が高い場合には取引手数料が高くなる可能性があります。したがって、ロボットを誘惑して餌を取るためには、少なくとも一定の利益を設定する必要があります。

さらに、トランザクション プールには多くのトランザクションがあり、ロボットは各トランザクションを分析する必要があり、時間が逼迫しています。イーサリアムのブロックは平均約 12 秒で生成されるため、トランザクション手数料が十分に高い場合、プリエンプティブ ロボットは次のブロックが掘り出される前にブロックを迅速に分析し、元のトランザクションを迅速に置き換える必要があります。

このプロセスにも一定の確率があります。たとえば、トランザクションがブロードキャストされた後、ブロックはすぐに掘り出され、ロボットにはそれを分析する時間がないため、チャンスはありません。

上記の要因を考慮して、突進するロボットを餌に誘うための次の一連の方法を作成しました。ここからがポイントです! 👇

罠を仕掛ける

契約で設定した初期残高は 0.035 ETH で、現在の価格で約 20 ドルの価値があります。秘密契約とも言われる契約書に保存されているハッシュ値の正しい初期画像を提供できれば誰でもお金を受け取ることができます。次に、資金を取得するトランザクションによってフロントランニング ボット アクションがトリガーされ、別のアカウント取得者が正しい秘密契約を提供して資金を引き出そうとします。

最初のラウンドは失敗しました: 契約を直接呼び出します

トラップが機能することを確認するために、最初にテイカー アカウントを使用してスマート コントラクトを呼び出します。当時はガソリン代が比較的高かったため、突進ロボットを呼び込むことなく契約資金を回収することに成功した。

その理由を考えてみると、利益が少なすぎて先行ロボットにとって魅力的ではないからかもしれないし、取引を含むブロックがすぐに掘られてしまい、先行ロボットに時間がないからかもしれない。返事する。

調整して次のラウンドに備えた。

ラウンド 2 成功: 突進ボットに追加の時間を与えます

今回は、潜在的な利益を増やし、契約の資金を 0.04 ETH に増加し、取引手数料を削減したため、取引を含むブロックがすぐに掘り出されることがなくなり、ロボットがブロックを捕捉するまでの時間が長くなりました。

今度は成功しました!

3 分ほど待ってもトランザクションは掘り出されず、契約内の資金も取得されていません。その後、契約に含まれるすべての内部取引を真剣に調べたところ、資金が他人によって引き出されていたことが判明しました。

私たちのテイカーアカウントによって開始されたトランザクションは 25 Gwei を使用し、フロントランニングロボットは 25.000001111 Gwei を使用しました。これは私たちよりも 0.000001111 Gwei 多いだけであり、2 つのトランザクションは同じブロックにパッケージ化されました。

2回目の復習:ロボットの手がかりを探す

さて、0.04 ETH と手数料で入手できたので、分析してみましょう。

まず、プリエンプティブロボットはコントラクトを直接呼び出しません。テイカーのトランザクションをコピーして自身のアカウントを通じて送信する代わりに、トランザクションをプロキシ スマート コントラクトに送信します。プロキシ スマート コントラクトは、トランザクションを実行するスマート ウォレットとして機能します。

次に、このロボットのアドレスを追跡し、盗みに成功したトランザクションの数を確認し、その動作原理を調べることができます。

上の図は突進ロボット自体のプロキシ コントラクトを示しています。プロキシ コントラクトを逆コンパイルしたところ、主に 2 つの機能があることがわかりました。

出金: 契約内のすべての資金をこのオペレーターに送金します。別の関数は、呼び出すコントラクト、パラメータのリスト、値を渡すパラメータなどのパラメータを受け取る役割を果たします。

出金機能により、代理契約は運営者のスマートウォレットになります。外部関数を呼び出す機能を実行できることに加えて、トランザクションの開始時の残高が終了時の残高を下回らないようにすることもできます。そうでない場合はトランザクションを復元できるため、呼び出しによって引き起こされる潜在的な損失を回避できます。もちろん、ここでの損失にはガソリン代は含まれません。

また、2018 年 5 月にボットの実行が開始されて以来、ボットのパフォーマンスも監視しました。

フロントランに常に同じプロキシ コントラクトとアドレスを使用すると仮定すると、次のように計算できます。これまでに合計約17 ETHを獲得。

上の写真は監視したロボットの収入を示しており、単位はETHです

探索の第 3 ラウンド: 最先端のトレーディング ロボットはどのくらい強力ですか?

ロボットを発見し、前の仮定が正しいことを全員に証明したので、2 番目の契約を使用してコールを混乱させ、おとり契約の資金を取り戻すことができるかどうかをテストしてみましょう。

2 番目のコントラクトはプロキシ コントラクトで、関数を呼び出すことによっておとりコントラクトに保存されている資金を奪います。さらに、2 番目の契約には、資金を取得できる「取得」機能もあります。

ProxyTaker コントラクトをデプロイし、関数を呼び出して資金を取り戻そうとします。プロキシコントラクトを使用して資金を引き出すコストは比較的高いため、「おとり」コントラクトの資金を0.055 ETHに増加しました。案の定、その取引はすぐに別のロボットに奪われてしまいました。

このロボットはちょっとすごいです。出金取引を検出できるだけでなく、実際に検出できるのです。また、このトランザクションがまったく別のコントラクトからの内部呼び出しであることも識別できます。しかも、この一連のプロセスを非常に短時間で完了できるのは、本当にすごいことです。なぜなら、私たちのトランザクションはわずか数秒でマイニングに成功し、ボットのトランザクションもマイニングに成功したためです。これは衝撃的です。

そして、このロボットの正体も非常に興味深いもので、その契約は arden43y という名前のアカウントによって管理されており、Bancor スマート コントラクトでユーザーの資金を引き出す行為です。

上の写真は、ロボットオペレーターのアカウントがイーサリアムブラウザに残したコメントを示しています:もし私があなたのお金を盗んだと思っていて、それが間違いだったと証明できるなら、私はお金をあなたに返します。

2台目のロボットの動作は最初のロボットと同様で、口座の代理契約を呼び出し、別の口座に資金を送金するという点で、このロボットは救助中のホワイトハットに対する強盗であると疑っています。アクティビティを実行します。

しかし、2 番目のボットは最初のボットよりもはるかに複雑で、最初のボットはイーサリアム チェーンのみに焦点を当てており、2 番目のボットは他の多くの裁定取引も実行します。

そして、2 番目のロボット アカウントの残高は約 300 ETH で、さらに稼いでいます。そして、代理契約アドレスに出入りするすべての資金を考慮すると、2 台目のロボットの合計は約 900 ETH になると推定できます。

最終回:今度はロボットを撃退することに成功

今回は、呼び出しを混乱させるために私たちだけが使用できる新しいプロキシ コントラクト OwnedTaker を使用しました。さらに 0.05 ETH を「おとり」コントラクトに追加しました。また、資金は契約に留まるのではなく、取引を通じて当社に返還されます。

最初の試行では、OwnedTaker コントラクトに送信されたトランザクションは約 1 分後にマイニングされ、資金を「おとり」コントラクトに取り戻すことができました。

実験をもう一度繰り返しました。今回は、これまでに投入した最大の「餌」である「餌」コントラクトに0.06 ETHを再入金したため、先制ロボットが餌を受け取らない可能性を排除できます。

また、取引手数料もあえて低めに設定しており、取引は7分ほど待ちましたが、無事に資金を回収することができました。

結論としては、トランザクションの転送に所有者のみが使用できる Owned プロキシ コントラクトを使用すると、ロボットによるデータの解析やトランザクションの急ぐことを効果的に防ぐことができます。

上の図は、資金を正常に引き出すプロセスを示しています

おそらく、コントラクト所有者のみがコールを実行できるため、または資金がコールコントラクトとは異なるアドレスに送信されたため、私たちはフロントランニングの取引ボットを回避することができました。

これらのロボットは自己保存を優先するようにプログラムされている可能性があります。結局のところ、未知のコントラクトを呼び出すと、そのコントラクトは任意のコードを実行する可能性があります。したがって、利益が保証できない場合には、不必要なリスクや取引手数料の損失を回避することを選択すると合理的に推測できます。

本当にボットを撃退することに成功したのでしょうか?

本当に私たちは勝ったのでしょうか?それは見方次第です。私たちは新しい契約を使用しており、秘密の文字列を知っているのは私たちだけです。どうやら、私たちが捕獲した 2 つの最前線のボットが、取引プール内のすべての取引を検出したようです。彼らが生み出す利益から判断すると、これは確かに彼らの強みです。

前回の実験でジャンプスタートロボットの攻撃にうまく抵抗できたのはなぜでしょうか?

結論は

結論は

この小さな実験を通じて、私たちはラッシュロボットが存在するだけでなく、非常に知能が高いことを証明しました。

もちろん、この実験が不完全であり、信頼できる結論を導き出すことができないことは承知しています。他にもさまざまなトリガー メカニズムとその動作方法を備えた多くの種類のボットがあり、潜在的な利益、通信パターン、ガス料金の上限などの最小限の複雑さなどの要因も、ボットの動作方法に影響を与える可能性があります。

しかし、私たちは、私たちの実験が概念実証を提供し、これらの先制ボットの手口をさらに明らかにすると信じています。

驚くべきことに、誰かが誰でもコールできる利回りを生み出すコントラクトをコールした場合、それが非常に曖昧であっても、フロントランニングボットによってすくい上げられる可能性が十分にあります。

著者: アレックス・マヌスキン

この記事の参考文献:

元のリンク:https://zengo.com/ethology-a-safari-tour-in-ethereums-dark-forest/

著者: アレックス・マヌスキン

ETH
烤仔星选计划
Odaily公式コミュニティへの参加を歓迎します
購読グループ:
https://t.me/Odaily_News
チャットグループ:
https://t.me/Odaily_GoldenApe
公式アカウント:
https://twitter.com/OdailyChina