引介

0x 路线图 2019 :引入协调者

曾汨   |     |   1025 次阅读

要点

  • 所谓协调者,即是一项在某个 0x 流动性池中执行交易规则的服务。他们既可以独立运行,也可以跟中继者捆绑运行。
  • 协调者模型集订单撮合开放式订单簿这两种中继者模型之大成:做市商可以免费、即时取消订单,用户/开发者可以利用可填单合约流动性机制(CFL)来驱动独立的以太坊应用。
  • 首个协调者 demo 实现是运行在 Bamboo Relay上的。Bamboo Relay 提供的 DAI 和 WBTC 交易对价格是所有去中心化交易所中最实惠的。来试一下呗。

介绍

0x 中继者通常会在订单撮合开放式订单簿这两种中继者模式中进行选择,在交易执行和开放性之间进行权衡。虽然在订单撮合模式下,线下取消订单的功能(软取消)会带给做市商更熟悉的体验,并为交易执行提供有力保证(不能抢跑交易),但是这种模式需要以牺牲流动性池的开放性为代价。在这种模式下,第三方前端和智能合约系统无法访问订单撮合中继者的流动性池。开放式订单簿中继者模式可纳入可填单合约流动性机制(CFL)。在这种机制下,0x 可以充当其他 DeFi 合约的可组合构件,不过要以牺牲最佳的做市商体验为代价。

订单撮合 开放式订单簿
确定性交易执行 可填单合约流动性
中继者执行所有交易 用户和合约可以执行填单交易
链下快速取消订单 必须为订单设置截止日期,或是由挂单者创建一个取消订单的交易
从成交挂单的价格差中扣除手续费 (0x 3.0 版本下)可收取任意代币作为手续费
Paradex、Ethfinex Radar Relay、Lake Trade、Emoon

-订单撮合中继者 vs. 开放式订单簿中继者-

在本文中,我们要探讨一种集两种中继者模式之大成的解决方案:协调者,全称是交易执行协调者(Trade Execution Coordinator,TEC)。这个模型的主要目的是允许做市商提供激进的买卖价差和深度流动性,同时也允许第三方智能合约以更为灵活的方式来消费这种流动性。协调者模型是首个为第三方合约及其终端用户提供有竞争力价格的 DeFi 流动性解决方案。

协调者模型
可填单合约流动性
用户和合约可以执行填单交易
链下快速取消订单
(0x 3.0 版本下)可收取任意代币作为手续费或从价格差中扣除手续费
Bamboo Relay

-集两种中继者模型之大成的协调者模型-

由可填单合约流动性(CFL)驱动的开放式金融

我们通常所说的 “可填单合约流动性(CFL)” 指的是,通过将不同的智能合约系统组合起来,用户可以自行决定如何消耗流动性。从本质上来说,在这种流动性机制下,可以按照任意顺序调用智能合约来执行交易。这就增强了不同协议之间的协同性,减少了开发时间,并降低了获取的成本。采用可填单合约流动性机制的项目包括:

MakerDAO

如果你要关闭一个质押债仓,必须购买足量的 DAI 来偿清质押债仓中的债务,并购买足量的 MKR 进行销毁,然后才能取回质押品。这些都通过一个交易自动完成。

-自动管理质押债仓-

dY/dX

在保证金开仓或平仓的过程中,用户需要同时锁定质押品并填写订单来开仓。利用去中心化交易所的流动性,只需一个交易就能完成该操作,爽不爽?此外,去中心化交易所的流动性也可以用来自动规避清算风险。

-利用 0x 流动性来建立保证金头寸-

Forwarder 合约

0x Instant 在底层使用了 Forwarder 扩展程序。该扩展程序可将用户的 ETH 转换成 WETH,设置津贴,然后通过一个交易来填写任意数量的订单。

交易合约

区块链上存在很多套利机会。许多交易机器人利用通用代理合约同时在多个去中心化交易所之间进行交易,从而将套利风险降低至零。在这个例子中,交易者能够毫无风险地赚到 0.759 ETH 。

协调者:首个提供有竞争力价格的 CFL 解决方案

市场或交易所的关键是确保有一个价格合理的订单簿,为买卖双方带来绝佳的体验。要想做到这一点,需要创建一个可以让做市商通过提供流动性来获利的交易所。如果 不能为做市商创造一个有利可图的环境,交易所就不可能长期保持流动性。

套利者会侵犯做市商的利益,尤其是在去中心化交易所这块,套利者可以通过智能合约无风险自动套利,而以太坊区块链的高延迟性又会导致订单簿与市场产生偏差。实行链下订单链上结算模式(0x 中继者)的去中心化交易所需要通过链上交易来取消订单,这就导致价格更新会相对较慢。完全在链上运行的去中心化交易所(Kyber、Uniswap、Bancor)也需要通过链上交易来更新价格。套利老手常常会抢先填单和取消订单,以牺牲流动性提供者的利益为代价来给自己牟利(参见 frontrun.me)。在这种情况下,做市商不得不扩大价格差来对冲这种风险,使得去中心化交易所在价格上相比中心化交易所竞争力不足。

这表明,一个理想的去中心化交易所模型应该具备可组合性,同时增加利用网络的高延迟性来实现激进式套利的难度。我们的目标是,在协调者模型的最初版本中满足这两个需求。

软取消

要想创建具有价格竞争力的流动性市场,关键是要能够在没有抢先交易风险的情况下快速更新价格。订单撮合模型已经实现了这点——用户可以要求运营者 “软取消” 他们的订单,而无需通过链上交易。因为有一个运营者专门负责将清算结果提交至区块链上,该运营者只需承诺不会将已取消的订单结算上链即可。虽然运营者的存在为整个系统带来了信任风险,但是这样能让整个流程具有可审计性,也就有可能采取措施进一步降低金融风险。通常情况下,运营者如果存在没有遵守 “软取消” 的欺诈行为,他所得到的惩罚会比他能够牟取的利益多得多。此外也可以通过链上交易来取消订单,因此增加软取消是一项重大改进措施。

协调者也采取了类似的软取消机制。做市商可以创建订单,并且在无需支付任何费用的情况下迅速更新价格。这会降低套利者成交过时订单的风险,让做市商能够以更低的成本提供流动性。根据 Bamboo Relay 上 6 月 14 日至 7 月 2 日的数据可知,大约发生了 23.7 万次软取消。如果这些都是发生在链上的硬取消,将会消耗大约 18.4 ETH 的 gas 费。

选择性延迟交易(Select Delay)

虽然单靠软取消就可以大幅提高流动性,但是协调者模型被设计成可以执行额外的交易规则——不同的交易机制——以得到更好的价格。例如,提交填单请求和实际执行交易之间存在 1 秒的延迟,做市商可以在订单成交之前取消订单,并提供更低的差价来牟利。在将选择性延迟和软取消相结合之后,做市商因过时价格而赔钱的可能性就会降低,同时也高效地消除了很多套利机会。

为了与大型股权交易所竞争,越来越多的初创交易所青睐于选择性延迟,例如美国的 IEX 和加拿大的 TSX alpha 。它们已经在交易机制中引入了选择性延迟,分走北美股票市场中传统交易所的交易额,并在这一过程中为初始用户带来了巨大的收益。例如,美国证券交易委员会(SEC)的经济学家 Edwin Hu(2018)曾经做过一次调查,这些初创交易所在打价格战的过程中,小散户是如何获得更优惠的价格的。重要的是,选择性延迟的采用似乎推动了增长。两家加拿大交易所在采用了选择性延迟之后,月交易量立即增长了 4% 左右(市场传媒 2018)。

多位一体

协调者模型利用特殊的扩展合约和服务器设计来实现软取消,又采用选择性延迟等新的交易机制,同时还确保了可组合性。这些扩展合约理解起来比较简单—— 0x 订单经由智能合约撮合,在相应协调者批准后才能成交。概括来说,订单成交共分为以下几个步骤:

  1. 吃单者需要得到相应协调者的批准才能成交一个 0x 订单。
  2. 协调者等待 1 秒。
  3. 协调者查看订单是否已被取消。
  4. 在订单未被取消的情况下,协调者批准该订单,并注明成交有效期。
  5. 在成交有效期截止之前,吃单者可以随时成交该订单。

我们认为,如此简单的模型可以大幅降低由智能合约撮合的订单的价格差。该模型并不能解决当下去中心化交易所面临的所有问题,但是可以从多个方面对其进行改进。例如,初始协调者 demo 显然不能避免订单冲突的问题,但是随着套利机会的减少和软取消的增多,一来二去就降低了订单成交失败的频率。

-用户向协调者请求批准订单,然后成交订单-

Bamboo Relay 是首个采用初始协调者 demo 的 0x 中继者。我们双方正在合作监控该系统的生产性能来收集数据,并确保该系统在得到推广之前能按预期运行。

下一步?

首个协调者 demo 旨在充当概念证明和参考实现,不过我们认为 0x 团队在这个基础模型上还有很多创新和改进的空间。

交易冲突和抢先交易的解决方案

在当前的协调者实现中,协调者可能会一次性给多个吃单者发放签名许可,允许吃单者成交某个订单。因此,如果有两个交易者试图在同一时刻成交同一个订单,只有其中一个交易者能成功,另一个交易者会失败。失败的交易所消耗的那部分 gas 就浪费了。目前的开放式订单簿中继者模型也存在这一问题,随着去中心化交易所交易量的增多,这一问题会变得更加常见。

然而,如果协调者每次只给一位用户签发许可,可能会有用户要求成交订单簿上的所有订单,却又迟迟不达成交易。这样一来,他们就可以防止其他用户进行交易,而且只要拖延订单的成本为零的话,就可以获得无风险的套利机会。这里有很多有趣的解决方案可供探索。比如,可以要求想要成交订单的用户锁定一部分质押品;或是通过惩罚拖延订单的行为来防止女巫攻击。

去中心化协调者

协调者 demo 还有一个潜在问题是,依然需要中心化实体来运行协调者服务器,然后签发成交订单的许可。尽管用户资金不存在风险,但是在协调者服务器不可用或有漏洞的情况下,可能会存在一些可用性问题,从而导致订单簿上的订单无法成交。另外,在审查方面也有空子可以钻,协调者可能会偏向于某些用户,甚至于偷偷扣下价格比较优惠的订单。将来,协调者网络可能会协同一致,就交易排序达成共识,并由以太坊之类的区块链对交易进行最终结算。安全的多方计算协议 Enigma 发布了一项研究,提出了如何使用 MPC 技术来实现这一点。

感谢 Amir Bandeali 和 Peter Zeitz 撰写了本文的初稿。

附录

关于套利的注意事项

套利指的是同时在不同的市场上挂买单和卖单,从中赚取差价。该行为对于调节不同市场之间的价格来说至关重要。然而,套利可以通过多种方式来调整价格,并非所有调整机制对交易所用户来说都是同等有利的。

其中一种调整机制是被动式套利。被动式套利指的是,做市商会在多个平台上创建并取消限价订单,到价格有利的平台上提供流动性。例如,假设有一个大买主吃下了币安上所有的 ETH 卖单,做市商就会将自己的限价卖单转移到币安上,填补币安上短暂缺失的流动性。同样地,挂单者会想在其他交易所上更新他们的报价,将报价抬高至与币安上的报价相持平。在被动式套利下,价格调整会悄无声息地进行,不会造成交易量飙升的情况。同样地,在通过被动式套利调整价格之时,突发性的价格波动不会让做市商蒙受损失。

另一种调整机制是激进式套利。激进式套利指的是,挂单者不断浏览交易所的订单簿,寻找不符合市价的限价订单,然后大赚一笔。每当某个交易所上出现突发性的价格波动之时,就可以去其他交易所上找到这种不符合市价的限价订单,但是这种机会转瞬即逝。自动吃单机器人正是利用了这种机会,在挂单者取消订单之前成交。受到激进式套利的影响,一个交易所上出现突发性价格波动之后,紧接着其他交易所上的交易量就会飙升。此外,在交易量激增期间,做市商通常会遭受巨大的损失。

站在流动性需求者的角度来说,通过被动式套利还是激进式套利来调整价格对他们的利益影响很大。套利机器人可以让流动性需求者以较低的价格成交,这就抬高了做市商的亏损率。做市商若要弥补这上面的亏空,就得在价格相对稳定的时候挂出报价足够高的卖单。这部分亏损为做市商设置了一条最低报价基准线。如果是被动式套利的价格调整机制,流动性需求者就有利可图了,因为做市商在提供较低报价的同时依旧能够保持盈利。

激进式套利对于大小交易所之间的竞争也有很大的影响。小交易所上的挂单者即使以低价提供流动性,每单位时间也只能成交很少一部分的订单。此外,挂单者还得将因套利导致的亏损匀到这部分订单上。小交易所的做市商除非能够从每笔交易中都获得高额利润,否则很难保本。如果是在流量很高的大交易所,挂单者每单位时间的成交量要大得多,就可以适当让利。对于在大交易所上提供流动性的做市商来说,只要每单位时间的成交量足够高,就能以较低的报价来维持盈利的状态。

在支持可组合性的去中心化交易所很容易就能找到很多激进式套利机会。这类去中心化交易所包括 0x 中继者、Kyber Network、Uniswap 和 Bancor 等等。这些交易所将流动性分割成了几个小的流动性池,从而导致套利交易在所有类型的交易活动中占比非常高。对于尚在起步阶段的去中心化交易所来说,这是一个很不理想的状态,因为它了抬高了挂单价格,对于流动性提供者和需求者来说并没有吸引力。

(完)


原文链接: https://blog.0xproject.com/0x-roadmap-2019-part-5-introducing-coordinators-1406365ecbd
作者: Tom Schmidt
翻译&校对: 闵敏 & 阿剑


你可能还会喜欢:

引介 | Uniswap —— 一家不走寻常路的交易所
干货 | 运行在区块链上的交易所
引介 | 0x 初学者指南

 
0 人喜欢