硬核:深入分析 TWAMM 做市商的数学原理

首页 > 专家观点 > 硬核:深入分析 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」 一文完全相同的结论。

本文链接:https://www.8btc.com/article/6668843
转载请注明文章出处

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论