DeFi 評価方法:Uniswap イテレーションの振り返り

おすすめの読書
2023-11-16 11:56:21
コレクション
Uniswapは、自己革新の一歩一歩を踏み出しています——借入コストを削減し、ユーザー体験を最適化します。

著者:Arrow


最近、DeFi分野の評価方法のまとめを行っています。いくつかのケースを研究した結果、影響力や反復の論理から見ても、Uniswapは典型的な代表であり、この記事ではUniswapを全面的に振り返ります。

UniswapはV1バージョンからV4への反復、およびUniswapXプロトコルの導入を通じて、DEX取引の機能革新とメカニズムの最適化を内在的に行っています。

V1はAMMを暗号分野に初めて実践し、V2はETHのリスクエクスポージャーを減少させ、操作されにくい価格オラクルを導入し、V3は集中流動性を通じて資本効率の低下問題を解決し、V4はカスタマイズ可能なDEXを実施し、UniswapXプロトコルはオークションメカニズムを通じて第三者アグリゲーターの競争力を強化し、価格スリッページの最適化を実現しました。


Uniswapの発展史


Uniswapの地位と影響力は言うまでもなく、Duneのリアルタイムデータによれば、Uniswapは現在も市場シェアで第一位のDEXです。

トップのDEXとして、時間はそれほど長くはありませんが、何度も反復を重ねてきました。発展の歴史を見てみましょう:

2017年6月、Vitalikが「On Path Independence」という記事を発表;

2018年11月、Uniswap V1がリリース:ETHとERC-20トークン間の取引をサポート;

2020年3月、Uniswap V2がリリース:任意の2つのERC-20トークン間の取引をサポート;

2021年5月、Uniswap V3がリリース:LP資金の利用率を向上させ、流動性の集約概念を提案;

2023年6月、Uniswap V4が導入:Hooksコントラクトのカスタマイズを導入し、価値の漏洩を防止;

2023年7月、Uniswap Xが導入:オンチェーンとオフチェーンの流動性を集約し、MEV保護を実施。


Uniswap V1:自動マーケットメイカーの試み


2017年、Vitalikは自身のウェブサイトに「On Path Independence」という記事を発表し、暗号分野に自動マーケットメイカー(AMM)を初めて導入しました。これはCEXとは異なる取引方法です。もちろん、この方法は非暗号界(伝統的金融界など)でも以前から議論されていました。

私たちは、株式市場、先物市場、または既存のCEXでは、大多数がオーダーブック(掛け注文簿モデル)で取引を行っていることを知っています。マーケットメイカー(市場形成者、例えば証券会社や中央集権取引所)は、買い手の買い注文と売り手の売り注文が価格が一致する場合にマッチングを行い、取引を成立させます。

しかし、分散型の状況では問題が発生します。理由は、DEXの分散環境下(誰でも市場を作成できるため)では、オーダーブックモデルでのマッチング取引が適切な流動性を提供するのが難しく、成立率や体験感が相対的に悪く、十分な流動性がなければCEXの操作効用に匹敵することは難しいからです。

Vitalikのこの記事では、暗号市場に新しい概念である「Automatic Market Maker(自動化マーケットメイカー)」を導入しました。この概念では、資産の価格設定は価格アルゴリズムによって行われ、従来のオーダーブックモデルによるものではなくなります。

AMMモデルでは、マーケットメイカーの見積もりやシステムのマッチングは必要なく、トレーダーはプール内の流動性を直接利用して資産の交換を実現できます。

TokenAとTokenBは一定の積の関係を形成します:tokenAbalance(p) * tokenBbalance(p) = K(Kは不変)

これは流動性駆動の取引制度であり、このモデルは一定積マーケットメイカー(CPMM)と呼ばれます。この方法では、tokenAとtokenB間の任意の(単調)関係を定義し、いつでもその派生物を計算することで価格を提示し、経路に依存しないマーケットメイカーを形成します。


三つの参加者:LP、トレーダー、アービトラージャー


AMMのマーケットメイキングメカニズムには、オーダーブックモデルのような具体的な取引相手は存在せず、資産の実際の価値は一定の積の数学的公式によって決定され、ある程度は取引相手をスマートコントラクトと類似させることができ、自動取引を実現します。

スマートコントラクトには流動性を提供する人が必要で、流動性提供者はLP(Liquidity Provider)です。LPはそのプールのスマートコントラクトに資産を注入することで取引に流動性を提供し、取引手数料の収益を得ます。

LPが初期の流動性プールを構築した後、トレーダーはそのプールを通じてトークンの交換を行うことができ、同時にアービトラージャーが積極的に訪れ、異なる市場間の価格アービトラージを通じて資産価格と市場価格の一致を維持します。

2018年11月にリリースされたUniswap V1では、すべての資産はETHを通じて交換可能でした。ETHとERC-20トークン間で取引が行われ、誰でもトークンを追加してネイティブETHと取引でき、ETHは実質的な資産取引の仲介者となります。

もし私たちが取引を行いたい場合、単一のプール内でどのような変化が起こるでしょうか?

仮に1ETHが現在100TokenAの価値を持ち、ETH/TokenAプールが10ETHと1000TokenAで構成されているとします。

この時、10ETHと1000TokenAの価値は同じく1000ドルで、資産価値の比率は1:1です。

k=10*1000=10000、さらに流動性を追加しない限り、この積は不変です。

今、プールに5ETHを売却すると仮定しましょう。そうすると:

y=10000/(10+5)=666.67、プール内のETHの数は15に増加し、その時のUSDCの数は666.67となります。したがって、私は5ETHを使って333.33TokenAを得ました。この時、プール内の単一のETHの価格は666.67/15=44.44、つまり1ETHは44.44TokenAに相当します。


もちろん、単一のプール内の価格が他の取引市場と大きく異なる場合、アービトラージャーはすぐに押し寄せ、価格差を食い尽くします。結局、AMMメカニズムは取引価格を生み出すことはできますが、市場価格を発見することはできないため、アービトラージャーの役割は非常に重要です。


無常損失、LPトークン、取引スリッページ


保有しているトークンの価格比率が資金プールに入れた時と比較して変化すると、無常損失が発生します。変化が大きいほど、無常損失も大きくなります。

私たちがLPとして、もう一つの例を挙げましょう:

Uniswap V1の核心公式:x∗y=k

今、私たちが流動性提供者として、プールに10ETHと1000TokenAを初期の流動性として追加します。この時、1ETHは100TokenAに相当し、両者の資産数量の一定の積は10*1000=10000(x*y=10000、x=100y)です。

この時、もし1ETHが200TokenAに値上がりした場合、換算できます:x*y=10000、x=200y、これによりx=7.071、y=1414.21と算出されます。

この時の流動性プールは、最初の10ETHと1000TokenAから7.071ETHと1414.21TokenAに変わります。

問題に気づきましたか?

この時、もし私がすべての資産を引き出すと、手に入るのは7.071ETHと1414.21TokenAで、TokenAで計算した実際の価値は7.071*200+1414.21=2828.41ですが、最初の10ETHと1000TokenAで計算すると、現在の価格は10*200+1000=3000TokenAであるべきです。

この収益の差(3000-2828.41=171.59TokenA)が無常損失です。

無常損失の発生は、分散型取引所の自動マーケットメイカーのメカニズムの下で、流動性提供者が価格変動に応じて資金を調整することによって、元本の損失や利益の逸失を引き起こすためです。

彼らは同時に買い手と売り手の役割を果たすため、価格が下がると保有する資産の数量を増やさざるを得ず、価格が上がると保有する資産の数量を減らさざるを得ず、その結果損失が生じます。

もちろん、ヘッジを選択することで、ETHのショート/ロング契約を開設してリスク管理を行うこともできます。

流動性提供者が流動性を提供することを奨励し、価格変動性を引き受けることを促すために、LPトークンが登場しました。これは流動性提供者への報酬であり、各取引の一定割合の手数料を得ることができます(Uniswap V1では、トレーダーは取引中に0.3%の手数料を支払い、流動性提供者に帰属します)。同時に、LPの証明書としても機能し、自分が追加した流動性を取り戻すために使用されます。

もう一つの概念は取引スリッページであり、DEX取引を頻繁に行う友人にはお馴染みでしょう。AMMは流動性駆動の取引制度であり、その美しい一定積の等式は滑らかな曲線であり、価格は常に需給関係に応じて変動します。

この時、大量のトークンを取引するとスリッページが発生し、予想価格と実際にプールから得られる価格との間に一定の差が生じます。つまり、望む価格と成立価格の間に差が出るのです。


Uniswap V2:適応、オラクル、フラッシュローン


Uniswap V1はERC-20/ETH取引ペア間での取引のみをサポートしており、実質的にはETHを過渡的な通貨仲介として使用してERC-20トークン間の交換を行っていました。取引パスはシンプルですが、LP提供者にとってはETHのリスクエクスポージャー、無常損失、スリッページリスクを形成しました。

Uniswap V2では、依然として「一定積マーケットメイカー」メカニズムに基づいていますが、V2のアップグレードは効率の向上をもたらしました。その中には、任意の2つのERC-20トークンペア間の取引をサポートすることが含まれます。これは、任意のERC20-ERC20ペアを作成でき、もはやETHの過渡的なパスを通じてペアリングする必要がないことを意味します。

この点については詳述しませんが、V2のアップグレードには多くの側面があり、特に重要な2つの点は、価格オラクルの改善とフラッシュローンの実現です。


価格オラクルの改善


Uniswap V1の過程では、プール内の2つの資産の準備金を割った価格が計算され、これをオンチェーン価格オラクルとして使用することは安全ではありません。なぜなら、簡単に操作される可能性があるからです。

V2のアップグレードの目的の一つは、価格操作のコストと難易度を引き上げることです。

V1では、他のコントラクトが現在のETH-DAI価格を使用してデリバティブを決済する場合、価格を操作する攻撃者はETH-DAIペアからETHを購入し、虚偽の高価格でデリバティブ契約を決済させ、その後ETHをそのペアに売却し、取引を実際の価格に戻すことができます。この場合、取引は原子取引の形で行われるか、マイナーがブロック内の取引順序を制御することができます。

V2では、市場価格のバランスを測定するために、価格は各ブロックごとに更新され、トークン交換価格は次のブロックの前に測定されます。つまり、トークン市場価格は前のブロックの最後の取引を基準にします。

このアップグレードでは、新しい価格オラクルデータとして、時間加重平均価格(TWAP)が提供されます。各ブロックの開始時に2つの資産の相対価格を蓄積し、Ethereum上の他のコントラクトが任意の時間間隔で2つの資産の時間加重平均価格を推定できるようにします。

具体的には、Uniswap V2では、各ブロックの開始時に誰かがコントラクトと相互作用した際の価格の累積合計を追跡することでその価格を蓄積します。ブロックのタイムスタンプに基づき、各価格は前のブロックの更新後の時間量に応じて加重されます。これは、任意の時点(更新後)の累積器の価値が、コントラクトの歴史上の毎秒の現物価格の合計であるべきことを意味します。

オラクルのユーザーは、この期間の開始と終了を選択でき、攻撃者がTWAPを操作するコストは高くなり、価格は相対的に操作されにくくなります。


フラッシュローンの実現


フラッシュローンは、相対的に伝統的金融における絶対的な革新です。現実の取引はブロックチェーン上のようにロールバックできないからです。

V2ではフラッシュスワップ(Flash Swaps)を導入しました。ユーザーはプールから資産を自由に借り出し、チェーン上の他の場所で使用し、取引が終了する際に(同じ原子取引内で)資産を返却し、相応の利息を支払います。正常に返却できなかった場合は、その取引がロールバックされます。

実際には、誰でもUniswapプールに保存されている任意の資産をフラッシュで借り出すことができるようになります。V1では、ユーザーが資産を支払う前にその資産を受け取って使用することは許可されていませんでした。A資産を使用してB資産を購入する際には、まずA資産をコントラクトに送信してB資産を得る必要がありました。

他にもいくつかの更新点があります。Uniswap V2は新しいコントラクトフレームワークを調整し、価格(精度)をコーディングおよび処理するためにシンプルな二進制定点フォーマットを使用し、プロトコル手数料の更新、発行されたプールのシェアに対するメタ取引のサポートなどを行っています。


Uniswap V3:資本効率の向上


背景:Uniswap V2には流動性の問題がありました。上記のAMMメカニズムの紹介からわかるように、V1、V2の時点でプールの流動性は実際には【0,+∞】の範囲に分布しており、つまりV2のプールでは実質的に任意の価格での取引が発生することを許可しています(AMMの一定積の反関数滑らかな曲線を参照)。

一見すると良いことのように思えますが、実際には異なるボラティリティを持つ取引ペアに対して、その価格帯には十分な需要がなく、特定の取引範囲を除いて深刻な流動性不足を引き起こし、資産の利用率が低下します。

価格帯から遠く離れた価格ポイントで流動性を提供することは無意味であり、無駄になります。価格はそのポイントに決して達しない可能性があります。


集中流動性(concentrated liquidity)


このような状況下で、資金の流動性を向上させるために、Uniswap V3は集中流動性(concentrated liquidity)の概念を導入しました。つまり:

流動性提供者(LP)は、特定の価格帯で流動性を部分的に提供することを自由に選択でき、これにより流動性を高い資本効率の範囲内でより良く提供できるようになります。また、異なる価格ボラティリティを持つ資産プールに対して異なる構成を行うことも可能です。

V3の各小さな価格帯は、V2が機能していると理解できます。取引の過程で、価格は曲線に沿って滑らかに移動し、価格がV2のある部分に達すると、V3の価格帯の区間点に達し、その時、価格ポイントは次の価格帯に滑動します。

上記の概念を理解した上で、新たに登場した用語------V3の核心はTicksです。

Ticks、最小変動価格は、取引可能な証券の最小増加額です。V3では、【0,+∞】の価格範囲を無数の細粒度のTicksに分割し、各区間の上下界の制限を実現しました。

粒度制御を通じて流動性を集約し、V3全体の価格範囲は離散的で均等に分布したTicksによって標定され、各Tickにはインデックスと対応する価格があり、各Tickは独自の流動性深度を持ちます。


Uniswap V3の数学的原理は変更されましたが、V2の基盤と類似しています:

L=√(xy)

Lは流動性の数量と呼ばれ、プール内の流動性は2つのトークン資産の数量の組み合わせです。同様に、2つのトークン数量の積はKですが、各Tickが持つ流動性深度は異なり、異なる深度の等価定式はもはや同じではありません。

数学的原理については詳述しませんが、下記にAtis ElstsによるV3の数学原理に関する論文があります。興味のある方はぜひお読みください。

Uniswap V2では標準的な0.3%の取引手数料が適用されますが、V3では粒度の違いにより、0.05%、0.3%、1%の3つの異なる手数料レベルが提供されます。この時、LPは取引が最も頻繁に行われる範囲に資金効率を集中させ、最大の利益を得ることができます。

さらに、V3はV2に基づいてオラクルの全体的な最適化を再度行い、もはや単一の価格累積変数を保存するのではなく、一連の変数を保存し、データの使用期間を延長し、Gas費用を削減し、コストを節約しました。


Uniswap V4:カスタマイズ可能なDEX


Uniswap V4はUniswap V3の集中流動性モデルに基づき、誰でもUniswap上でカスタマイズ機能を使用して新しい集中流動性プールを展開できるようにし、高効率でカスタマイズ可能なDEXプラットフォームを実現します。

V4の核心はHooksコントラクトであり、ビジョンは誰でも「Hooks」を導入してこれらのトレードオフの決定を行えるようにすることです。

各プールに対して、作成者は「Hooksコントラクト」を定義でき、このコントラクトは呼び出しのライフサイクルの重要なポイントでロジックを実行します。これらのHooksはプールの交換手数料や流動性提供者に対して課される引き出し手数料を管理することもできます。



Hooksとカスタムプール


Hooksは、第三者またはUniswap公式が開発した一連のコントラクトであり、プールを作成する際にプールはフックをバインドすることを選択でき、その後、取引の特定の段階でプールは自動的にバインドされたフックコントラクトを呼び出し、そのコントラクトは呼び出しのライフサイクルの重要なポイントでロジックを実行します。

言い換えれば、フックは外部に展開されたコントラクトであり、プールが実行される指定されたポイントで開発者が定義したロジックを実行します。これらのフックは、プールのパラメータを変更したり、新しい機能や機能性を追加したりすることを可能にします。

各Uniswap流動性プールにはライフサイクルがあります:流動性プールのライフサイクルの中で、いくつかのことが起こります。これには、デフォルトの手数料層を使用してプールを作成すること、流動性が追加、削除、または再調整されること、ユーザーがトークンを交換することなどが含まれます。Uniswap V3では、これらのライフサイクルイベントは密接に結合されており、非常に厳格な順序で実行されます。

しかし、Uniswap V4ではカスタマイズ可能な流動性を創出するために、Hooksコントラクトはマイニングプールの展開者にコードを導入する方法を提供し、マイニングプールのライフサイクルの重要なポイントで指定された操作を実行できるようにします。これらの重要なポイントは、例えば交換の前後やLPポジションの変更の前後などです。

要するに、フックはカスタムプール、スワップ、手数料、LPポジションの相互作用方法をカスタマイズするためのプラグインであり、フックコントラクトを通じて、開発者はUniswapプロトコルの流動性と安全性の上に革新を行い、v4スマートコントラクトと統合されたフックを通じてカスタマイズされたAMMプールを作成できます。

フックコントラクトを通じて実現できる機能の例には以下が含まれます:

  • 一定の期間にTWAMMを通じて大規模な注文を実行;
  • 指定された価格で成立するオンチェーンのリミットオーダー;
  • ボラティリティの変化に応じた動的手数料;
  • 流動性提供者の内部化されたMEV配分メカニズム;
  • 中位数、切断、またはその他のカスタムオラクルの実現。

Uniswap V4の核心ロジックはV3と同様にアップグレード不可能です。各マイニングプールはもはやトークンと手数料層によって定義されるだけでなく、さまざまなマイニングプールを構築することができます。さらに、各プールは独自のフックスマートコントラクトを使用できますが、フックはプールを作成する際に特定の権限に制限されます。

V4には、Flash Accounting(瞬時アカウント)などのアーキテクチャの変更もあり、Gas費用を大幅に削減できます。この機能はEIP-1153に含まれ、「瞬時」ストレージを導入し、キャンクンアップグレード(Ethereum Cancun)後に実現されます。

さらに、V4バージョンには、シングルトンパターン(すべてのプール状態を1つのコントラクトに保存)、フラッシュアカウンティング(プールの支払能力を確保)、ネイティブETHのサポートの復元、ERC-1155トークンのサポート、ガバナンスメカニズムの追加などの改善があります。


UniswapX:競争の強化


UniswapXは、AMMや他の流動性ソース間での取引のための新しい許可不要のオープンソース(GPL)で、オークションベースのプロトコルです。

このプロトコルは、交換機能を複数の面で改善します:

  • 流動性ソースを集約することで価格を向上させる
  • 無Gas交換
  • MEV(最大抽出値)を防止
  • 取引失敗時の手数料なし
  • 今後数ヶ月以内に、UniswapXは無Gasのクロスチェーン交換に拡張されます。


次世代の集約


背景:オンチェーン取引は絶えず革新を続けており、流動性プールが急増し、新しい手数料層、L2、さらには多くのオンチェーンプロトコルが流動性を分散させています。

解決策:UniswapXは、ルーティングの複雑さを第三者のオープンネットワークにアウトソーシングすることでこの問題を解決することを目指しています。これらの第三者は、AMMプールや自分たちのプライベートインベントリなどのオンチェーン流動性を競争的に取引に充填する必要があります。

UniswapXを利用することで、トレーダーはUniswapインターフェースを使用し、最良の価格を得られるかどうかを心配する必要がなくなります。トレーダーの取引は常にオンチェーンで透明に記録され、決済されます。すべての注文はUniswapのスマートオーダールーターによってサポートされ、これにより第三者はUniswap V1、V2、V3、そして立ち上げ後のV4と競争することを余儀なくされます。

実質的に、UniswapXは競争メカニズムを強化し、第三者のルーティング選択を通じて各資産プールの価格スリッページを最適化します。

さらに、UniswapXは新しい試みを導入しました:

無Gas取引、失敗時に手数料なし。トレーダーは独自のオフチェーン注文に署名し、その後、トレーダーを代表してGasを支払う第三者がオンチェーンでその注文を提出します。第三者はGas費用を取引価格に加算しますが、複数の注文をバッチ実行することで最良の価格を競争し、取引コストを削減できます。

MEV保護は、元々アービトラージ取引を通じて得られたMEVをより良い価格でトレーダーに返還します。UniswapXは、より明確なMEV抽出の形態を避けるのを助けます:第三者のプライベート資産を使用して実行された注文は「サンドイッチ攻撃」を受けることができず、第三者はオンチェーン流動性プールに注文をルーティングする際にプライベート取引中継を使用するようにインセンティブが与えられます。

今後登場予定のUniswapXクロスチェーンバージョンは、交換とブリッジをシームレスな操作に統合します。クロスチェーンUniswapXを使用することで、交換者は数秒でチェーン間の交換を行うことができ、その進展を期待できます。


Uniswapの主旋律:反復


UniswapはV1バージョンからV4への反復、およびUniswapXプロトコルの導入を通じて、DEX(AMM)の機能革新を内在的に行っています。

V1はAMMを暗号分野に初めて実践し、V2はETHのリスクエクスポージャーを減少させ、操作されにくい価格オラクルを導入し、V3は集中流動性を通じて資本効率の低下問題を解決し、V4はカスタマイズ可能なDEXを実施し、UniswapXプロトコルはオークションメカニズムを通じて第三者アグリゲーターの競争力を強化し、価格スリッページの最適化を実現しました。

私たちは、Uniswapの各ステップが自己革新を行っていることを見て取れます------借入コストを削減し、ユーザー体験を最適化し、競争意識を強化し、新興技術を受け入れる。このような反復的なアップグレードこそが、良いプロトコルが永続的に存続するための根本です。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する