TraderJoeの理解を深める 前編

サムネイルの引用元:TraderJoe

はじめに

こんにちは、デフィー伍拾伍号です。本記事では、Avalanche上で特にTVLを集めるDEX Trader Joeについてその理解を深めます。前編では、まずUniswapV3が抱えるいくつかの仕組み上の問題点とTraderJoeのLiquidity Bookの概要中心に解説を加えます。また後編ではより詳細なTraderJoeの機能について理解を深めます。さてTrader Joeではそのversion2以降、Liquidity Bookという仕組みが導入されています。

これは、スワップ価格への影響を最小限に留める一方で、資本効率の向上と流動性提供の柔軟性を実現します。特に注目すべきは、十分な流動性が確保されている状況では、トレーダーがゼロスリッページでスワップ取引を行うことが可能になる点です。その他にも変動手数料を導入することで、流動性プールへの参加者に対するインパーマネントロス(一時的な損失)のリスクを軽減します。このアプローチは、流動性提供者の収益性を向上させ、より大きな流動性の確保に寄与します。

UniswapV3の課題


引用元:Paradigm

Trader Joeの具体的な解説に入る前に、UniswapV3に関するいくつかの問題について振り返りましょう。ただし、Uniswap Labは2023年の5月にUniswapV4を発表しており、以降であげるいくつかの問題はUniswapV4の機能を利用することで解消できるものがあります。したがって今回はあくまでUniswapV3とTraderJoeV2を比較するものであって、例えばそのDEXの市況環境などは今後大きく変化する可能性があることに注意してください。では早速UniswapV3の仕組み的な概要を理解します。

まずはじめにUniswapV3において、流動性提供は、切れ目のないレンジで行う仕組みに映りますが、その裏側にはtickという仕組みが存在します。tickというのは価格に近い概念ではあるのですが、例えば、ETH-USDCのプールにおいて1000USDCから1500USDCに流動性を提供する場合、1000USDC-1500USDCの広いレンジで流動性を提供するというよりは、仮にtickspacingが100なら1000-1100,1100-1200,1300~というようにそのtickspaceごとに流動性を提供する仕組みとなります。

補足ですが、tickとtickの間をtickspacingと呼びます。このtickspacingは、基本的に手数料水準に基づいて決定され、UniswapV3の0.05%の手数料プールであれば、tickspacingは10が多く、0.3%のプールだと60というのが一般的です。

またこちらも注意ですが、もしあるtickが1000であるからといって1000ドルというようなわかりやすいものではなく、例えば23949が1000ドルに対応するtickというややとっつきにくい仕様であり、詳しくはUniswapV3のdocumentを確認していただけると幸いです。

加えてUniswapV3においてよくある誤解なのですが、UniswapV3は指値的であるから、スリッページは存在しないという認識があります。しかしながら先ほど述べたtickspacingの内部つまり1000-1100USDC範囲内ではUniswapV3はUniswapV2のように機能するため、スリッページは発生します。つまりtickspacing内ではx*y =kという馴染み深い数式が適用されます。

またこれからわかることは、もちろんtickspacingがものすごく細かれば別ですが、純粋に価格を指定して、流動性を提供するような指値注文は難しいということです。なぜなら先ほど述べたようにUniswapV3において流動性提供することはtickspacingに流動性を提供することなので、tickspacingが100なのに50だけ提供するといったようなtickspacingを下回るような流動性の提供は不可能なのです。

確かにUniswapV2と比較するとUniswapV3は、オーダーブックに馴染み深い仕組みではあります。しかしよくよくその仕様を確認すると多くのユーザーが期待するイメージとやや乖離が生じているのではないでしょうか。またUniswapV3では固定のFee水準が採用されています。例えばWETH-USDCプールを例にとれば、0.01%、0.05%、0.3%、1%というように同じトークンのペアであるにもかかわらずFee水準ごとにプールが分離しています。これは資金効率や流動性の分散というまた異なる問題も引き起こします。

またFee水準というのは、見方を変えるとスプレッドとして機能するわけです。従来の金融市場において、スプレッドは可変であり、需給や、市場の動向に応じてスプレッドは縮小、拡大します。これはDEXにおいても反映されるべきものでしょう。以上はTraderJoeが特にVersion2において改善を加えるLiquidityBookや変動手数料を意識した内容ですが、このほかにも課題が存在します。以上を踏まえてTrader Joeにおける具体的な仕組みを以下で確認していきたいと思います。

TraderJoeV2で導入されたLiquidity Bookの仕組みとは


引用元:TraderJoe
ここからは先ほど、いくつか述べた論点を踏まえて、TraderJoeV2で導入されたLiquidity Bookについてその理解を深めていきたいと思います。このLiquidity Bookの仕組みは、資産ペアの流動性を特定の価格に割り当てられた離散的な「価格ビン」によって構成します。このアプローチは、従来のDEXとは異なり、より伝統的な株式市場で一般的なオーダーブック方式に近い形を取っています。

LiquidityBookにおいて、トークンの流動性は流動性提供者によって指定された価格ごとに配置されます。そして、各価格ビンに提供された流動性は、そのビンで設定された特定の価格で交換されます。これは、板取引所の気配値に似ており、価格が動くことによって取引が行われるシステムです。

上記の図は、LiquidityBookの仕組みを示しています。まずここで、トークンXとトークンYの現在の市場価格は、トークンXとYの両方を含む価格ビン(例えば上図のP14)に割り当てられた価格として表現されます。P14以下のビンはすべてトークンYで、P14より上のビンはすべてトークンXで構成されます。また現在の価格ビン(P14)の流動性が完全に変換されると、価格は次のビン(例えばP15やP13)に移動します。

以上の仕組みにより、スリッページが発生しない仕組みを理解できたかと思います。つまりスワップ取引におけるスリッページは、次の価格ビンの流動性も利用する場合にのみ発生します。これは、各価格ビン内では固定価格で取引が行われるためです。このシステムにより、Trader Joe v2はスリッページを最小限に抑えながら効率的な価格発見と流動性の提供を実現しています。

関連記事