Uniswap

如何理解常數乘積公式?

  • June 1, 2021

讓我們以這個交易為例。

這裡 1 BUSD 被轉移到Zombie / BUSD LP以換取172054109197Zombie 代幣。(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 市場分析

引用自:https://ethereum.stackexchange.com/questions/100110