交易#
もし貸し借りが歴史のある金融活動と言えるなら、取引も同様です。現代社会では、物々交換の取引方法を既に超えています。現在のほとんどの取引は法定通貨の形で行われ、商品と信用(つまり通貨)の交換方法となっています。これは、取引の一方が数字で表される「信用」を使用していることを意味します。それが電子、紙幣、または硬貨の形で表現されるかどうかは関係ありません。両側が電子形式で表される場合、インターネットを利用して取引を瞬時に完了することができます。典型的な例は、ゲームアイテムを電子支払いで購入する方法です。
暗号通貨自体は、電子形式でインターネット上で動作する資産であり、明らかに非常に強力な取引特性を持っています。したがって、分散型取引(DEX)の機能は、非常に重要な基盤となります。
初期の DEX 製品は、CEX と設計上の大きな違いはありませんでした。例えば、IDEX はオンチェーンのオーダーブック機能を実装し、ユーザーはイーサリアムのトランザクションを送信してトークンを売買することができました。
本当にブロックチェーン固有の取引方法は、Uniswap で登場しました。取引はもはや売買オーダーの形で行われず、固定アルゴリズムによって取引価格が決定されます。以下では、いくつかの典型的な DEX プロトコルとトレードアグリゲーションプロトコルを使用して、現在の DEX の主な機能を概説します。
Uniswap#
2016 年 10 月、Buterin は reddit で「オンチェーンの自動マーケットメーカー」を実現する方法について議論する投稿をしました。この投稿の目的は、オンチェーン取引の問題である「深さの不足」について議論することでした。一部の主要なトークンを除いて、中央集権型取引所では取引の深さが十分にある一方、Maker や Idex などの分散型取引所では、取引ペアの深さが不足しており、スプレッドが通常 10%以上になります。
投稿では、価格を計算するための固定関数を使用する方法が提案されました。まず、流動性プールを作成する必要があります。このプールには、A トークンと B トークンの一定数量が含まれており、それぞれの数量は x と y です。x と y の積は k であり、トークンの注入と引き出しによって取引が行われます。取引後も、プール内の 2 つのトークンの数量の積は k のままです。以下に例を示します:
-
ETH と DAI の流動性プールがあり、10ETH と 30000DAI が含まれており、その積は 300000 です。
-
トレーダーが 1ETH を売りたいと思っています。彼は 1ETH をプールに送信します。
-
プール内の 2 つのトークンの数量の積は 300000 のままでなければならないため、現在プールには 11ETH があります。したがって、プール内に残る DAI の数量は 300000/11=27272.7 です。
-
トレーダーが受け取る DAI の数量は 30000-27272.7=2727.3DAI です。これで取引が完了します。
これが Uniswap の取引方法の原型です。
Uniswap の創設者である Hayden Adams は、卒業後、シーメンスの機械工学者になりましたが、後に解雇されました。彼が低迷していたとき、友人が彼にイーサリアムのスマートコントラクトの開発を試してみるよう勧めました。学習期間を経て、彼は本当のプロジェクトを始める準備ができました。その目標は、上記の投稿で説明されている DEX でした。物語の結末は、Uniswap が DeFi の象徴的なプロジェクトとなり、DeFi プロトコルの中で最も市場価値が高いものとなりました。
メカニズム自体に戻りましょう。CEX では、マーケットメーカーは流動性を提供するためにトレードオーダーを行うためのロボットが必要です。IDEX はこの取引方法を継続しましたが、低市場価値のトークンに対しては、通常、保有者がオーダーを出す動機がありませんので、スプレッドが非常に大きくなります。一方、x*y=k のマーケットメーカー方式では、スプレッドは存在しません。現在の価格は、プール内の 2 つのトークンの数量比率に等しいです。上記の例では、1ETH=3000DAI です。もちろん、実際の取引価格はこの価格よりも低くなります。なぜなら、トークンの注入により、そのトークンの相対数量が増え、価格が下がるからです。トークンの価格が取引によって下がる変動を「スリッページ(slippage)」と呼びます。ここでのスリッページは 1-2727.3/3000=9.1% であり、トレーダーが得る価格が現在の価格よりも 9.1% 低いことを意味します。スリッページは明らかにプール内のトークンの数量と負の相関関係にあります。例えば、トークンの数量が 100 倍になると、トレーダーの取引損失は 9.1% よりもはるかに低くなります。
流動性プールの操作には 2 つの方法があります。1 つは上記で説明した取引であり、もう 1 つはプールに流動性を提供することです。流動性プールに流動性を提供するには、現在の流動性プールの 2 つのトークンの比率に従って注入する必要があります。例えば、プールに 10ETH と 30000DAI がある場合、1ETH+3000DAI、5ETH+15000DAI などを流動性プールに注入することができます。このようなユーザーは「流動性プロバイダ(Liquidity Provider、以下 LP)」と呼ばれ、注入後に LP トークンの数量を返します。これは、LP がそのプールの一部の所有権を持つものです。もちろん、LP トークンも自由に流通します。流動性プールに流動性を提供することで、トレーダーの損失を減らすことができるため、流動性プロバイダ自身が得る利益は何ですか?
ここで「インパーマネントロス(Impermanent Loss)」という概念が登場します。これは機会費用を指すものです。流動性プロバイダにとって、流動性を提供し、プール内のトークンの比率が変動すると、彼らの損失はどれくらいですか?
LP がプールに 1ETH+3000DAI を注入し、ETH が 750DAI まで下落したと仮定します。k が変わらない原則に従うと、この LP はプール内で 2ETH+1500DAI を持っています。流動性を提供しなかった場合、現在の ETH 価格に基づいて、彼は 1*750+3000=3750DAI を持っているはずです。現実は彼が流動性を提供したので、彼が持っている資産は 2*750+1500=3000DAI です。インパーマネントロスとは、流動性を提供しなかった場合と比較して、損失金額の比率を指します。つまり、(3000-3750)/3750=-20% です。ETH で計算すると、損失も - 20% です。実際には、価格がどの方向に移動しても、LP は損失を被ることになります。
したがって、LP には流動性を提供する動機がありません。そのため、設計上、各取引の 0.3% が手数料として LP に補償され、LP のインパーマネントロスを相殺するため、取引所は手数料を請求しません。
LP が流動性を提供し、固定関数によってトークンの取引が行われるこのタイプのメカニズムは、恒定関数マーケットメーカー(CFMM、Constant Function Market Maker)と呼ばれ、Uniswap が代表です。IDEX は、CEX に上場する前に低市場価値のトークンを取引できるようにする問題を解決しましたが、流動性の問題をうまく解決できませんでした。Uniswap は流動性の問題に効果的な解決策を提供し、トークン保有者が専門の CEX マーケットメーカーのようにトレードロボットを開発する必要はなく、一度の操作で取引手数料を獲得できるようにしました。CEX で取引されていないトークンに対しては、活発な取引が大量の資金を流動性提供にもたらすため、流動性提供は非常に魅力的です。さらに、さまざまなプロジェクトの流動性マイニング活動と組み合わせることで、Uniswap はプロジェクトが CEX に依存せずに大量の流動性を獲得できる方法を提供し、CEX の権力を弱め、ブロックチェーンの実用価値を大幅に向上させました。多くのプロジェクトが CEX に依存せずに成功を収めています。
この方法の明らかな欠点は、指値注文機能を実現できないことであり、現在の価格での取引しか行えません。底値を狙ったり利益確定をしたりするトレーダーにとっては、オンチェーンのロボットを開発する必要があり、高い技術要件があります。また、ステーブルコインの交換も大きなスリッページが発生するため、Uniswap でのステーブルコインの交換の動機が弱まります。Uniswap V3 では、このような機能を流動性プールに統合する改善が行われました。