自動マーケットメーカー
自動マーケットメーカー(AMM)は、流動性プールの残高と数式を使い、注文板で注文を照合せずに交換条件を決める仕組みです。定数積方式は、その一方式です。
自動マーケットメーカー(automated market maker、AMM)は、流動性プールの資産残高をもとに交換条件を算出する仕組みです。Uniswapの定数積の式は、AMMの一方式を説明するときに使われます。[1][2]
AMMは、流動性提供者がプールに預けた資産を利用者が交換できるようにし、資産残高と数式に基づいて価格を算出する仕組み、またはそれを実装するプロトコルです。注文板で個別の買い注文と売り注文を照合する方式とは異なります。[1][2]
x·y=k はAMM全般の定義ではなく、定数積方式の式です。x と y はプール内にある2種類の資産の残高、k はその積を表します。Uniswapの公式資料では、この方式をv1・v2のモデルとして説明しています。[2][3]
仮に手数料を無視した定数積プールが資産Aを10枚、資産Bを100枚保有するとします。このとき、残高の比から見たAの価格は1枚あたり約10枚のBです。利用者がBを入れてAを受け取ると、Aの残高は減りBの残高は増えます。そのため、取引量が大きいほど交換価格は取引前の価格から動きます。
この例の価格は残高比から見た取引前の目安です。個別取引の交換価格は取引量や手数料の影響を受けます。手数料をプールに残す実装では、取引後の残高の積が厳密に一定ではなく、増加する場合もあります。[4][5]
すべてのAMMが定数積方式を使うわけではありません。たとえばCurveのStableSwapは、Uniswap型の定数積とは異なる不変量を用います。[6] また、Uniswapのv3・v4では集中流動性が導入され、流動性提供者が指定した価格帯の中で定数積の関係が適用されます。[3]