DeFi (UniSwapへの流動性提供) の「インパーマネントロス」を数学的に評価する(その①)

スポンサーリンク

密かに空前のDeFiブーム到来中!!

久しぶりに、ちゃんとした記事を書こうかなと思ってます。久々に仮想通貨関連の記事ですが・・・今、界隈では空前のDeFiブームが来てます。

DeFiとは、「Decentralized Finance」の略であり、非中央集権的に(人を介さず自動的に)銀行や取引所といった機能を有したシステムと言えます。DeFiについては山のように記事があるので、詳細は一旦、参考ページ(外部リンク)に渡すことにします。

参考:10分で分かるDeFiの仕組み──知っておくべき8つのキーワード (出典元:coindesk Japan)

今回は、その中でも、DEX(Decentralized EXchange)における「オートマーケットメーカー(AMM)への流動性提供に伴うインパーマネントロス」について深く掘り下げた記事です。UniswapやPancakeSwapを使ったことがある、流動性提供をしているが仕組みがよくわからん・・・位のレベルの方向けの、ちょっとだけレベル高めの記事です。

正直、興味段階では「なんじゃそりゃ」って話だと思いますので、とりあえず、わかりやすい解説ページで調べてみることをおすすめします。個人的にわかりやすいなと思ったページをリンクで貼ります(外部リンク)。

参考:Unisawpの使い方 – 手軽にイーサリアムのトークンを交換!(出典元:ピプリクト)

まずはUniSwapの簡単な仕組みから

インパーマネントロス(変動損失)とは、UniSwapに代表されるDEX(自律型取引所)において、「プールへの流動性提供」を行う際に発生する可能性のあるものです。

最近はイーサリアムの価格とガス代暴騰に伴い、DEXの主戦場はバイナンススマートチェーンのPancakeSwapBakerySwapに移っているように思います。特にBakerySwapの価値上昇が顕著で、1週間程度で取引所トークンの価値が数十倍になりました。とてつもないです、ありがたや。

閑話休題。こんな感じで色々とDEXができているところですが、基本概念はすべてUniSwapが確立した仕組みを採用しています。これらのDEXで自動的に取引ができる仕組みとして、「流動性プール」の概念があります。

UniSwapには、大きく分けて「流動性提供者」と「DEX利用者」が存在します。流動性提供者が、「流動性プール」に特定のトークンをペアで投入します。これを仮に「TOKEN-1」と「TOKEN-2」とします。

これをたくさんの流動性提供者が実施することで、「流動性プール」内には、一定量の「TOKEN-1」「TOKEN-2」が溜まっていくことになります。

ここで、DEX利用者が出てきます。彼は、「TOKEN-1」を「TOKEN-2」に交換したい人とします。その場合、彼は流動性プールに対して「TOKEN-1」を提供します。すると、自動的に流動性プールからは同価値の「TOKEN-2」が付与されることになります。そして、取引にかかった額の一部(UniSwapでは0.3%)が、流動性提供者に分配されます。これが、流動性を提供するメリットです。これによって、取引が自動的に成立するのです。

UniSwapの簡単な図解

価格はどうやって設定される?

価格設定の仕組みはシンプルです。それは、流動性プール内の「TOKEN-1」と「TOKEN-2」の保有容量の比率によって決まります。

例えば、「TOKEN-1」 = ETH (Ethereum)、「TOKEN-2」 = USDT (Tether) とした場合、現在の価格で【2,000 : 1】(1ETH = 2,000USDT) です。仮に流動性プールに10,000USDTが入っていたとすると、ETHはその2,000分の1、つまり5ETHがプール内に入っていることになります。両者の価値は同等です。

ここで、1ETHを2,000USDTに交換したい人が現れたとします。このときUniSwapの処理としては何をするかというと、「流動性プールに1ETHを投げ込む」→「流動性プールから2,000USDTを引き出す」という処理が入ります。つまり、その後の流動性プール内では、もともとの5ETH+10,000USDTに対して足し引きが行われ、結果的に6ETHと8,000USDTが残ることになります。つまり、レートとしては 1ETH = 8,000 ÷ 6 = 1,333USDTとなり、価値の変動が発生します。こうして、価格が調整されていくのです。

流動性提供者の前提条件

流動性提供を行う場合は、一定のルールがあります。一つは、「等価値のTOKEN-1とTOKEN-2を投入すること」です。

前述の例では、1ETH = 2,000USDTのときには、1ETHを入れる場合には、同時に2,000USDTの投入が必要になります。一方、取引がされて価格が変動したあとの場合は、1ETHを入れるために1,333USDTが必要となります。

これは流動性を解除して引き出すときも同じです。流動性を解除すると、等価値の2トークンが配布されることになります。

つまり、「流動性提供・解除においては価格変動が伴わない」というのが一つのファクトとして出てきます。

もう一つのルールは、「流動性提供者が提供したTOKEN-1とTOKEN-2の積は、取引の前後でも変動しない」ということです。例えば前述の例で、もともとプールに「1ETH+2,000USDT」を投入していたとします。取引が行れたあと、それがどうなるかというと・・・「1.22ETH+1,633USDT」になります。【1:1,333】の比で、なおかつ掛け合わせると2,000ということです。 連立方程式を解けば出てきますね。

この2つのルールに則ると必然的に出てくるのが、「インパーマネントロス」の概念なのです。

インパーマネントロスとはなんぞや?

インパーマネントロスとは、要は、「流動性提供することで、そのまま持っておくより損すること」です。なぜこのようなことが発生するのか!?・・・ようやくこの記事の本題に近づいてきました。

まずは、事実確認のために上記の例を再び引用です。1ETH+2,000USDTを提供することで、色々取引があって、最終的に「1.22ETH+1,633USDT」となったケースです。流動性提供をする場合としない場合で、どのような違いが出るのでしょうか。

<流動性提供しない場合>

保有トークン量は以下の通りで、もちろん前後で変動はありませんね。

  • ETH : 1ETH
  • USDT : 2,000USDT

価値変動後は、1ETH = 1,333USDTの価値に変換されるため、USDT建てで言えば、1,333+2,000 = 3,333USDTが、そのまま保有していた場合の価値です。

<流動性提供する場合>

取引が行われたあと、以下のトークンバランスになっています。

  • ETH : 1.22ETH
  • USDT : 1,633USDT

同様に、価値変動後のETHの価値は下がっており、1.22ETH = 1,633USDTとなっています。当然、保有しているUSDTと同価値です。つまりこの場合、USDT建てでの保有資産は、1,633 × 2 = 3,266USDTとなります。すなわち、そのまま保有していた場合の3,333USDTと比較して、67USDT価値が毀損しています。これがインパーマネントロスです。

シンプルだけど奥が深い仕組みです。仮想通貨界隈は、とんでもなく頭のいい人たちが集まってますね。

本題:インパーマネントロスを数学的に評価する

ここまで説明して、ようやく本題です。。。

本題に入っていきたいところですが・・・ちょっと記事が膨大になってきたので、一旦切ります。続きは次回の記事で説明しますが、要は、インパーマネントロスをしっかりと数学的に評価することで、どういう状況であれば損をしないのか、得できるのか、というのを突き詰めていきたいと思います。

キーワードは以下の2点です。これを方程式に落として解いてやることで、色々と面白い事実がわかってくると思います。

  • 流動性提供しているTOKEN-1総量とTOKEN-2総量は等価である
  • 流動性提供者が提供したTOKEN-1とTOKEN-2の積は、取引の前後でも変動しない

ちなみに、先に一つだけ言っておきますと、「インパーマネントロス」は存在しますが、「インパーマネントゲイン」は存在しません。価値変動が起こった場合、上昇でも下落でも、必ず損します。そういうものなのです。

では、ちょっと興味を引っ張ったところで、続きは次回の記事とさせていただきましょう。。。

※次の記事:DeFi (UniSwapへの流動性提供) の「インパーマネントロス」を数学的に評価する(その②)