LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 硬核:深入分析TWAMM做市商的数学原理

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

2021-08-03 链闻ChainNews 来源:区块链网络

从数学角度论证和解释 Uniswap 创始人与 Paradigm 研究团队设计的全新做市模型 TWAMM 的工作原理。

最近,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」 一文完全相同的结论。

撰文:luffy

—-

编译者/作者:链闻ChainNews

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...