当前位置:主页 > 列表页 > 正文

Paradigm研究的最新做市模型TWAMM是什么?

2021-07-30 22:24 | 出处: 律动BlockBeats

原文标题:《 Paradigm backs disruptive crypto companies, protocols, and currencies with as little as ¥1M and as much as ¥100M+ 》
原文来源: Dave White、Dan Robinson、Hayden Adams ,前两位为 Paradigm 研究合伙人,后者是 Uniswap 创始人
原文编译:链闻


这篇论文介绍了一种新型的自动做市商(AMM),可帮助以太坊上的交易者有效地执行大额订单。


我们称其为时间加权自动做市商(TWAMM)(发音为「tee-wham」)。


它的工作原理是将长期订单分拆为无限多的无限小块,并利用嵌入式常数乘积 AMM,利用时间跨度顺利执行它们。


摘要


假设 Alice 想在链上购买价值 1 亿 USDC 的 ETH,在 Uniswap 等现有 AMM 上执行这种规模的订单,成本非常昂贵,它们必须向 Alice 收取高价,以防 Alice 知道一些他们不知道的事情。


在当前,Alice 的最佳选择是手动将她的订单分成几部分,并在几个小时内的时间内一一执行,让市场有时间意识到她没有内幕消息,这样可以给她一个更好的价格。


如果她发送了几个非常庞大的子订单,每个订单仍然会对价格产生重大影响,并且很容易受到恶意交易者的三明治攻击。另一方面,如果她发送很多小的子订单,她将不得不承担活跃交易的巨大工作负荷和风险,且逐笔交易支付 gas 费用,因此向矿工支付了高额成本。


TWAMM 可以通过代表 Alice 进行交易,帮她解决这个困境。TWAMM 将她的订单分拆成无数个无限小的虚拟订单,以确保利用时间跨度而完美地得到执行,并且使用的是嵌入式 AMM 的特殊函数公式,能够在这些虚拟订单中分摊 gas 成本。因为它在区块之间处理交易,所以它也不太容易受到三明治攻击。


做市的基本概念


做市商


在一个牵扯两种金融资产的市场中,例如 USDC 和 ETH,做市商是这个市场的参与者,愿意在任何时候用其中任意一种资产交易另一种资产。


如果您有 1 亿美元的 USDC,并想用它来购买 ETH,你可能无法找到恰好同一时间想要做相反交易的人。相反,您很可能会进入一个由一个或多个做市商组成的市场,并与他们进行交易。


逆向选择


做市商利用价差获利,实际上是他们对每笔交易收取的费用。当价格走势与其交易相反时(例如,当他们买进资产后,其价格随后下跌,或出售资产后价格随后上涨),他们会赔钱。


不幸的是,对于做市商来说,价格走势往往与他们的操作相反。这种现象被称为「逆向选择」。发生这种情况是因为,掌握价格未来走势信息的交易者更有可能与做市商进行大额交易。


最危险的订单是规模既庞大又紧急的订单,因为这些订单正是知情交易者倾向于下的订单类型。因此,最基本的做市策略是淡入订单,当有大买单时调高价格,当有大卖单时调低价格。


自动做市商(AMM)


在过去一年中,以 Uniswap 为首的自动 AMM 在以太坊上大受欢迎,每天处理数十亿美元的交易量。顾名思义,AMM 将大部分做市过程实现了自动化。


恒定乘积公式


恒定乘积公式是一个简单的规则,它允许任何人立即为一对新资产创建新市场和新的 AMM。


为了在两个资产 X 和 Y 之间创建新的恒定乘积 AMM (CPAMM),被称为「流动性提供者」(LP)的用户存入这两种资产形式的准备金 x 和 y。


这两种资产在任何时间的比率代表了 AMM 上的瞬时价格,或者它对非常小的订单收取的价格。例如,如果一个 CPAMM 的储备资产中包含 2,000 USDC 和 1 ETH,则其 ETH 的瞬时价格将为 2,000 USDC。


当交易者与 AMM 进行交易时,AMM 会根据公式 x * y = k 决定给交易者报出什么价格,其中 x 和 y 分别代表两种资产的储备规模,k 是常数。这意味着两者储备规模的乘积在交易期间始终保持不变(费用忽略不计)。


举个例子


假设一个包含 ETH/USDC 两种资产的 CPAMM,其储备资产中有 2,000 USDC 和 1 ETH,因此 x = 2,000、y = 1 和 x * y = k = 2,000。该 AMM 的瞬时价格为 2,000 / 1 = 2,000 USDC/ETH。


一个交易者来了,要买 2000 USDC 的 ETH,这意味着他要在 x 储备中存入 2000 USDC,因此我们有 x=2000+2000=4000。


如 k = 2000,我们必须在上述交易后得到 y = k/x = 2000/4000 = 0.5。由于 y 最初是 1,1 – 0.5 = 0.5 ETH,因此上述交易者在此交易中获得了 0.5 ETH。


由于交易者用 2000 USDC 购买了 0.5 ETH,因此他们实际支付的平均价格为 4,000 USDC/ETH。高价格与瞬时价格这一关系,反映大规模订单与 AMM 的流动性息息相关。


价格冲击和逆向选择


在上述情况中,小订单的成本仅为 2,000 USDC/ETH 时,交易者却必须为其大规模订单支付 4,000 USDC/ETH 的高昂价格。这种价格差异称为订单的价格冲击。传入的订单越大,对价格的冲击就越大。


这就是 AMM 对抗逆向选择的手段:大订单更有可能是在知情前提下发起交易,因此 AMM 使他们付出高昂的代价。它相当于自动化的淡入订单。


利用当前 AMM 执行大规模交易


手动分拆订单


我们可以看到,AMM 的设计机制决定了在 AMM 上执行单笔大额订单的成本很高。这篇精彩的文章深入探讨了这个问题,并推荐了一些解决方案。


简而言之,希望在 AMM 上执行大额订单的交易者不应该用单笔交易来执行:他们最好将订单分拆成几部分。这就会涉及一次向多个 AMM 发送订单,但这些 AMM 在任何给定时间点的流动性可能也有限。订单越大,利用时间跨度将其拆分就越有吸引力。


例如,假设一位投资者想在链上购买 1 亿 USDC 的 ETH。他们没有任何有关 ETH 价格的短期信息,因此不会介意自己的订单是否需要一些时间跨度来执行。在这种情况下,他们可能会将其订单拆分成 10 个部分,每个部分 1000 万美元,每隔一小时执行一个部分,从而限制每个部分受到的价格冲击。


子订单规模权衡


显然,如果一个非常大的订单被分成几部分,每部分单独的子订单仍然很大,也会相应地产生价格冲击。将订单拆分成更小的部分会取得降低成本的效果,但这会带来两个新的问题。


第一个问题是操作的复杂性,这意味着风险和工作量增加。交易者可能会把给定交易的输入值输错甚至选错方向。或者电脑可能会崩溃,导致她无法执行部分订单。即使一切顺利,这个过程也很耗费时间和精力,使人们无法专注于更有利可图的交易。


第二个问题是每笔交易都会产生固定的交易成本,例如支付给以太坊矿工处理交易的 gas。如果交易者将她的订单分成太多部分,最终可能会在费用上花费的钱可能多过实际购买 ETH 的开销。


传统金融的他山之石


在传统金融领域,如果投资者或机构想购买 1 亿美元的苹果股票,他们不会直接向交易所发送 1 亿美元的市场买单。他们也不会发送 10 笔 1000 万美元的订单。对于没有专门的交易人员和基础设施的多数人来说,将订单分成比这小得多的部分是不切实际的。


他们很可能会将大笔订单发送给经纪机构,经纪机构会为他们进行算法交易以赚取费用。经纪机构将在指定的时间跨度内执行交易,比如八小时,价格参照某个基准。经纪机构将有一支专门负责安全且廉价地执行此类交易的团队。


TWAP(时间加权价格算法)订单


也许最基本的算法交易类型是时间加权价格或 TWAP(发音为「tee-whap」)订单。顾名思义,在八小时内购买价值 1 亿美元的苹果股票的 TWAP 订单,将以接近该时段内苹果股票时间加权平均的价格成交。


例如,如果苹果股票在这段时间内四个小时定价为 100 美元,四个小时定价为 120 美元,则时间加权价格将为 (¥100 * 4 + ¥120 * 4)/8 = ¥110,经纪机构将执行接近这一价格的 TWAP 订单。


操作细节各不相同,但经纪机构最有可能通过在一天内将这一订单拆分成许多小部分,并将它们发送到市场来执行此交易。在 8 小时内购买 1 亿美元的苹果股票意味着每 100 毫秒购买大约 350 美元的苹果股票,而经纪机构确实能够不辱使命。


对于如此多的小额交易,经纪机构拥有减少或消除其中操作复杂性的基础设施,并且由于它们与市场有直接关联,因此可能无需支付太多交易成本。


时间加权自动做市商(TWAMM)


时间加权自动做市商(TWAMM)提供了 TWAP 订单的链上版本。TWAMM 具有用于订单拆分的专门逻辑,并与一家嵌入式交易所具有直接关联,以低 gas 成本提供顺滑执行。套利者则可以帮助 TWAMM 嵌入式交易所的价格与市场价格保持一致,确保在资产的时间加权平均价格附近执行。


概览


每个 TWAMM 实例促进特定资产交易对之间的交易,例如 ETH 和 USDC。


TWAMM 包含一个嵌入式 AMM,这是这两种资产的常数乘积做市商。任何人都可以随时使用这个嵌入式 AMM 进行交易,与一个普通的 AMM 没有两样。


交易者可以向 TWAMM 提交长期订单,这些订单是在固定数量区块上出售固定数量的某种资产的订单——例如,在接下来的 2,000 个区块中售出 100 ETH 的订单。


TWAMM 将这些长期订单分解为无限多个无限小的虚拟子订单,这些子订单在一定时间跨度内以均匀速度与嵌入式 AMM 进行交易。单独一个一个处理这些虚拟子订单的交易将花费无限的 gas,但封闭形式的数学公式可以让我们仅在需要时计算它们的累积影响。


在一定时间跨度内,长期订单的执行将推动嵌入式 AMM 的价格偏离其他市场的价格。发生这种情况时,套利者将在嵌入式 AMM 的价格基础上进行套利交易,使其与主流市场恢复一致,从而确保长期订单的良好执行。


例如,如果长期卖单使得嵌入式 AMM 上的 ETH 价格比某一特定中心化交易所的价格更便宜,套利者将从嵌入式 AMM 买进 ETH,导致其价格在该 AMM 上回升,然后在中心化交易所售出以获取利润。


以太坊中的基本概念


区块


以太坊将交易捆绑成区块的连续组,大约每 13 秒产出一次区块。本文为了解释得更清楚,我们将对每个区块进行编号:区块 1 之后是区块 2,然后是区块 3,依此类推。


矿工


呈分布式状态的矿工团队竞争处理每个区块。任何有互联网连接的人都可以成为以太坊矿工。这意味着在以太坊上运行的 AMM 之类的应用不能保守任何秘密:每个人都必须能够准确地计算出在给定输入的情况下他们会做什么。


Gas


在以太坊上,计算是一种稀缺资源,因此用户必须以 gas 的形式向矿工支付费用。给定交易中涉及的计算越多,它消耗的 gas 就越多。这笔 gas 费用完全由提交交易的人支付。


基本设计原理


长期订单


Alice 想在接下来的 8 小时(大约 2,000 个区块)内购买价值 1 亿 USDC 的 ETH。她在 TWAMM 中输入了一个长期订单购买价值 1 亿 USDC 的 ETH,横跨 2,000 个区块,或每个区块 50,000 USDC。


如上所述,我们事先不知道哪些矿工将在 TWAMM 上处理未来的交易。这意味着 Alice 的订单必须对所有人可见,这就带来了我们在下面讨论的信息泄漏问题。


订单池


Bob 想在接下来的 5,000 个区块中出售 500 ETH 换取 USDC,即每个区块中出售 0.1 ETH。


Charlie 想在接下来的 2,000 个区块中出售 100 ETH 换取 USDC,即每个区块中出售 0.05 ETH。


相关文章