Uniswap
如何理解常數乘積公式?
讓我們以這個交易為例。
這裡 1 BUSD 被轉移到Zombie / BUSD LP以換取
172054109197
Zombie 代幣。(3511308350
(2%)殭屍代幣作為交易的一部分被燒毀。)這是交換事件:
amount0In: 0 amount1In: 1000000000000000000 amount0Out: 175565417547 amount1Out: 0
在掉期之前,儲備價值是:
reserve0: 1203765031 reserve1: 6402195517789394391
交換後,儲備值更新為:
reserve0: 173257874228 reserve1: 44614233592769925
在我讀過的所有地方,都指出常數乘積公式(
x*y=k
) 要求k
保持不變。但是,這裡不是這種情況。1203765031*6402195517789394391=7,706,739,085,939,811,390,553,341,121 173257874228*44614233592769925=7,729,767,272,594,744,235,790,992,900
我是誤解了公式的功能還是這裡發生了其他事情?
如果掉期費為 0%,則乘積*k實際上是恆定的。*由於 AMM 通常會收取費用,因此儲備的乘積實際上並不是一個常數。
“恆定產品市場”這個名稱來源於這樣一個事實,即當費用為零(即 γ = 1)時,任何交易 Δβ 到 Δα 必須以這樣一種方式改變準備金,以使產品 RαRβ 保持等於常數ķ。
資料來源:Uniswap 市場分析