数式
このページでは、mimoプロトコルで使用される数式について説明します。
概要
各取引において、トレーダーは特定のトークンの一定量を別のトークンの一定量と交換し、価格は数式によって定義されます。オーダーブックや約定待ちはありません。
mimoが使用する数式は、UniswapなどのAMMベースのDEXで広く採用されている有名な****です。
数式
を送金トークン、を受取トークンと仮定します。mimoでは、、はIOTXまたはXRC20トークンのいずれかになります。現在の流動性プール内のXトークン、Yトークンをそれぞれ、****とします。
有名なAMM方程式に基づき:
ここで****は定数です。
との積は取引前後で同じままです。詳細は、Vitalik Buterinの投稿を参照してください。
入力に基づく価格決定
、****をさらに定義します。それぞれ支払いたいXトークンの数、受け取れるYトークンの数です。
getInputPrice
getInputPriceが、特定のを売ることで購入できるYトークン(つまり)の数を表す場合:
getOutputPrice
getOutputPriceが、個のYトークンを購入するために必要なXトークンの数を表す場合:
ここで、上記の式の/はdivToIntegerを表し、切り捨て除算を意味します。
価格への影響
AMMでは、価格は各取引後に変化します。価格への影響は、トレーダーが取引前に知りたい情報です。
価格への影響を計算する方法は2つあります。に基づくか、に基づくかです。1つは入力に基づき、もう1つは出力に基づきます。
入力に基づく()
出力に基づく()
注意
価格への影響は常に-1から0の間です。
クロストレードの価格への影響
2つのトークン間に直接的な取引ペアがない場合、V1のようにIOTX/トークンペアのみをサポートしている場合、トレーダーはIOTXなどの1つのトークンをブリッジとして使用して、2つのトークン間で取引する必要があります。
この場合、価格への影響は次のようになります:
ここで:
- ****は最初の取引ペア(からIOTXなど)の価格への影響
- ****は2番目の取引ペア(IOTXからなど)の価格への影響