Skip to content

수식

이 페이지에서는 mimo 프로토콜에서 사용되는 수식에 대해 설명합니다.

개요

각 거래에서 트레이더는 특정 토큰의 일정량을 다른 토큰의 일정량과 교환하며, 가격은 수식으로 정의됩니다. 주문장이나 체결 대기가 없습니다.

mimo가 사용하는 수식은 Uniswap과 같은 AMM 기반 DEX에서 널리 채택된 유명한**xy=kx \cdot y = k**입니다.

수식 xy=kx \cdot y = k

**XX**를 입력 토큰, YY를 출력 토큰이라고 가정합니다. mimo에서 XX, YY는 IOTX 또는 XRC20 토큰일 수 있습니다. 현재 유동성 풀의 X 토큰, Y 토큰을 각각xx, **yy**라고 합니다.

유명한 AMM 방정식에 따라:

xy=kx \cdot y = k

여기서**kk**는 상수입니다.

xxyy의 곱은 거래 전후로 동일하게 유지됩니다. 자세한 내용은 Vitalik Buterin의 게시물을 참조하세요.

입력에 기반한 가격 결정

dxdx, **dydy**를 각각 지불하려는 X 토큰의 수, 받게 될 Y 토큰의 수라고 정의합니다.

getInputPrice

getInputPrice가 주어진 dxdx를 판매하여 구매할 수 있는 Y 토큰(즉 dydy)의 수를 나타내는 경우:

getInputPrice(x,y,dx)=y997dx1000x+997dxgetInputPrice(x, y, dx) = \frac{y \cdot 997 \cdot dx}{1000 \cdot x + 997 \cdot dx}

getOutputPrice

getOutputPricedydy개의 Y 토큰을 구매하는 데 필요한 X 토큰의 수를 나타내는 경우:

getOutputPrice(x,y,dy)=1000xdy(ydy)997+1getOutputPrice(x, y, dy) = \frac{1000 \cdot x \cdot dy}{(y - dy) \cdot 997} + 1

여기서 위 방정식의 /divToInteger를 나타내며, 결과를 버림하는 나눗셈을 의미합니다.

가격 영향

AMM에서 가격은 각 거래 후에 변경됩니다. 가격 영향은 트레이더가 거래 전에 알고 싶어 하는 정보입니다.

가격 영향을 계산하는 방법에는 두 가지가 있습니다. x,y,dxx, y, dx에 기반하거나 x,y,dyx, y, dy에 기반할 수 있습니다. 하나는 입력에 기반하고 다른 하나는 출력에 기반합니다.

입력에 기반(dxdx

PriceImpact(x,y,dx)=(1000x)2(1000x+997dx)21PriceImpact(x, y, dx) = \frac{(1000 \cdot x)^2}{(1000 \cdot x + 997 \cdot dx)^2} - 1

출력에 기반(dydy

PriceImpact(x,y,dy)=(ydy)2y21PriceImpact(x, y, dy) = \frac{(y - dy)^2}{y^2} - 1

참고

가격 영향은 항상 -10 사이입니다.

크로스 거래 가격 영향

두 토큰 사이에 직접적인 거래 쌍이 없는 경우, V1처럼 IOTX/토큰 쌍만 지원하는 경우, 트레이더는 IOTX와 같은 토큰을 브리지로 사용하여 두 토큰 간에 거래해야 합니다.

이 경우 가격 영향은 다음과 같습니다:

PriceImpactcross=PI1PI2+PI1+PI2PriceImpact_{cross} = PI_1 \cdot PI_2 + PI_1 + PI_2

여기서:

  • **PI1PI_1**는 첫 번째 거래 쌍(xx에서 IOTX 등)의 가격 영향
  • **PI2PI_2**는 두 번째 거래 쌍(IOTX에서 yy 등)의 가격 영향

MIT 라이선스로 출시되었습니다.