DEX 很热,DEX 也有漏洞,一文说透「抢先交易」恶疾

201905090938321.jpg


币安这样的中心化交易所的安全漏洞点燃了大家对去中心化交易所(DEX)的信心。但是小心,人类不是去中心化交易所上机器人的对手,「抢先交易」已经成为去中心化交易所最大的恶疾。




币安被盗 7000 枚比特币让中心化交易所的风险再次暴露无疑,大家又把目光放在了去中心化交易所(DEX)身上。去中心化交易所不替用户保管资产和私钥,从理论上更加安全。但是,不代表没有问题。

著名的智能合约开发者、美国康奈尔大学博士生 Philip Daian 最近发表了一篇论文,指出去中心化交易所上的套利机器人可以像传统交易市场上的高频交易者一样,通过抬高交易 gas 费的方式获得优先的区块位置和订单的优先执行,通过类似传统交易市场上「抢先交易」的操作,获得套利收益。作为人类,和这些套利机器人进行对手交易时会处于劣势。

这个研究结果,引起了彭博社等主流商业媒体的关注和报道,也引发了市场对去中心化交易所的担忧。

 
什么是抢先交易
 

所谓「抢先交易」,指的是提前掌握会改变交易价格的重要信息,抢在市场之前进行交易获利。

最简单的例子,如果一个交易员先于公开市场获得一个消息:一个机构将在下一秒大量买入 BTC,那么,在这一秒之内,交易员可以先买入 BTC,等到机构下单大量买入的时候,市场上的 BTC 有可能因为买单数量较大而上涨,该交易员就可以在这个时候以较高的价格卖出 BTC 给机构。

成功的抢先交易有可能带来非常大的回报,且风险较低,因为在进行交易之前,交易员已经能够确定未来的一个时间点会有一个交易对手出现,可以从交易中获得确定的利润。

这种操作视不同情况下,有可能是合法的,也有可能是非法的,区别在于信息是否公开。如果信息公开,交易员可以合法地通过更快的速度抢在前面进行交易,即合法套利。反过来,如果信息是不公开的,交易员通过职务便利得到信息,那么在交易的那一刻就违法了。

用一个简单的类比来进一步解释:每一次交易都是一个跑道,每个交易员都是在起点准备的运动员,市场信息的就是裁判员,第一个冲到终点线的运动员会获得利润。那么合法的抢先交易是裁判开枪,所有运动员同时听到枪声,一起开跑,最快的运动员因为自身实力最先冲线。非法的抢先交易是裁判给 3 号运动员暗中做了一个手势,手势是提前计划好的,这个时候 3 号运动员就开跑了,因为其他运动员不知道这个暗号,所以在 3 号运动员之后冲线。

 
传统金融市场中交易所中的抢先交易
 

抢先交易被推到大众视野之中,最大的一个原因是财经作家迈克尔·刘易斯的一本叫做《快闪大对决:一场华尔街起义》(Flash Boys: A Wall Street Revolt) 的书。这本书中,刘易斯详细的描写了高频交易中用到的抢先交易策略。

201905090938322.jpg


值得一提的是,书中描写的高频抢先交易,并不违法。原因就是,高频交易员,是通过自己的软件和硬件设备,通过更快的速度获取公开信息,更快的作出判断,更快的下单,抢在其他「运动员」前面作出交易,合法获利。

这种做法虽然合法,但是并不符合「道德」。原因也很简单,在完全没有监管的情况下,高频交易者通过自己的资金实力,可以买到距离交易所更近的服务器,可以铺设更快的电缆,可以雇佣更高级的程序员来写出更快的软件,这一些都为了抢在普通交易者之前对公开信息进行交易。在整个过程中,高频交易者并没有通过市场信息进行经济学上的分析,他们只是把交易这个过程高效的工程化,在这个零和游戏里面占了上风。这种做法简直是剪羊毛的极致,没有给整个市场带来任何好处,结果只是让普通交易者的成本不断上升。

 
中心化加密货币交易所中的抢先交易
 

中心化加密货币交易所中的抢先交易更像是传统金融市场。在此我们不专门展开讨论。因为大部分中心化交易所缺乏监管,抢先交易完全可以看作内幕交易,因为种种原因提前获得内幕消息的玩家变成了最大获利方。

如果换种角度看,甚至可以把交易所跑路看作抢先交易,因为这是典型的运营团队在用户之前得到信息作出判断,套现走人。


去中心化加密货币交易所中的抢先交易
 

去中心化交易所的抢先交易比较复杂,市场上一直存在讨论。

正因为中心化交易所的信息不透明,我们才开始慢慢探索去中心化交易所之路。最简单的想法是去中心化交易所可以把交易信息放到链上,所有人可见,打破信息的不透明。同时,用户掌握自己的钱包私钥,真正的控制自己的资金。买卖方之间的交易撮合可以通过智能合约自动进行,去除中间商,省掉手续费。

这一切看上去美好,但是由于智能合约链上交易的技术特性,抢先交易已经在去中心化交易所中横行。

去中心化抢先交易的逻辑简单粗暴,由于合约的执行顺序不完全按照时间顺序,而是交易手续费越高,优先级越高,所以运动员可以通过支付更高的手续费,给自己穿上加速飞鞋,让自己最先到达终点,出块过程提前完成更高手续费的交易,完成套利。

美国康奈尔大学的 Philip Daian、Steven Goldfeder、Tyler Kell 等研究人员最近发表了一篇论文,他们发现去中心化交易所上套利机器人可以像传统交易市场上的高频交易者一样,利用去中心化交易所部分弱点,获得套利收益。论文指出,这些套利机器人通过抬高交易 gas 费的方式获得优先的区块位置和订单的优先执行,通过抢先交易,让普通交易者在与机器人进行对手交易时处于劣势。

 
Flashboys 2 研究去中心化交易所套利细节
 

Philip Daian 等人的研究论文以「Flash Boys 2.0」为标题,这显然是向迈克尔·刘易斯的经典图书「快闪大对决(Flash Boys)」致敬。

201905090938323.jpg


Philip Daian 目前还是康奈尔大学计算机系的博士在读生,但是在分布式系统和密码学领域却已经显露头角。2017 年,他在 Elaine Shi 的指导下,发表了「Snow white: Provably secure proofs of stake」的论文,并且在智能合约安全等方面颇有建树。

康奈尔大学的这个研究团队用了 18 个月的时间追踪了 6 个不具名的去中心交易所,发现了这些去中心交易所存在的「抢先交易」的问题。

为了更容易理解 Philip Daian 团队的发现,我们先罗列出来去中心化交易所的特性:


    交易过程是一个离散的出块过程,每个块的容量有限制;
    多个交易所在链上并行,价格差异在出块过程中就已经发生;
    多个交易可以放在同一个原子交换合约内进行,这可以被认为是瞬间执行,跨交易所执行;
    根据交易的复杂程度,越复杂的交易(一个智能合约内的操作越多),收取的手续费越高,所以需要对交易复杂度进行优化;
    交易出块通过协议扩散到整个网络,但是由于每个参与者在网络里的位置不同,接收到信息的时间有先后之分;
    交易顺序尤其重要,并且交易顺序由手续费决定,手续费通过竞拍决定,矿工优先处理更高的手续费交易,这是去中心化交易所抢先交易的核心规则;
    未来的交易可以在一定程度上被模拟出来,玩家可以根据模拟结果进行预判;
    一些交易可能因为没有赢得手续费竞拍而没被执行,但是交易者仍需要支付一定比例的手续费,这个费用算是尝试执行合约的费用,矿工收取;
    交易是否通过需要等待出块确认,并不是瞬间确认。



根据这几个特性,聪明的玩家可以发现一个搬砖套利抹平价差的过程:


    由于 (1)和(2)当玩家发现交易所之间存在的价差之后,可以通过同(3)一个原子交换合约,进行交易,抹平价差进行套利。这是类似与搬砖套利的一种方法,和传统的跨中心化交易所的搬砖套利不同,原子交换可以确认买入和卖出交易同时执行,不需要考虑其中一个交易所交易未能执行的风险。在交易执行过程中,需要考虑到(4)尽量优化交易逻辑降低手续费;
    但是如果其他玩家也发现了价差,那么通过(5),不同玩家获得信息的速度不同,假设头部几名玩家获得了信息并发动交易。由于(6)玩家希望能尽量快速的通过自己的交易,如果能快速通过自己的交易,玩家便获得了抢先交易的权利,获胜的玩家可以通过(7)对未来的交易网络形态进行预测,准备参与未来的交易;
    未被执行的交易,因为(8)也会带来一定量的交易损失;
    最后由于(9),整个网络的在出块和同步过程中,又会出现价差,循环回到(A),重新发生搬砖套利空间。



Philip Daian 和研究团队根据观察,推断出以下的结论:


    通过观察原子交易合约,估算出此类套利至今有6百万美元的收益;
    套利市场强者通吃,最强的套利机器人长期获取市场内大部分的利润;
    作者们发行了自己的一种叫做 GasToken 的通证,可以通过这个新的通证进行 Gas 费用的套利,玩家可以通过这个通证降低自己在竞拍过程中的手续费价格;
    人为交易过程中的输入错误,存在一定程度上的套利空间,一些机器人专门通过抢夺人为错误订单获得不道德的超额利润,由于去中心化交易所没有监管,这些交易不能被回滚;
    整个去中心化交易系统的设计,由于手续费竞拍,使得矿工成为最大的受益者。目前,很多新的DEX正在尝试新的设计,解决手续费竞拍带来的问题。



文章最后,通过模拟,该论文还分析出了两个很重要的区块链协议层安全漏洞风险。不过,由于该文只讨论套利逻辑,这里暂不阐述。

 
如何解决抢先交易这个问题?
 

事实上,导致竞价的并不只是套利机器人,这种恶性竞价甚至会发生在几个正常的用户之间。由于区块链的流量有限,当很多人试图进行交易时,自然会慢慢抬高手续费,就像每当牛市的时候流量上升,链上交易的手续费就会疯涨。

这似乎是目前完全的去中心化链上交易所不可避免的一个缺点。

可以看到,去中心化交易所的一个套利核心机制是交易顺序的竞价过程,一些团队已经开始解决这个竞价机制带来的问题。他们的做法是把交易撮合这个过程放到链下进行,这样交易顺序通过时间决定,可以有效的解决(6)竞价问题。同时,由于交易撮合在线下进行,交易可以连续的一直进行,这样可以解决(9)(1)(2),让价差尽量减小,降低不平等的套利机会。

这种做法更像是在完全的中心化交易所和完全的去中心化交易所之间取一个折中,给用户更多选择。

关于具体的一些去中心化交易所如何解决抢先交易的问题,去中心化交易所协议 Hydro 社区最近撰写过一篇文章进行了很好的总结,可以参考这篇文章:《彭博社也搞错了,在交易所「套利」是这么回事儿》。

传统交易市场中,也在探索解决抢先交易的问题。在《快闪大对决:一场华尔街起义》书中的一个角色 Brad Katsuyama,就在近几年成立了名为 Investors Exhange 的全新股票交易所,这个交易所的核心设计是通过全新的规则,保证信息能够在同一段时间内达到用户手中,从而阻止大户通过工程速度抢先交易。

值得一提的是,币安似乎也想通过同样的系统设计,来对抗对散户不公平的抢先交易(详情在官方文档 https://docs.binance.org/anti-frontrun.html)。

就像社区对去中心化治理的探索,我们似乎慢慢意识到,简单的做到去中心化中的信息透明和权利公平分配,并不能解决所有的问题。很有可能,我们还是需要一套去中心化的监管机制,让用户可以通过管理机制来保护自己的利益。当然,这如何与「去中心化」的加密世界理念结合起来,还是一条漫长的探索道路。


撰文:江明睿,就职于密码货币对冲基金 BitCapital

0 个评论

要回复文章请先登录注册