【ビットバンク】口座開設&入金で現金1000円がもらえる!詳細はこちら

【完全版】UniswapV3とV2の違いは?集中流動性の仕組みを徹底解説!

この記事から分かること

  • UniswapV3とV2の違い
  • UniswapV3の集中流動性とは
  • 集中流動性の仕組み・計算式
この記事を書いた人

※本記事へのコメント・質問等は私のX(旧ツイッター)にDMで送っていただいても大丈夫です。丁寧に回答させていただきます。

分散型取引所ユニスワップ(Uniswap)は、2021年5月にバージョン3.0であるV3をリリースしました。

>>blog.uniswap “Uniswap v3 Mainnet launch

ユニスワップV3は「資本効率性」を高めるために「集中流動性」と呼ばれる従来の流動性提供とはまったく異なる仕組みが採用されています。

さとう

ユニスワップV2とV3の比較表は次の通りです。

比較項目V2V3
リリース時期2020年3月2021年5月
AMMの仕組み定積(xy=k)集中流動性
スワップ手数料報酬一律0.3%選択式
プロトコル手数料スワップ手数料から0.05%分を徴収プール毎に徴収率が異なる
インターフェース手数料0.25%0.25%
流動性提供範囲一律0~∞自分で設定する
流動性提供利率安定するが低い安定しないが高い
インパロスありV2の数倍~数十倍
プライスインパクト起きやすい起きにくい
スリッページ起きやすい起きにくい

ユニスワップV2 &ユニスワップV3 比較表

ユニスワップV3で「スワップ」を行うメリット・デメリットは次の通りです。

ユニスワップV3で「流動性提供」を行うメリット・デメリットは次の通りです。

スワップを利用するユーザーは手数料がわずかに変わる程度なので、今これから行うスワップがV2とV3どちらの流動性を利用することになるのか気にする必要はありません。

流動性提供面では手数料報酬が集中するため、もらえる手数料報酬が増えるメリットがありますが、現在価格が価格範囲を外れると流動性が機能しなくなり、手数料が貰えません。

また、インパーマネントロスも集中して発生し、従来のユニスワップV2と比べると数倍から数十倍になるので、価格変動によるリスクが大きくなっています。

さとう

BTCとUSDTを流動性として提供するときの、下限と上限価格に対応するインパーマネントロスの発生率は次の表になります。

スクロールできます
下限価格
(BTC/USDT)
現在価格
(BTC/USDT)
上限価格
(BTC/USDT)
インパロス
(通常)
インパロス
(集中流動性)
損失倍率
(通常vs集中)
95,238100,000105,0000.03%1.23%41.5倍
90,909100,000110,0000.11%2.44%21.5倍
83,333100,000120,0000.41%4.75%11.5倍
66,667100,000150,0002.02%11.01%5.4倍
50,000100,000200,0005.72%19.53%3.4倍
33,333100,000300,00013.40%31.70%2.4倍
25,000100,000400,00020.00%40.00%2.0倍

集中流動性インパーマネントロス 早見表

  • スワップ目線では大きな変化なし
  • 集中流動性の提供は利率が大きく上昇
  • しかしインパロスのリスクも大きい
  • 流動性提供はV3で難易度がやや上がった
ユニスワップの関連記事はこちら
スワップのやり方ステーキングのやり方
ユニスワップの使い方ユニスワップV3とV2の違い
V2インパーマネントロスプライスインパクトとは
V3インパーマネントロス

他の代表的な分散型取引所の集中流動性はユニスワップV3と同じのため、本記事で解説した内容は他の分散型取引所の集中流動性でも使えます。

目次

ユニスワップV3とは?ユニスワップV2との違い

ユニスワップV3は「資本効率性」を高めるために開発されました。

従来のユニスワップV2では流動性は0から∞の価格範囲で提供されていましたが、結局実際のスワップに利用される流動性はその内のわずかでした。

不要な流動性の提供を防げれば、流動性提供者の利率が高まるだけでなく、仮想通貨を「PoSステーキング」など本来のあるべき場所に戻すことでセキュリティを高めることにも繋がります。

言い換えれば、無駄な流動性は不要となったため、流動性を需要のある価格帯に適切に配置・管理する人に報酬が集中するため、ライトユーザーが「流動性マイニング」を行う機会は減ったともいえます。

さとう

ユニスワップV3とV2の重要な違いは次の3点です。

※主に流動性提供側にとっての違いとなり、スワップ利用者が実感する違いはほとんどありません。

①流動性提供時に価格範囲を決める

ユニスワップV3では、流動性を提供するときに価格範囲を設定する必要があります。

ユニスワップの実際の流動性提供画面では次のような画面が表示されます。

出典:ユニスワップ

現在価格が価格範囲内にあるときにのみあなたの流動性は機能して手数料報酬をもらえるため、現在価格付近に流動性が集中しやすくなります。

スワップ目線では現在価格付近に集中しているほど瞬発的な価格変化「プライスインパクト」が発生しづらくなり、スワップ価格が安定しやすくなります。

流動性提供者にとっては手数料報酬が集中することで利率も高くなり、価格範囲を狭くすると年間利率で100%以上になることも珍しくないです。

※従来同様0から∞でも提供できるが、報酬がほとんど貰えなくなる。

さとう

しかし「インパーマネントロス」のリスクも高まるため、価格範囲を狭くした流動性提供は上級者向けといえます。

②流動性毎にスワップ手数料が異なる

ユニスワップV2ではスワップ手数料が全てのスワップで一律で0.3%でしたが、ユニスワップV3の集中流動性では、流動性毎に発生するスワップ手数料が異なります。

ユニスワップでは各流動性ペア毎に次の4つの異なる手数料のプールが存在し、流動性を提供するときにどの手数料にするかを選択できます。

出典:ユニスワップ

選択式ではありますが、需要が高く利用されやすい手数料設定のものに流動性は集中し、上画像はETH/USDCの例で0.05%の手数料に流動性の99%以上が集まっています。

スワップ手数料は高すぎるとユーザーはスワップを行いたくなくなり、逆にスワップ手数料が安すぎるとインパーマネントロスを上回る報酬を得られないリスクから流動性が集まらなくなります。

スワップ利用者と流動性提供の間には、各銘柄の価格変動リスク毎に丁度良い落としどころのスワップ手数料率があり、その手数料設定の流動性プールに流動性が集まる訳です。

従って、基本的には最初に自動提案された手数料で設定すれば問題ありません。

さとう

各流動性ペア毎に最も流動性が集まっている手数料設定をまとめると、次のようになります。

手数料率ペア例
0.01%USDC&USDT
0.03%ETH&LINK
0.05%ETH&USDC
1.00%ETH&GMX

参照:Uniswap “What is a tick when providing liquidity?

例えばステーブルコイン同士のペアはインパーマネントロスのリスクがなく、流動性提供側はスワップ手数料報酬が少なくても流動性を提供するインセンティブがあります。

スワップを利用する側も安いスワップ手数料を望んでいるので、最も安い0.01%に必然的に流動性が集まります。

ユニスワップのスワップで発生する手数料」は、下の記事で全て詳しくまとめています。

③1:1で流動性を提供する必要がない

ユニスワップV3は「資本効率性」を目的に開発されており、1:1で流動性を提供する必要はなく、設定した価格範囲毎にユニスワップが必要とする比率の流動性しか提供できません。

価格範囲の設定の仕方によっては、ペアの片方の流動性しか提供できない場合もあります。

ユニスワップV2では各流動性毎に全員で1つの流動性を構築しており、定積AMMと呼ばれる「xy=k」の式に従い、スワップレートや流動性の変化が決まっていました。

定積AMM(xy=k)

※xとyが流動性の枚数でkは流動性提供や削除の際にのみ再計算される定数。

集中流動性では、各流動性提供者が独自の無数のパターンの価格範囲で流動性を提供するため、1つの流動性の曲線(xy=k)では管理できません。

さとう

分かりやすくするために、3人のみでユニスワップV3にBTC&USDTの流動性を提供している場合をイメージしてみましょう。

現在のBTCの価格は$60,000で、Aさん、Bさん、Cさんの3人は以下の価格範囲で流動性を提供しました。

今回の例
  • A:「59,000~61,000USDT」で配置(BTC&USDTの複合ポジ)
  • B:「61,000USDT~∞」で配置(BTCの単一ポジ)
  • C:「0~59,000USDT」で配置(USDTの単一ポジ)
パンケーキスワップの集中流動性

例えば、Bさんは提供する流動性の価格帯の下限を現在価格よりも大きく設定していますが、この場合は供給する流動性は全てBTCにしなければなりません。

ユニスワップV3「資本効率性」の観点からすると、USDTは一切必要ないからです。

Bさんの流動性はAさんの流動性でBTCが全て買い尽くされた時にアクティブになりますが、この状態というのは流動性からBTCがなくなっており、さらにBTCを利用者に買わせてあげるにはBTCだけが必要だからです。

この時Aさんの流動性が機能しなくなりUSDTが機能していないですが、BTCが売られて価格が少しでも下がると今度はAさんの流動性が再度アクティブになり、USDTが流動性として機能するようになります。

このように、下限の価格が現在価格に近付けば近づくほど流動性として提供しなければならないUSDTの枚数は減り、逆に上限の価格が現在価格に近付けば近づくほど、必要になるBTCの枚数が減ります。

さとう

中級者~上級者向けですが、流動性提供時の枚数比率の具体的な計算式は、本記事の後半で詳しく解説しています。

【補足】ユニスワップV3の流動性提供の計算式

集中流動性(Uniswap V3以降)では、次のxy=kをベースにした式(kをL二乗で表現しただけ)を変形していくことで、各流動性提供者個別の集中流動性の式を導くことができます。

\(xy=L^2\)

さとう

価格をPとすると、Pは次のように表せます。

\(P=\frac{y}{x}\)

xとyはそれぞれLとPを使って次のように表せます。

①:\(xy=L^2\)

②:\(y=Px\)

上記の2式より、

\(x=\frac{L}{\sqrt{P}}\)

\(y=L\sqrt{P}\)

この式は、ある価格区間に含まれる全ての個別の流動性の傾きL(後述)の合計と、流動性の合計x・yと、それらによって定義される価格Pの関係を表した式です。

しかし、あなたが行う集中流動性は自身で決めた価格範囲に従い、あなた特有の流動性ポジションの変化をするため、この式であなたの流動性は一切定義されません。

集中流動性の提供では価格範囲を設定し、上限または下限に達すると片方のトークンだけが残るため、この仕様を式に反映させて、あなただけの集中流動性の関係式を導く必要があります。

今回は例として、集中流動性で提供する流動性「BTC&USDT」の枚数は「BTCがx」、「USDTがy」で考えます。BTCのUSDT建価格がPです。

提供する流動性の下限価格をPb、上限価格をPaとします。

集中流動性は価格範囲を設定し、上限または下限価格で片方のトークンだけが残る仕様でしたが、これは次のようなグラフを指します。

  • \(xy=L^2\)のグラフを-x方向に\(\frac{L}{\sqrt{Pb}}\)だけ平行移動する
  • \(xy=L^2\)のグラフを-y方向に\(L\sqrt{Pa}\)だけ平行移動する

平行移動させたグラフとその式が次の通りです。

\((x+\frac{L}{\sqrt{Pb}})(y+L\sqrt{Pa})=L^2\)

※Lの値は最初のxy=L2のLの値とは異なり最定義されます。

uniswap V3の流動性グラフの詳細

ここまでの式を使い、次の条件で10,000USDTを流動性提供した時のBTCの提供枚数を求めてみます。

  • 提供する流動性ペア:BTC&USDT
  • 現在のBTCの価格:10,000USDT/BTC
  • 流動性の上限価格:14,400USDT/BTC
  • 流動性の下限価格:8,100USDT/BTC
  • 提供するUSDTの枚数:10,000USDT
  • 提供するBTCの枚数:?(ここを求める

移動した式のyに10,000を入れれば良さそうですが、まだLが分かっておらず対応するxを算出できません。

※平行移動前の式はあくまでも平行移動後の式を求めるためのもので、別の式なので関係ない。Lの値も平行移動前と平行移動後では基本的に異なる。(流動性が複数存在する場合)

そこで、集中流動性で成り立つ次の2つの関係式で考えます。

\(\Delta y=L・\Delta\sqrt{P}\)

\(\Delta x=L・\Delta\frac{1}{\sqrt{P}}\)

これらは平行移動前の式から導き出せる式を変化量で定義し直しただけの式で、x・y・Pの変化の関係を表します。この式の証明は下のボックスを開くと表示されます。

上記2式の証明過程【開けます】

\(\Delta Y=L・\Delta\sqrt{P}\)

\(\sqrt{xy}=\frac{y_{1}-y_{0}}{\sqrt{P_{1}}-\sqrt{P_{0}}}\)

\(\sqrt{xy}(\sqrt{P_{1}}-\sqrt{P_{0}})=y_{1}-y_{0}\)

\(\sqrt{xy}(\sqrt{\frac{y_{1}}{x_{1}}}-\sqrt{\frac{y_{0}}{x_{0}}})=y_{1}-y_{0}\)

Virtual Curve上では、\(\sqrt{x_{1}y_{1}}=\sqrt{x_{0}y_{0}}=\sqrt{xy}=L\)のため、

\(\sqrt{\frac{x_{1}y_{1}y_{1}}{x_{1}}}-\sqrt{\frac{x_{0}y_{0}y_{0}}{x_{0}}}=y_{1}-y_{0}\)

\(\sqrt{y_{1}^2}-\sqrt{y_{0}^2}=y_{1}-y_{0}\)

\(y_{1}-y_{0}=y_{1}-y_{0}\)

Δxについても同様です。

この流動性と価格変化量の関係式は、平行移動前の式から導かれたものですが、この式は平行移動後の実際の集中流動性の式においても同じように適用でき、集中流動性における流動性の枚数変化と価格変化の関係性も表します。

ちなみに、ユニスワップ公式文献では平行移動前の式は実際の流動性の枚数関係を表さない「Virtual Curve」と呼ばれ、平行移動後の式は「Real Curve」と呼ばれます。

つまり、平行移動後の集中流動性の式は実際の流動性の枚数関係を表しますが、下限価格から上限価格までの流動性の枚数変化の仕方はxy=k(通常の流動性モデル、集中流動性におけるVirtual Curve)と同じになります。

集中流動性では価格範囲ごとに「独立したミニ定積AMM(xy=k)」が存在しているということです。

つまり、集中流動性のグラフにおける変化量の関係式は次のようになります。

\(\Delta x=L(\frac{1}{\sqrt{Pc}}-\frac{1}{\sqrt{Pb}})\)

\(\Delta y=L(\sqrt{Pc}-\sqrt{Pa})\)

例題の値を当てはめると次のようになります。

\(\Delta x=L(\frac{1}{\sqrt{10000}}-\frac{1}{\sqrt{14400}})\)

\(10000=L(\sqrt{10000}-\sqrt{8100})\)

最初にLが1000であることが分かり、BTCの提供枚数(Δx)=1.6666…であることが分かります。

【補足】スワップが発生した場合のポジション変化の計算式

ユニスワップV3の集中流動性において、次の2つの流動性のみが同じ価格範囲で提供されていた場合に、スワップが行われた場合のポジションの変動について解説します。

1つ目の流動性提供
  • 提供ペア:BTC&USDT
  • 現在のBTC価格:10,000USDT/BTC
  • 流動性の上限価格:14,400USDT/BTC
  • 流動性の下限価格:8,100USDT/BTC
  • 提供するUSDTの枚数:10,000枚
  • 提供するBTCの枚数:1.66667枚
  • Lの値:1,000

提供するUSDTの枚数が10,000のときより、 \( \Delta y = L(\sqrt{P_{\text{現在価格}}} – \sqrt{P_{\text{下限価格}}}) \) よりL=1000と分かり、 \(\small \boldsymbol{ \Delta x = L\left( \frac{1}{\sqrt{P_{\text{現在価格}}}} – \frac{1}{\sqrt{P_{\text{上限価格}}}} \right) }\) よりxは1.66667と分かります。

2つ目の流動性提供
  • 提供ペア:BTC&USDT
  • 現在のBTC価格:10,000USDT/BTC
  • 流動性の上限価格:14,400USDT/BTC
  • 流動性の下限価格:8,100USDT/BTC
  • 提供するUSDTの枚数:1,000枚
  • 提供するBTCの枚数:0.66667枚
  • Lの値:100

このとき、500USDTでBTCを買うスワップが発生したときの各流動性の枚数変化を計算してみましょう。

※この価格変化は同一Tick内の微小な価格変化と仮定します。

集中流動性のTick内では次の関係式(Virtual Curve)が成り立ち、xの式は1/√Pを横軸・yの式は√Pを横軸とした場合に、Lを傾きとした1次関数の式になります。

\(xy=L^2\)

\(y=Px\)

上記の2式より、

\(x=\frac{L}{\sqrt{P}}\)

\(y=L\sqrt{P}\)

従って、

\(\Delta x=L・\Delta\frac{1}{\sqrt{P}}\)

\(\Delta y=L・\Delta\sqrt{P}\)

※xがBTCの流動性枚数、yがUSDTの流動性枚数です。例えばyの式に着目すると、提供された流動性が大きいほど傾きLの値が大きくなり、USDTでBTCにスワップした際のBTCの価格が変化が鈍くなります。

同じTick内に該当する今回の2つの流動性において√Pは同じ値を共有しているため、スワップで流動性ポジションの変化が発生した場合、2つの流動性の変化の比率(配分)は傾きLの比率と同じになります。

さとう

例えば流動性AのLが1で流動性BのLが5の場合、流動性Bは√Pの価格変化に対して5倍の流動性の変化が発生します。

今回のTick区間におけるVirtual Curve式から全体の流動性ポジションの変化・価格の変化を計算すると、次のようになります。

\[ \small \begin{aligned} \text{全体の流動性:} &\quad L_{\text{total}} = \sum_i L_i = 1000 + 100 = 1100 \\[6pt] \text{USDT変化量:} &\quad \Delta y_{\text{total}} = 500 \\[6pt] \text{よって:} &\quad \sqrt{P_{\text{変化後}}} – \sqrt{P_{\text{現在}}} = \frac{\Delta y_{\text{total}}}{L_{\text{total}}} = \frac{500}{1100} = \frac{5}{11} = 0.4545 \\[6pt] \text{したがって:} &\quad \begin{cases} \displaystyle \Delta y_{\text{total}} = L_{\text{total}}\left(\sqrt{P_{\text{変化後}}} – \sqrt{P_{\text{現在}}}\right) = 1100 \times 0.4545 = 500 \\[8pt] \displaystyle \Delta x_{\text{total}} = L_{\text{total}}\left(\frac{1}{\sqrt{P_{\text{変化後}}}} – \frac{1}{\sqrt{P_{\text{現在}}}}\right) = 1100\left(\frac{1}{99.5455} – \frac{1}{100}\right) = -0.0500 \end{cases} \end{aligned} \]

そしてこの全体の流動性ポジションの変化を、2つの流動性(Real Curve)に配分すると、次のようになります。

\[ \small \begin{aligned} \text{各流動性の比率:} &\quad \frac{L_1}{L_{\text{total}}}=\frac{1000}{1100}=\frac{10}{11}=0.9091,\qquad \frac{L_2}{L_{\text{total}}}=\frac{100}{1100}=\frac{1}{11}=0.0909 \\[6pt] \text{したがって:} &\quad \begin{cases} \displaystyle \Delta y_1=\frac{10}{11}\cdot 500=454.5455 \\[6pt] \displaystyle \Delta y_2=\frac{1}{11}\cdot 500=45.4545 \\[8pt] \displaystyle \Delta x_1=\frac{10}{11}\cdot(-0.0500)=-0.0455 \\[6pt] \displaystyle \Delta x_2=\frac{1}{11}\cdot(-0.0500)=-0.0045 \end{cases} \end{aligned} \]

これでそれぞれの集中流動性の枚数変化を計算できました。

【補足】無数の流動性を管理するTickの概念

ユニスワップV3の集中流動性では、様々なパターンの価格範囲が設定された無数の流動性を管理して、AMMのスワップや価格管理を実現する必要があるため、Tick(ティック)という概念を使用します。

Tickは「ある2つの価格間の範囲」を表す概念で、Tickの区切れ目は次の式で計算されます。

\[ P = 1.0001^{t} \]

※tはtick indexと呼ばれる正の整数

1.0001倍毎にTickの区切れ目があり、その間隔それぞれが1つのTickとなります。

さとう

この1つのTickそれぞれにVirtual Curveが設定されます。

しかし、流動性を構成するペアによってはあまりにも価格変動が大きく、1,0001倍毎にTickの区切りを設定する意味がない場合もあるため、実際は各ペア毎に「Tick Spacing」を定義し、数十から数百のTickをひとまとまりにします。

ユニスワップV3ではこのTick Spacing毎にスワップ手数料が設定される仕組みで、価格変化がほぼないステーブルコインペアなら最小のTick Spacingが設定され、ミームコインを含めば大きく設定されます。

Tick spacing手数料率ペア例
10.01%USDC&USDT
60.03%ETH&LINK
100.05%ETH&USDC
2001.00%ETH&GMX

参照:Uniswap “What is a tick when providing liquidity?

Tick Spacingが細かいほど、特定の価格範囲に絞った流動性の集中がより実現しやすくなります。

従って、米ドルステーブルコイン同士のスワップの場合、ユーザーは1ドル同士のスワップを望むため、Tick Spacingを狭くして1ドル周辺に流動性を集中させます。

流動性提供側の観点で考えると、インパーマネントロス発生のリスクがなく、手数料報酬を多く必要とせずに流動性を提供するインセンティブがあるため、スワップ手数料率は低く設定されます。

集中流動性では、このTick1つ1つにVirtual Curve(xy=L^2)があり、LはそのTickに該当するReal Curveの流動性の合計を表しています。

先ほど解説したように、微量のスワップが発生して1つTick内に留まる小さな価格変化が起きた場合、次のように各個人の流動性のポジション変化を計算できます。

  • スワップが発生する
  • Virtual Curveでx・y・Pが変化
  • 各LPにx・yの変化を配分

まずはVirtual Curve式を用いてスワップによるΔx・Δy・ΔPを算出していきます。

\[ \Delta x = L\left(\frac{1}{\sqrt{P_{\text{変化後価格}}}}-\frac{1}{\sqrt{P_{\text{現在価格}}}}\right) \\ = L\left(\frac{\sqrt{P_{\text{現在価格}}}-\sqrt{P_{\text{変化後価格}}}}{\sqrt{P_{\text{変化後価格}}}\sqrt{P_{\text{現在価格}}}}\right) \] \[ \Delta y = L\left(\sqrt{P_{\text{変化後価格}}}-\sqrt{P_{\text{現在価格}}}\right) \]

Lは現在のTick内においてアクティブな流動性の合計となっており、現在価格は分かっているため、スワップによるΔxが入力されると、Δyとスワップ後の価格Pが計算できます。

これによりスワップによるこのTick区間の全体のx・y・Pの変化が計算できました。ここから、各Real Curve(各個人の流動性)への影響も計算できます。

Virtual CurveとReal Curveは平行移動しただけで同じ傾きのため、Virtual Curveにおける枚数変化の比率とReal Curveにおける枚数変化の比率は同じになります。

従って、TickのVirtual curveにおけるΔxとΔyを各個人Real CurveのLiで比例配分すると、各個人の流動性ポジションの変化ΔxiとΔyiが計算されます。

\[ \Delta x_i = \frac{L_i}{L_{\text{合計}}} \, \Delta x \] \[ \Delta y_i = \frac{L_i}{L_{\text{合計}}} \, \Delta y \]

このように、集中流動性ではTickで価格を区分けし、各Tick毎のVirtual Curveと、そのVirtual Curveから枝分かれしたReal Curveで各個人の流動性ポジションを計算・管理している訳です。

【補足】集中流動性のインパーマネントロスの計算式

ユニスワップV3のインパーマネントロスの計算式」の解説は長くなりすぎるので、下の記事をご覧ください。

下の集中流動性のインパーマネントロス(IL)の計算ツールを使うと、将来価格時点のインパーマネントロスが何パーセント発生するかを計算できます。

集中流動性 IL計算ツール

①~⑤まで入力して「計算開始」を押すと、対応する流動性枚数とインパーマネントロスが計算されます。価格は A/B(1 B あたり A) で入力してください。例:USDT/BTC = 10000











さとう

流動性の枚数は片方の入力だけで大丈夫です。もう片方の枚数は上限価格と下限価格から自動で算出されます。

【補足】ユニスワップV4とユニスワップV3の違い

ユニスワップV4は2025年1月にローンチされた最新バージョンです。ユニスワップV3との主な違いは次の通りです。

スクロールできます
比較項目Uniswap v3Uniswap v4改善内容
流動性プールの管理各プール独立したコントラクト全プールを単一のPoolManager
コントラクトで管理
ガスコスト削減
状態管理の一元化
プール作成コスト新規のデプロイが必要状態更新のみ(新規デプロイ不要)プール作成コスト減
流動性構造集中流動性集中流動性基本構造に変化なし
ETHの扱いWETHへのラッピングが必要ネイティブETHをサポートガスコスト削減
フック(Hooks)なしあり(手数料調整・寄付など)カスタムロジックを導入可能
手数料構造プール毎の固定手数料柔軟なの手数料設定+動的手数料リアルタイム調整が可能
プロトコル手数料LP手数料の一部を
プロトコル手数料として徴収
入力額に対してまずプロトコル手数料
その後LP手数料を徴収
プロトコル手数料を別途徴収
スワップ効率プールごとにトークン転送
(中間転送あり)
中間プール転送不要プールを経由する
スワップのガス削減
AMMロジックベースはxy=kフックでAMMを自由設計可新しいAMM設計が可能
ルーティングUniswap RouterUniswapXと統合ルーティング柔軟なスワップ経路

Uniswap V4 vs Uniswap V3

>>参照:https://app.uniswap.org/whitepaper-v4.pdf

ユニスワップV4はユニスワップV3の「集中流動性」の仕組みは継承しつつ、各ポイントごとに小規模~中規模の改善を行って最適化したバージョンになります。

スワップ利用者にとっての違い

ユニスワップの公式サイト上でスワップする場合に、V3プールを利用するのかV4プールを利用するのかを気にする必要はほとんどありません。

以前は下のような例でトークンAとトークンCにスワップしたい場合、「A&B」と「B&C」の2つの流動性をプールを経由する必要があり、ガス代がその分高くなっていましたが、これがV4では改善されているのでお得です。

V4は「シングルトン設計」と呼ばれ、全て流動性プールが1つの「PoolManager」と呼ばれるスマートコントラクトで管理されるという特徴があります。

さとう

A・B・Cのトークンが1つのコントラクトで管理されるため、スワップ時のガス代を抑えられます。

ガス代以外でスワップを実行するときに発生する手数料の違いは次の通りです。

発生する手数料Uniswap V3Uniswap V4
スワップ手数料0.01%~1.00%柔軟
プロトコル手数料スワップ手数料から徴収最大0.1%
インターフェース手数料0.25%(一部銘柄を除く)0.25%(一部銘柄を除く)

流動性提供者の報酬となるスワップ手数料はUniswap V3よりさらに柔軟に設定されていますが、基本的に高くなっていることはありません。

プロトコル手数料はV3時もスワップ手数料から徴収可能な設定になっていましたが実際には有効化されず、V4でも最大0.1%で設定可能になっていますが、現在は徴収されていません。

流動性提供者にとっての違い

ユニスワップ公式サイト上でV4プールに流動性を提供する場合もV3と同じように価格範囲や手数料階層を設定することになり、使用感はほとんど同じです。

ユニスワップV4は開発者が自分のアプリケーションに適した流動性プールを「フック」と呼ばれるスマートコントラクトをセットすることで作成できます。

さとう

フックをセットすることで手数料のリアルタイム調整が可能になったり、xy=k以外の独自の流動性カーブを設定できたりします。

既存の流動性プールに仮想通貨を入れて運用する場合、V4とV3の違いを意識する必要はありません。

まとめ:V3の集中流動性提供は要注意

ユニスワップV3とV2の重要な違いは次の3点です。

スワップ目線ではスワップ手数料がわずかに変わる程度なので、変化はほとんど分からないはずです。

※大きな金額のスワップでは「プライスインパクト」の軽減を実感できる。

流動性を提供するときは利率が大きく高まりますが、価格範囲を外れると報酬が入らなくなり、インパーマネントロスリスクも高まるため注意が必要です。

  • スワップ目線では大きな変化なし
  • 集中流動性の提供は利率が大きく上昇
  • しかしインパロスのリスクも大きい
  • 流動性提供はV3で難易度が上がった
ユニスワップの関連記事はこちら
スワップのやり方ステーキングのやり方
ユニスワップの使い方ユニスワップV3とV2の違い
V2インパーマネントロスプライスインパクトとは
V3インパーマネントロス
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次