blockchainjapan’s blog

旬のブロックチェーンを記事を厳選して提供!

パート2 - Carbonの表現力豊かなオンチェーン取引戦略


パート2 - Carbonの表現力豊かなオンチェーン取引戦略

Glenn | CarbonDeFi

Carbonコミュニティへの参加はこちらから🤝

この記事は、分散型取引所の進化を探るシリーズのパート2です。パート1では、製品と集中した流動性を持つ分散型取引所の仕組みを取り上げました。パート2では、Carbonが提供するイノベーションに焦点を当てていきます。

はじめに

Carbonは、これまでのAMMを進化させた分散型取引所です。その目的は、3つのコア機能を通じてトレーダーが取引戦略を表現できるようにすることにあります:

  • 非対称流動性個々のユーザーの戦略は、独立した買い注文と売り注文で構成され、各注文は単一方向に取引されるため、執行時には不可逆的です。
  • 反復ストラテジー複数注文のストラテジーは、リンクされた注文が成立すると自動的に流動性を回転させ、手動で注文を作成するコストを自動化し削減します。
  • 調整可能なボンディングカーブ:注文条件を特定の集中範囲を使って事前に定義して、注文を閉じて再作成することなく、その場で更新することができます。

これらの機能は、集中取引所の指値注文で一般的に利用できるものに加えています。Carbonは、AMMの一定の性質を備えた、より高度なオンチェーン・オーダーブックであると言えるでしょう。

非対称流動性

シリーズのパート1では、CPAMM(コンスタント・プロダクト・オートメーテッド・マーケット・メイキング)の対称的な流動性プロファイルとUniswap V3の流動性プロファイルについて取り上げました(Uniswap V3のトークン・ペアは、境界がそれぞれX軸とY軸で終端する多数の小さなUniswap V2の結合曲線で構成されていると考えることができる)。対称的な流動性とは、トークンA→BとトークンB→Aを交換することで、ボンディングカーブ上の元の開始位置、つまり交換レートに戻ることができるということです。対称的なAMMを通じて行われた取引は、逆に流動性プールを最初のトークン量と為替レートに戻すことになります。

提供された例では、RSKがUSDCとスワップされ(ステップ1とステップ2)、ステップ3でUSDCがRSKスワップされ、ボンディングカーブ上の元のスタートポイントに戻ります。これは、両トークンが同じ為替レートを共有しているため可能となる仕組みです。

非対称流動性プロファイルでは、2つのボンディング曲線があり、それぞれトークンAとトークンBの交換方法とトークンBとトークンAの交換方法を規定しています。

この図は、RSK-USDCトークンペアの戦略を表したものです:

トークンはY軸に準備金を持ち、対称モデルとは異なって、私たちのX軸にはトークンの準備金はありません。RSKボンディングカーブ(左側)が活発に取引されていると仮定すると、RSKがUSDCに交換されると、別のUSDCボンディングカーブ(右側)の準備金が補充されます。同様に、逆のケースも当てはまり、USDCボンディングカーブが活発に取引されている場合、USDCがRSKスワップされると、別のRSKボンディングカーブ上の準備金が補充されます。

この戦略は、次のような開始プロファイルを持ちます:

Strategy 1, at T0:

Order 1: 100 RSK

Sell Range 1: 1.25–1.50 USDC/RSK

Order 2: 75 USDC

Sell Range 2: 1.00–0.75 USDC/RSK

RSKの現在価格が1.10 USDC/RSKで、価格が1.50 USDC/RSKより上昇したと仮定します。その場合、注文1は完全に満たされて~136.93 USDCを取得することになります。こうなると、注文 1 は枯渇し、注文 2 にはさらに ~136.93 USDC の資金が追加されます:

Strategy 1, at T1:

Order 1: 0 RSK

Order 2: 211.9306394

将来のある時点で、RSKの価格が0.75 USDC/RSK以下に下がると、注文2は満たされます。このとき、211.93 USDCの全量を売却した場合~244.72 RSKを取得します。

Strategy 1, at T2

Order 1: 244.7164234 RSK

Order 2: 0 USDC

上記の例では、注文は完全に履行されていますが、現実には必ずしもそうとは限りません。例えば、T0で注文1のように100RSKを~136.93USDCで売り、価格が~1.372USDC/RSKに上昇したため、注文の約半分が満たされた(~68.47USDCを獲得)場合、注文2には~68.47USDCが追加され、合計~143.47USDCしかないことになります。

鋭い読者であれば、RSKの価格が~1.372 USDC/RSK(私たちの1.25–1.50 USDC/RSKレンジの中央値1.375 USDC/RSKに非常に近い)まで上昇したにもかかわらず、既にRSKトークンの半分以上(52.28)を売却していることにお気づきかもしれません。現在、RSK注文の残りは47.72RSKです。このことからわかるのは、トークンの各単位が売られるにつれて高くなるということです。これは、トークンが希少になるにつれ、直感的に理解できるでしょう。

重要な部分は、いったんトークンが売られると、価格が反対方向に戻っても、元の位置には戻らないということです。下図に示すように、RSKの価格が現在1.37USDC/RSKで、1.10USDC/RSKまで後退した場合、取得した68.47USDCは52.28RSKには戻りません。

反復戦略

非対称流動性とこの機能について説明する中で、リンクされた注文が完全にまたは部分的に満たされると、注文の準備金が補充されるというアイデアを取り上げました。この流動性を回転させるという考え方が、反復戦略の原動力であり、自動化されたオンチェーン取引につながります。

この機能を実証するために、RSKの現在価格が1.10 USDC/RSKであったときの最初の例から始めましょう。

Strategy 1, at T0:

Order 1: 100 RSK

Sell Range 1: 1.25–1.50 USDC/RSK

Order 2: 75 USDC

Sell Range 2: 1.00–0.75 USDC/RSK

T1 時点の RSK の現在価格は 1.60 USDC/RSK で、注文 2 の残高は ~211.93 USDC となります:

Strategy 1, at T1:

Order 1: 0 RSK

Sell Range 1: 1.25–1.50 USDC/RSK

Order 2: 211.9306394 USDC

Sell Range 2: 1.00–0.75 USDC/RSK

もし価格がT2時点で0.70 USDC/RSKまでリトレースした場合、最終的に244.72 RSKトークンを手にすることになります。

Strategy 1, at T2:

Order 1: 244.7164234 RSK

Sell Range 1: 1.25–1.50 USDC/RSK

Order 2: 0 USDC

Sell Range 2: 1.00–0.75 USDC/RSK

次のサイクルで、RSKの市場価格が1.60 USDC/RSKに上昇すると、USDC注文には~335.09 USDCが含まれることになります!最初の戦略には100RSKと75USDCが含まれており、売買を3回繰り返した後(USDCでRSKを売り、USDCでRSKを買い、USDCでRSKを売る)、260.09USDCを獲得します(開始点は75USDC)。

注文が成立するとトークン準備が自動的に補充されるため、回転流動性がもたらす利点の一端を見ることができます。特定の市場条件下では、このような機能は非常に有用であることが証明されるケースがあるでしょう。

その一例として、ペッグを維持するためにベースアセットとペアになる「同類」アセットが存在します。これらのペアは通常、狭いレンジで取引されて、ときどき同類資産がペアとなるベース資産の価格を下回ったり上回ったりすることがあります。他の例としては、横ばいまたはトレーダーが予測可能な範囲内で取引される傾向のある市場があります。トレーダーがETHが今後数カ月で1400~1700USDC/ETHの間でレンジ取引されると考えている場合、ユーザーはETHが1500~1400USDC/ETHで取引されているときにETHを継続的に購入し、その後1600~1700USDC/ETHの間でETHを売却するUSDCを入金して買い注文を設定することができます。トレーダーは本来、ある資産がどこで取引されると考えるかという方向性を市場で見ます。これらはいくつかのユースケースですが、トレーダーが実行しようとしている取引戦略に応じて、他にも多くのユースケースが存在します。

調整可能なボンディングカーブ

Carbonの最後の特徴は、ABC(アジャスタブル・ボンディング・カーブ)です。Carbonの戦略(ひいては注文)の背後にある斬新な不変機能は、各トレーダーが注文ごとに独自のボンディングカーブを作成できるように、調整可能なパラメータで実装されています。Carbonで注文を作成する際、トレーダーは価格曲線全体、範囲内、または一点に集中した流動性を提供することができます。

一般的なプール不変曲線(下図)は、この3つのオプションすべてに対応可能で、その導出の詳細はCarbonのホワイトペーパーで強調されています。さらに、これはDesmosでも利用可能で、特定の曲線パラメータを調整して、これらの結果のいくつかを見ることができます。

実際には、戦略とその注文を設定する際、複雑な要素の多くは抽象化されます。トレーダーとして必要な情報は、取引ペア、資金量、レートです。固定レンジを設定する場合、最終的に作成する注文は以下のようになります:

Strategy 1 Order 1:

Funding amount: 100 RSK

Rate: 1.25–1.50 USDC/RSK

上記のレンジの例では、見やすくするためにこの注文をUSDC/RSKで表記していることに注意してください。この注文をCarbonで実行する場合は、RSK/USDC建てとなります。一方、取得したUSDCを含むこのストラテジーのリンクされたパートナー注文は、USDC/RSK建てです。経験則では、注文の資金源となるトークンが数値単位であり、売り幅をどのように表現するかということです。

また、レートの上限と下限を同じ金額に設定することで、流動性が一点に集中することを表現することもできます:

Strategy 1 Order 1:

Funding amount: 100 RSK

Rate: 1.25–1.25 USDC/RSK

戦略の資金調達に関して、Carbonと他のAMMとの違いは、ペアの両方の資産を提供する必要がないことです。例えば、RSK/USDC取引ペアの場合、トレーダーはRSKのみ、USDCのみ、または両方で戦略を作成することができます。可能な組み合わせは以下のとおりです:

+------------+------------+
| RSK Order | USDC Order |
+------------+------------+
| Funded | No Funding |
| No Funding | Funded |
| Funded | Funded |
| No Funding | No Funding |
+------------+------------+

前述したように、1つの注文が成立すると、流動性はリンクされた注文に回転します。つまり、1つのアセットから始めて、1つの注文が部分的に成立した場合、戦略の 2つの注文に資金を供給させることができます。

Carbonでは、どちらの注文にも資金を供給しない戦略も可能です。これは、戦略をあらかじめ作成し、すぐに利用できるようにしておきたいという上級トレーダーにとって有益な方法です。必要なのは、注文に資金を追加して取引可能にすることだけです。

Carbonの戦略のパラメーター(資金とレート)の更新は、最小限のコストで簡単に行うことができます。これは、各戦略がそれぞれ独自の「プール」で、トレーダーが戦略を更新しても、同じ取引ペアの他の戦略に影響を与えないためです。さらに、注文パラメータ(レート)を更新する際、トレーダーは基礎となる資金を取り除く必要はありません。むしろ、パラメータは、ポジションをクローズしたり再作成したりする必要なく、「オンザフライ」で更新することができます。

Carbonのもう一つの重要な特徴は、流動性(または注文)をティック(上限と下限の価格ポイントによって定義される)内に収める必要がある他の集中流動性ソリューションとは異なって、Carbonの注文にはこの制限がなく、ブロックチェーンシステムによって解像度(イーサリアムでは1e-18)が制限されるだけであることです。このため、トレーダーは自分の好きな価格帯で境界線を持つ注文を作成することができます。

まとめ

ここまで、Carbonの主な機能と、最も一般的な集中流動性ソリューションの違いについて説明しました。一般的に、Carbonはその表現力豊かな性質によって、より柔軟であることが理解できるでしょう。これによって、トレーダーはカーボンを通常の指値注文システムとして活用し、他では見られない重要な機能を活用することができるのです。


Carbon

Carbonのオンチェーン取引プロトコルは、カスタマイズ可能な指値注文とレンジ注文、自動ローテする一方向の流動性を可能にします

Carbonコミュニティへの参加はこちらから🤝