自動市場メーカーは、買い手と売り手からの指値と約定値を受け取らない。Uniswapの開発者ドキュメントに従い、2つのトークンのプールに対して、最も一般的な定数積公式 x*y=k を用いて取引価格を決定する。プールの準備高比率が取引前の価格を設定するが、取引自体がその比率を変更するため、取引規模がプールに対して小さくない限り、実際に支払われる価格は最初に提示された価格よりも不利になる。
プールと式が行っていること
流動性プールとは、Uniswapブログによると、ETHとUSDCなどの2つのトークンの準備金を保持するスマートコントラクトであり、誰でも直接それらを取引できます。流動性提供者は、プールの初期化のために両方のトークンを同等の価値で入金し、Uniswapブログによると、2つの準備高の積である定数kの初期値を設定します。その後、すべてのスワップはxとyの積が同じkの値を維持しなければなりません。Uniswapの開発者ドキュメントでは、kは各取引後に一定または増加し続ける不変量であると説明されています。2つの準備高の積が常に同じ数値を維持しなければならないため、プールから1つのトークンを引き出すと、もう1つのトークンが補填するために増加し、この比率の変化が価格を動かします。
計算を確認する:10 ETH / 20,000 USDC のプールから1 ETHを購入する
Uniswapブログは具体的な例を示しています。10 ETHと20,000 USDCからなるプールから始めます。定数は10掛ける20,000、つまり200,000です。この初期状態では、プールは1 ETHが2,000 USDCと見なされます。
今、トレーダーが1 ETHを購入した。プールのETH準備高は9に減少した。定数を200,000に保つため、USDC準備高は200,000を9で割った約22,222.22 USDCに上昇しなければならない(Uniswapブログの計算による)。したがって、トレーダーは1 ETHを得るために、22,222.22から20,000を引いた2,222.22 USDCを投入した。彼らが購入したETHの実質的な価格は、取引前のプールが提示していた2,000 USDCではなく、2,222.22 USDCである。
その差額、2,222.22 USDC対2,000 USDCの開始価格はスリッページと呼ばれます。これは手数料でも不具合でもなく、リザーブの変動に応じてプールを再価格付けするという、この式が本来の役割を正確に果たしているだけです。Uniswapブログでは、プールの規模に対して大きな取引ほどスリッページが大きくなり、厚さが深いプールは同じ取引をより小さな価格変動で吸収すると指摘されています。Uniswapの開発者ドキュメントでも同様の点が述べられており、この効果は価格インパクトと呼ばれています。プールの厚さに対する取引規模が大きいほど価格が大きく動きますが、小さな取引は現在のスポット価格に近いレベルで実行されます。
Uniswapのブログは、同じメカニズムを一般ユーザー向けによりシンプルに説明しています:100ドル分のUSDCをETHと交換するユーザーは、定数積公式によってリアルタイムで計算されたレートで取引を行い、スマートコントラクトが1回の取引でUSDCを引き出し、ETHを返却しながらプールを再バランスします。
単純な式が適用されなくなる場所
上記のx*y=k算術は、Uniswap v2スタイルのプールを表しており、流動性は可能なすべての価格範囲に分散されます。Uniswapの開発者ドキュメントによると、v3およびv4では、この式は各流動性プロバイダーが選択した価格範囲内でのみ適用されます。これは「集中流動性」と呼ばれる設計です。v3では、プロバイダーのその範囲内の保有資産は、NonfungiblePositionManagerというコントラクトを通じてERC-721非代替トークンとして表されます。v4では、同様のドキュメントによると、保有資産はPositionManagerによってERC-6909を用いて内部会計管理されます。実際の結果として、同じ取引ペアを取引する2つのプールであっても、異なるUniswapバージョンを使用している場合や、プロバイダーが異なる流動性範囲を選択している場合、同じ取引に対して価格が同じ量だけ動くわけではありません。どちらも定数積式を実行していると説明されていますが。
UniswapとBalancerは、2020年のGuillermo AngerisとTarun Chitraによる論文で「定数関数マーケットメイカー(CFMM)」と呼ばれるより広いカテゴリに属する。これは、プールの準備高の固定関数に基づいて価格を決定する自動マーケットメイカーであり、x*y=kはその一例である。同論文は、すべての資産ペアにこの特定の曲線を適用すべきではないと指摘している。約$1にペッグされ、その周辺で狭い範囲で変動するステーブルコインは、ペッグ付近でよりフラットな曲線を使用することで、ペアが$1に近いときに取引手数料を低く抑え、離れるにつれて上昇させる方が効率的である。このアプローチは、CurveのStableSwap設計に由来すると論文は述べている。基本的な発想はUniswapと同じ——準備高と不変の価格設定——だが、曲線の形状、したがってトレーダーが計算する算術は異なる。
この市場がどれほど大きくなったか
2020年3月に発表されたAngerisとChitraの論文は、当時のDeFiの状況についていくつかの数値を示した。その論文では、当時のDEXが約1億ドルのデジタル資産をロックしており、日次取引高は時として1日1,000万ドルを超えていたと述べられている。論文に掲載された数値(DeFi Pulseのデータを参照、2020年2月12日付)によると、CFMM契約は1億2,970万ドルを保有していたのに対し、AugurやGnosisのようなLMSRベースの予測市場メイカーは72万1,000ドルを保有していた。同論文は、UniswapがEthereum財団からの10万ドルの助成金で構築されたのに対し、0xは2,400万ドル、Bancorは1億5,300万ドルを初期コインオファリングで調達したと指摘し、論文執筆時点ではUniswapがこれらの2つの競合の合計流動性の5〜10倍を保有していると述べている。これらの数値は、このページが作成された5年前の市場を描写したものであり、単純に設計されたAMMがより資金が豊富でより複雑な代替手段をどのように急速に上回ったかを歴史的に示すものに過ぎず、これらのプロトコルの現在の規模については一切言及していない。
このページで示されていないこと
このページは、提示された証拠の中で利用可能な1つの数値例を用いて、Uniswap v2スタイルのプールに適用される定数積公式を説明しています。Uniswap v3またはv4の集中型流動性の計算や、Curveが使用するStableSwap曲線については扱っていません。これは、参照したすべてのソースがそれらのケースについて数値例を提供していないためであり、違いの説明のみが記載されています。
上記の10 ETH / 20,000 USDCの例は手数料無料です。Uniswapの開発者ドキュメントによると、スワップ手数料はプールとプロトコルバージョンによって設定され、ガバナンスを通じて有効化された場合、プロトコル手数料が適用される可能性がありますが、本記事で使用されたどのソースも特定のプールの実際の手数料率を示していません。したがって、上記で計算された2,222.22 USDCの実行価格は、実際の手数料を課すプールではやや高くなるでしょう。
Uniswapブログは、数値を示すことなく、流動性が薄い場合や取引が急増した際、トレーダーの最終約定価格が画面に表示された初期価格とわずかにずれる可能性があると警告している。ここで使用したすべての情報源は、スンドイッチ取引などの手法が、ライブ取引におけるこの差にどのように作用するかについて、この一般的な警告を超えて説明していない。
最後に、2020年の総ロックアップ価値(TVL)およびICO調達額の数値は、TVL比較については2020年2月12日、調達比較については論文の2020年3月発行時点における市場の1時点のスナップショットです。これらは、Uniswap、0x、Bancor、またはより広いDeFi市場の現在の数値として解釈すべきではありません。
ソース
上記のすべての事実は、これらのレポートのいずれかに由来します。意見が異なる場合、記事ではその旨を明記しています。



