從數學角度論證和解釋Uniswap 創始人與Paradigm 研究團隊設計的全新做市模型TWAMM 的工作原理。
撰文:luffy
最近,Paradigm 研究合夥人Dave White、Dan Robinson 與Uniswap 創始人Hayden Adams 一起合作設計了一個全新的做市模型「時間加權做市商 TWAMM」(The Time-Weighted Average Market Maker)。根據其發表文章介紹,TWAMM 可以在以太坊上有效地交易大額訂單,工作原理是將長期大額訂單分解為無限多個無限小的虛擬訂單,在一定時間內使用嵌入式 AMM 平滑地執行這些交易。
關於 TWAMM 的虛擬交易所涉及的數學,Dave White 在文中並沒有多費筆墨,只在最後給出了非常簡單的數學結論,這對於理解 TWAMM 的數學原理非常不利。本文將重點對 TWAMM 的數學原理進行嚴格的論證和解釋,至於 TWAMM 模型詳細的設計原理,可以前往Paradiagm 官網查看,本文不再做詳述。
定義
假設 TWAMM 執行大額虛擬交易需要N 個區塊,出售X 的池子以每區塊 xrate 的速率出售,而出售Y 的池子以每個區塊 yrate 的速率出售。因此,在整個期間售出的X 總量為 xin=Nxrate,售出的Y 總量為 yin=Nyrate。
同時,我們將此時間段嵌入 AMM 的初始儲備 xreserve 和 yreserve 分別表示為 x0=xammStart 以及 y0=yammStart。
按照 TWAMM 的設計,大額訂單是隨著區塊進行交易的,每個區塊出售 xrate 得到 yout,或者出售 xrate 得到 yout,同時 AMM 會更新 xreserve 和 yreserve 的值,整個過程總共交易N 次。
值得注意的是,AMM 的每個區塊交易總是遵循恆定乘積做市。
公式
首先,在執行第n-1 區塊的交易後,我們假設此時 AMM 的 xreserve 和 yreserve 值分別為 xn-1 和 yn-1。
接下來執行第n 區塊的交易,X-Pool 和Y-Pool 分別向 AMM 輸入 xrate 和 yrate,命:
因為 xrate 和 yrate 非常微小,且區塊的交易 AMM 遵循恆定乘積做市商,我們可以得到,
化簡,
在得到 xout,n 和 yout,n 的值後,我們進一步可以獲得n 區塊的交易後 AMM 的 xreserve 和 yreserve 值 xn 和 yn,
通過觀察,我們發現 xn*yn=xn-1*yn-1,這正好符合 AMM 的循恆定乘積做市的前提要求。
令, xn*yn=xn-1*yn-1=…= x1*y1=x0*y0=k,這是一個常數。
分式線性遞歸
先對 xn 求得一般公式,並獲得 xammEnd=xN 的值,yn 同理。
yn 的分式線性遞歸表達式如下:
解
首先,若 yin 等於0,xin 不等於0,則
而
計算得到,
而,
xin 等於0,yin 不等於0 時,討論同上。
若 xin 和 yin 都不等於0,對於一般的分式線性遞歸,我們可以採用不動點的方法求解。
進一步計算,
極限
TWAMM 的基本假設是將長期大額訂單分解為無限多個無限小的虛擬訂單,也即是N 可以取無窮大,這時候可以獲得 xN 的極限值。
其中,
相似的,
最後,經過簡單的驗證 xammEnd*yammEnd=xammStart*yammStart=k, 依然滿足 AMM 的恆定乘積。
至此,我們完成了 TWAMM 的數學原理嚴格的論證和解釋,並得到了與 「時間加權做市商 TWAMM」 一文完全相同的結論。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews 立場無關。文章內的信息、意見等均僅供參考,並非作為或被視為實際投資建議。
.