💰価格設定

Oyster AMMは、集中流動性とリミットオーダーを単一のモデルに統合しています。スマートコントラクトの仕組みでは、Range(価格帯)とOrder(注文)がそれぞれの価格ポイントで流動性を提供します。同じ価格ポイントをカバーするRangeの流動性(またはkの平方根)は、AMMカーブの計算に加算されます。一方で、Orderの場合、同じ価格ポイントでの注文サイズはまとめて、テイカー(取引相手)の取引サイズに対応します。さらに、Orderの流動性は常にRangeの流動性が消費される前に処理されます。

特定の価格ポイントをカバーする集中流動性や、その価格ポイントでの全てのリミットオーダーは、"Pearl"と呼ばれる構造で管理され、価格ごとにインデックス付けされたスマートコントラクトに保存されます。Oyster AMMは、PearlとAMMの価格カーブを統合した形で機能しています。

実際、Pearlはメイカー(流動性提供者)のリミットオーダーのためのプールとして機能しており、これはOyster AMMにおけるリミットオーダーの非同期的な設計を実現する重要な要素です。このようにして、テイカー側のロジックが大幅に簡素化され、テイカーは必要な量だけ取引することができます。Pearlの代替可能な仕組みにより、取引のガス代は、価格変動の影響、つまり交差したティックの数に比例して変動します。

S0サイズの取引において、統一された流動性を使用する手順は以下の通りです。

  1. 現在の価格P0のPearlに未処理のリミットオーダーがあるか確認します。

    1. もしない場合は、S1 = S0として次のステップに進みます。

    2. もしある場合は、できるだけリミットオーダーを埋めます。

      1. S0が全て埋まった場合、その時点で終了します。(この場合、現在の価格は変更されません。)

      2. 埋まりきらない場合は、残りのサイズS1で次のステップに進みます。

  2. 次の価格P1のPearlを見つけます。

    1. P0とP1の間のAMMカーブで、S1サイズの取引を行います。

      1. S1が全て埋まった場合、その時点で終了します。(この場合、現在の価格は変更されます。)

      2. 埋まりきらない場合は、現在の価格をP1に更新し、残りのサイズS2でステップ1に戻ります。

最終更新