読み込み中...

Uniswap v3 の流動性ファーミングの計算はすべて完全に間違っています! その理由は次のとおりです

2×2=5

それが間違っていることはわかっていても、最初にそれを見たとき、考え直し、「私の計算は何か間違っているのではないか」と考えてしまいます。 右?

Uniswap V3 ユーザー インターフェイスに表示される流動性と TVL (Total Value Locked) の数値が完全に間違っていることを発見したとき、それがまさに私が感じたことです。

Ethereumブロックチェーン全体最大の分散型金融 ( DeFi ) プロジェクト。 何千もの流動性プロバイダーがこれらの数値を毎日使用して投資戦略を構築しています。 それでは、どうしてこれらの数字が不正確になる可能性があるのでしょうか?

計算の間違いを見つけるのに何時間も費やしましたが、どうなるのでしょうか? 間違いはありませんでした。 そして、状況は単なる不正確な TVL よりもさらに悪いです。

しかし、段階的に進めて問題から始めましょう。

問題

まず、TVL とは何ですか?また、どのように使用されるのでしょうか? つまり、TVL は、現在ユーザーによってブロックチェーンまたはプロトコルに委任されているすべての暗号資産のドル価値としてdefiれます。 たとえば、これらの資産は、分散型取引所、ブリッジまたは融資プロトコルの流動性の合計、または PoS ブロックチェーンのステーク資産の合計である場合があります。

暗号市場の投資家やその他の参加者は、次のような複数のケースで TVL を使用します。

  1. プロトコルの健全性の評価。 これが、人気のあるプロトコルがメイン ページで TVL を誇示する理由です。 TVL が大きい = ユーザーの信頼が高い = リスクが低い = 安定した利益。
  2. プロトコル間の比較。 私が仮想通貨トレーダーであれば、より高い TVL を備えた分散型取引所やブリッジなどのDeFiツールを使用することを好みます。
  3. プロトコルの成長の測定。 プロトコルまたはプロジェクトの TVL が急速に成長していることを見た投資家は、それがプロトコルのトークン価格について強気になるシグナルであると考えます。

正確なを知ることが重要のようですね?

しかし、Uniswap v3 TVL に関する最も入手可能なデータが誤解を招くと言ったらどうなるでしょうか? しかし、私にとって最大の驚きは、公式のUniswap Chart アプリにも問題があるということでした。 私が知った方法は次のとおりです。

私は流動性分析プロジェクトに取り組んでおり、Uniswap v3 の公式データと生のブロックチェーン データを使用した計算を比較していました。 このステップは、最高のデータ品質基準に準拠するために不可欠です。 検証を始めるために、私は人気のある流動性プール、USDC-WETH (手数料レベル 0.3%) を選択しました。

画像202
イーサに流動性を追加する MEV ボット

Uniswap v3 のプール 3 を見てください。TVL は 3 億 3,300 万ドル (執筆時点の Uniswap 公式チャートに基づく) で、1 日あたりの取引量は 6,100 万ドルと健全です。

すぐに問題に遭遇しました。私の計算した TVL 値は、Uniswap Web サイトで報告されている 3 億 3,300 万ドルではなく、1 億 7,600 万ドルでした。 さて、バグが発生します。 しかし、デバッグに移る前に、最も人気のあるEthereumブロックチェーン エクスプローラーEtherscan。 技術的には、各 Uniswap v3 プールはスマート コントラクトtrac。 したがって、ブロックチェーン エクスプローラーはプールが所有するトークンの残高を表示できます。これが TVL です。

画像203
標準的なスワップ取引。

私は、プールのトークン残高が Uniswap によって報告された TVL よりも少し大きいと予想していました。 これは、プールには流動性と、発生したがまだ請求されていない手数料が保持されているためです。 しかし、この残高は Uniswap が報告した金額のほぼ半分であり、驚くべきことに、それは私の計算と同じ数字でした。

資産ごとの流動性を比較すると、大きな違いがあることがわかりました。 この時点で、この間違いは私の数学スキルとは何の関係もないことに気づきました。

画像205
これが私たちが「流動性狙撃」と呼ぶものです。

しかし、どうしてこんなことが起こるのでしょうか? The Graphに依存していることがわかりました。 このサービスを使用すると、開発者は特定のブロックチェーン データのユースケースに個人的な分析コード (サブグラフと呼ばれる) を追加し、API を通じて分析を利用できるようにすることができます。

Uniswap Labs は、Uniswap プロトコル分析用に独自のサブグラフを作成し、それをThe Graph Hosted Service。 良いのは、そのコードが公開されている。 ただし、悪い点は、TVL の計算エラーです。

コードを簡単に分析すると、すべてのスワップと流動性イベントが考慮されていますが、手数料は考慮されていないことがわかります。 Uniswap プールには、スワップごとに 0.01% ~ 1% の手数料がかかります。 この手数料は取引資産から差し引かれ、流動性プロバイダーに発生します。 同様に、流動性プロバイダーはいつでも未払い料金を回収できます。

ただし、現在の Uniswap v3 サブグラフでは、料金がまったく発生および徴収されなかったかのように数値が表示されます。 そのため、Uniswap v3 TVL の数値はスワップごとに現実から乖離してしまいました。

「この記事を書く前に、GitHub で問題チケットを送信しましたか?」と疑問に思われるかもしれません。 はい、それがエラーを発見した後の私の最初の意図です。 そして、あなたは何を知っていますか? この問題はすでに記録されており、2021 年 11 月にコア開発者によって作成されました。

では、なぜこの問題は解決されなかったのでしょうか? わからない。 おそらく、このバグが発見された時点では、エラーは無視できるほどでした。 ただし、これは累積誤差であり、スワップのたびに増加します。 したがって、プール内の手数料と取引量が増加するにつれて、その結果として生じる誤差と TVL の乖離は、現実との差異が大きくなります。 そして、USDC-ETH のような大きなプールでは、さらに 0.3% の手数料がかかることがわかり、制御不能になっています。 現在では実際の数字のほぼ2倍となっている。

総TVLを確認してみよう

さて、個々のプールの TVL 数値が歪んでいることはもうわかりました。 これが投資決定にどのような影響を与えるかを以下で見ていきます。 しかし、その前に、これらのエラーが Uniswap v3 のプロトコルの合計 TVL にどのような影響を与えるかを見てみましょう。 この TVL は、本稿執筆時点でほぼ 120 億ドルと報告されています。

データサイエンティストでなくても、ここで何かが間違っていることに気づくことができます。

画像207

上で、TVL が 2022 年 3 月 6 日に 5 億ドルから 45 億ドルまでゆっくりと、しかし着実に成長していると報告されたことがわかります。その後、何かクレイジーなことが起こり、2022 年 3 月 7 日の TVL は 2,540 億ドルと報告されました。これは、2022 年 3 月 6 日に 2,540 億ドルと報告されました。Ethereumネットワーク全体の史上最高 TVL を 1 日で達成しました。 明らかにデータの間違いです。 その後の数週間で、TVL は 100 ~ 200 億ドルと報告されました。

この時点で、私は Uniswap 分析データに対するすべての信頼を失いました。 しかし、どうすれば本当の TVL を知ることができるのでしょうか? 選択肢は2つありました。

オプション 1 - Uniswap v3 サブグラフをフォークアウトして修正します。 このオプションの欠点は、サブグラフのインデックスが再作成されるまでに数日かかることです。 そして私は、The Graph が使用している GraphQL 言語のファンではありません。

幸いなことに、私にはオプション 2 がありました。 – DatamintEthereum用の高性能分析データベースは、複雑なオンライン クエリにすぐに利用できます。

いくつかの実験を行った後、正確な TVL 計算のために次のアルゴリズムを作成しました。 以下の段階的なプロセスを確認してください。

  1. 次の 2 つの手順を使用して、既存のすべての Uniswap v3 プールの TVL を計算します。
    1. プール契約との間のすべての ERC-20 トークン転送を追加しtrac Etherscanのトークン残高と一致します。
    2. 手数料を考慮してすべてのスワップ イベントを追加します。
  2. 2 つの方法を比較し、説明できない不一致が残らないようにします。
  3. 50 スワップまたは 0.00000000000001 トークン量未満の放棄された空のプールを削除します (7,863 個のプールが検出されました (安定したペアとの 2,083 ペアを含む)、私のアルゴリズムでは 112 個のプールが空/放棄されたプールとして削除されました)
  4. 各トークンのステーブル コインへのパスを見つけて、プール TVL を USD 価値に変換します
  5. 一部のプールは流動性を完全に削除した後に不適切な値を表示する可能性があるため、USD 値が壊れている低流動性プールを削除します (例として以下のチャートを確認してください)。
画像208
  1. 残りのすべてのペアの TVL を USD 値に変換して加算します

何度もクロスチェックを行った結果、TVL の計算を思いつきました。 計算を開始して、計算が実行されている間にコーヒーを飲もうと思ったのですが、立ち上がる前に終わってしまいました。 これが、高性能分析データベースを使用する場合の唯一の欠点です。

結果を見る準備はできていますか?

画像210

これは報告されている 118 億ドルの4 分の 1結論を出すのはあなた次第です。

免責事項: 私の計算には誤りが含まれる可能性があります。 企業クライアント向けのデータ プロジェクトでは、文書化された方法論、自動テスト、その他多くのツールを使用して、最高のデータ品質を実現します。 このような個人的な研究プロジェクトには、これらのツールは過剰になります。 この調査は、最終的な解決策を提供するものではなく、入手可能なデータの明らかな問題を浮き彫りにしています。

わかりました。TVL の計算を修正します。役に立ちますか?

問題は数字が間違っていることではなく、むしろその数字に基づいて下す意思決定にあります。 たとえば、流動性プロバイダーのほとんどの利益計算ツールは、予測にこれらの数値を使用します。

ただし、TVL の計算を修正するのはそれほど難しいことではありません。 Uniswap Labs がサブグラフ コード内でこの問題を修正するか、電卓開発者が他のデータ ソースを使用し始めるかのどちらかです。 中心的な問題は、電卓の予測が正しいとdentできるかどうかです。

いくつか計算してみましたが、簡単に言うと、それに近いものではありません

大胆な主張ですね、私は知っています。 多くの流動性プロバイダーは既存の計算ツールを使用しており、数千万ドルかかる意思決定に影響を与えています。 ただし、自分で判断できるように、計算手順を見てみましょう。

まず、Uniswap v3 プロトコルの中心的な概念をいくつか確認してみましょう。

その主な革新の 1 つは、集中流動性です。 本質的に、Uniswap v3 を使用すると、流動性プロバイダーとして資金を機能させたい価格帯を選択できます。 これは、プロトコル ユーザーに大きな価値をもたらす素晴らしい概念です。 流動性プロバイダーは一時的な損失へのエクスポージャーを制限し、トレーダーはボラティリティが低いときに小さな価格スリッページをenj しかし、これらの潜在的な複雑さという代償を伴います

画像211

したがって、Uniswap v3 流動性プロバイダーの収益がどのように計算されるかを理解したいと考えています。

Uniswap v3 では、流動性プロバイダーが流動性を提供する価格範囲を選択します。 価格がこの範囲内に収まれば、彼はスワップ手数料の取り分を受け取ることになる。 一見すると、流動性プロバイダーは流動性ポジションの価格範囲をできるだけ広くしたいと考えています。 ただし、流動性はこの範囲にわたって比例的に分配されます。 したがって、範囲が広いほど、各取引のスワップ手数料は低くなります。

画像211

この例では、オプション A は流動性プロバイダーがより広い価格範囲を選択することを示し、オプション 2 は同じ金額でより狭い価格範囲を選択することを示しています。 どちらの場合も、価格が選択した価格範囲内にある場合、流動性プロバイダーはオプション B で 3 倍の手数料を受け取ります。ただし、価格の変動がより大きい場合、流動性プロバイダーはオプション A でより高い利益を得る可能性があります。

したがって、実際には、適切な価格帯を選択することは、価格を逃すリスクと、各取引で得られる収益の低下との間の最適なバランスを見つけることにかかっています。

もう 1 つのパラメーターは流動性プロバイダーの利益に影響を与えますが、見落とされがちです。 これを考慮した LP 利益計算ツールを私は知りませんが、このパラメータによってすべてが変わる可能性があります。 あなたは今、これが何なのか疑問に思っているでしょう。 LPの頒布です。 次の例を考えてみましょう。

画像212

この例では、2 つの流動性プロバイダー (LP1 と LP2) がポジションを持っています。 LP1 のポジションは 3 ドルと狭いです。 LP2は5ドルのワイドポジションを持っています。 この場合、価格が LP1 のポジションの範囲を出なかった場合、LP2 の 3 倍の手数料を受け取ることになります。 それは、LP2 にはこの範囲に $1 しかないからです。 そしてこの $1 は LP1 の $3 と競合します。

Uniswap v3 プールの流動性分布を見ると、それが均一ではないことがわかります。

画像213

ハードルが高ければ高いほど、競争も激しくなります。 流動性プロバイダーは、競争力のあるレンジの選択と、価格がヒットする可能性が低いレンジの選択の間のバランスを見つける必要があります。 そのため、この分布は LP の利益予測と戦略構築に大きな役割を果たします。 唯一の問題は…この分布が正しく計算されているかどうかわかりません。

それだけでは十分ではないかのように—流動性スナイパー

流動性プロバイダーであるということは、価格、競争状態、取引量を推測することです。 LP に希望があるとすれば、取引の将来を知り、事前に流動性ポジションを調整することでしょう。

でも、それが可能だと言ったらどうなるでしょうか?

調査中に、いくつかの珍しい流動性プロバイダーに注目しました。 彼らは 1 日に何度も多額の流動性ポジション (1,000 万ドル以上) を追加したり削除したりしました。 さらに驚くべきことに、彼らは常に同じブロック内で流動性を追加および削除していました。

例を見てみましょう:

画像214

3 つのトランザクションがあり、すべてブロック 15413416、位置 3 ~ 5 にあり、ボトムアップ順序で実行されます。 Execute メソッドを使用した最初のトランザクションは、「MEV Bot」という名前のtracで、USDC-WETH プールに 2,200 万ドルの流動性を追加します。

画像215

2 番目のトランザクションは、WETH を介した USDC から DogeChain へのスワップです。 これは、約 16,500 ドルの価値を持つ通常のスワップです。

画像216

3 番目のトランザクションは再び「MEV ボット」で、USDC-WETH プールから 2,200 万ドルの流動性が削除されます。

画像217

この例で起こったことは「流動性狙撃」と呼ばれます。 これがどのように機能したかを説明しましょう。

  1. 誰かがUSDCをDogeChainに交換するトランザクションを送信しました
  2. MEV ボットはメモリプールでこのトランザクションを検出し、Flashbot テクノロジーまたは同様のものを使用してマイニング プールとのプライベート リンクをアクティブ化しました。
  3. MEV ボットは、価値のtracを可能にする特定の順序でスワップ トランザクションと 2 つのトランザクションを含めるようマイナーに支払いました。
  4. MEV ボットは、非常に狭い価格帯に非常に多くの流動性 (2,200 万ドル) を追加したため、事実上、特定の USDC と DogeChain の取引から得た手数料利益はすべて彼に発生しました。
  5. その後、MEV ボットは流動性を取り除き、手数料 (約 35 ドル) を獲得しました。

したがって、ガソリン代を除いた彼の粗利益は約 30 ドルでした。 それほどでもない? はい、しかし彼はこの戦略を 1 分間に複数回実行しており、すべてが合計されます。 あなた自身で確認してみ

これは流動性プロバイダーにとって何を意味しますか? これは、流動性スナイパーが手数料利益の大幅な部分を奪う可能性があることを意味します。

結論

私の研究結果をまとめたいと思います。

  1. Uniswap v3 チャートの TVL 数値はまったく不正確です。 公式の Uniswap v3 サブグラフに依存するすべての分析ツールに同じエラーが存在します。
  2. Uniswap v3 TVL の総額は、公式 Web サイト (執筆時点) で報告されている $118 億に対し、$31 億 4000 万ドルです。
  3. Uniswap v3 流動性プロバイダーの計算ツールは、競争や流動性スナイパーを考慮していないため、現実の戦略にはほとんど価値がありません。
画像218

幸いなことに、Uniswap v3 流動性プールが実際にどのように機能するかをよりよく理解できるようになり、それに応じて研究を調整できるようになりました。

私は財務上のアドバイスをする立場にありませんが、優れた流動性供給戦略を構築するには 2 つの選択肢しかないと考えています。

  1. シンプル。 過去のパフォーマンス データを使用します。 少額の賭け金でいくつかの流動性ポジションを試し、どのオプションがより効果的かを確認してください。 明らかに、これは市場が安定しているという前提の下でのみ機能します。
  2. 高度な。 調査を実施し、それに応じて LP 戦略を最適化します。 上で説明したように、それには Uniswap v3 プロトコル、数学およびゲーム理論の能力、そして大量のデータをリアルタイムで処理するための強力なデータ分析ツールを深く理解する必要があります。

どちらのオプションにも共通点が 1 つあります。それは、直感やランダムなツールではなく、データに基づいて意思決定を行っているということです。 データを扱うのは難しい場合もありますが、それは報われます。

データがあなたとともにありますように!

共有リンク:

イワン・ヴァフミャニン

Ivan Vakhmyanin は、長年の経験を持つデータ分析および視覚化 (BI、ビッグデータ、データ サイエンス) の専門家です。 彼はブロックチェーンと Web 3.0 の達人でもあり、主要なブロックチェーン プラットフォーム (Ethereum、 BNBスマート チェーン、Solanaなど) からのオンチェーン データを分析に利用できるようにしています。 Ivan は、専門家や経営幹部向けにデータ駆動型管理の分野で教育やプログラムを開発することで、経験を共有することに情熱を注いでいます。

よく読まれている

よく読まれている記事を読み込んでいます...

暗号通貨に関するニュースを常に把握し、毎日の最新情報を受信箱で受け取ります

関連ニュース

パキスタン
クリプトポリタン
クリプトポリタンを購読する