DEX 很热但也有漏洞 一文说透「抢先交易」恶疾
撰文:江明睿,就职于密码货币对冲基金 BitCapital
币安被盗 7000 枚比特币让中心化交易所的风险再次暴露无疑,大家又把目光放在了去中心化交易所(DEX)身上。去中心化交易所不替用户保管资产和私钥,从理论上更加安全。但是,不代表没有问题。
著名的智能合约开发者、美国康奈尔大学博士生 Philip Daian 最近发表了一篇论文,指出去中心化交易所上的套利机器人可以像传统交易市场上的高频交易者一样,通过抬高交易 gas 费的方式获得优先的区块位置和订单的优先执行,通过类似传统交易市场上「抢先交易」的操作,获得套利收益。作为人类,和这些套利机器人进行对手交易时会处于劣势。
这个研究结果,引起了彭博社等主流商业媒体的关注和报道,也引发了市场对去中心化交易所的担忧。
什么是抢先交易
所谓「抢先交易」,指的是提前掌握会改变交易价格的重要信息,抢在市场之前进行交易获利。
最简单的例子,如果一个交易员先于公开市场获得一个消息:一个机构将在下一秒大量买入 BTC,那么,在这一秒之内,交易员可以先买入 BTC,等到机构下单大量买入的时候,市场上的 BTC 有可能因为买单数量较大而上涨,该交易员就可以在这个时候以较高的价格卖出 BTC 给机构。
成功的抢先交易有可能带来非常大的回报,且风险较低,因为在进行交易之前,交易员已经能够确定未来的一个时间点会有一个交易对手出现,可以从交易中获得确定的利润。
这种操作视不同情况下,有可能是合法的,也有可能是非法的,区别在于信息是否公开。如果信息公开,交易员可以合法地通过更快的速度抢在前面进行交易,即合法套利。反过来,如果信息是不公开的,交易员通过职务便利得到信息,那么在交易的那一刻就违法了。
用一个简单的类比来进一步解释:每一次交易都是一个跑道,每个交易员都是在起点准备的运动员,市场信息的就是裁判员,第一个冲到终点线的运动员会获得利润。那么合法的抢先交易是裁判开枪,所有运动员同时听到枪声,一起开跑,最快的运动员因为自身实力最先冲线。非法的抢先交易是裁判给 3 号运动员暗中做了一个手势,手势是提前计划好的,这个时候 3 号运动员就开跑了,因为其他运动员不知道这个暗号,所以在 3 号运动员之后冲线。
传统金融市场中交易所中的抢先交易
抢先交易被推到大众视野之中,最大的一个原因是财经作家迈克尔·刘易斯的一本叫做《快闪大对决:一场华尔街起义》(Flash Boys: A Wall Street Revolt) 的书。这本书中,刘易斯详细的描写了高频交易中用到的抢先交易策略。
值得一提的是,书中描写的高频抢先交易,并不违法。原因就是,高频交易员,是通过自己的软件和硬件设备,通过更快的速度获取公开信息,更快的作出判断,更快的下单,抢在其他「运动员」前面作出交易,合法获利。
这种做法虽然合法,但是并不符合「道德」。原因也很简单,在完全没有监管的情况下,高频交易者通过自己的资金实力,可以买到距离交易所更近的服务器,可以铺设更快的电缆,可以雇佣更高级的程序员来写出更快的软件,这一些都为了抢在普通交易者之前对公开信息进行交易。在整个过程中,高频交易者并没有通过市场信息进行经济学上的分析,他们只是把交易这个过程高效的工程化,在这个零和游戏里面占了上风。这种做法简直是剪羊毛的极致,没有给整个市场带来任何好处,结果只是让普通交易者的成本不断上升。
中心化加密货币交易所中的抢先交易
中心化加密货币交易所中的抢先交易更像是传统金融市场。在此我们不专门展开讨论。因为大部分中心化交易所缺乏监管,抢先交易完全可以看作内幕交易,因为种种原因提前获得内幕消息的玩家变成了最大获利方。
如果换种角度看,甚至可以把交易所跑路看作抢先交易,因为这是典型的运营团队在用户之前得到信息作出判断,套现走人。
去中心化加密货币交易所中的抢先交易
去中心化交易所的抢先交易比较复杂,市场上一直存在讨论。
正因为中心化交易所的信息不透明,我们才开始慢慢探索去中心化交易所之路。最简单的想法是去中心化交易所可以把交易信息放到链上,所有人可见,打破信息的不透明。同时,用户掌握自己的钱包私钥,真正的控制自己的资金。买卖方之间的交易撮合可以通过智能合约自动进行,去除中间商,省掉手续费。
这一切看上去美好,但是由于智能合约链上交易的技术特性,抢先交易已经在去中心化交易所中横行。
去中心化抢先交易的逻辑简单粗暴,由于合约的执行顺序不完全按照时间顺序,而是交易手续费越高,优先级越高,所以运动员可以通过支付更高的手续费,给自己穿上加速飞鞋,让自己最先到达终点,出块过程提前完成更高手续费的交易,完成套利。
美国康奈尔大学的 Philip Daian、Steven Goldfeder、Tyler Kell 等研究人员最近发表了一篇论文,他们发现去中心化交易所上套利机器人可以像传统交易市场上的高频交易者一样,利用去中心化交易所部分弱点,获得套利收益。论文指出,这些套利机器人通过抬高交易 gas 费的方式获得优先的区块位置和订单的优先执行,通过抢先交易,让普通交易者在与机器人进行对手交易时处于劣势。
Flashboys 2 研究去中心化交易所套利细节
Philip Daian 等人的研究论文以「Flash Boys 2.0」为标题,这显然是向迈克尔·刘易斯的经典图书「快闪大对决(Flash Boys)」致敬。
Philip Daian 目前还是康奈尔大学计算机系的博士在读生,但是在分布式系统和密码学领域却已经显露头角。2017 年,他在 Elaine Shi 的指导下,发表了「Snow white: Provably secure proofs of stake」的论文,并且在智能合约安全等方面颇有建树。
康奈尔大学的这个研究团队用了 18 个月的时间追踪了 6 个不具名的去中心交易所,发现了这些去中心交易所存在的「抢先交易」的问题。
为了更容易理解 Philip Daian 团队的发现,我们先罗列出来去中心化交易所的特性:
根据这几个特性,聪明的玩家可以发现一个搬砖套利抹平价差的过程:
Philip Daian 和研究团队根据观察,推断出以下的结论:
文章最后,通过模拟,该论文还分析出了两个很重要的区块链协议层安全漏洞风险。不过,由于该文只讨论套利逻辑,这里暂不阐述。
如何解决抢先交易这个问题?
事实上,导致竞价的并不只是套利机器人,这种恶性竞价甚至会发生在几个正常的用户之间。由于区块链的流量有限,当很多人试图进行交易时,自然会慢慢抬高手续费,就像每当牛市的时候流量上升,链上交易的手续费就会疯涨。
这似乎是目前完全的去中心化链上交易所不可避免的一个缺点。
可以看到,去中心化交易所的一个套利核心机制是交易顺序的竞价过程,一些团队已经开始解决这个竞价机制带来的问题。他们的做法是把交易撮合这个过程放到链下进行,这样交易顺序通过时间决定,可以有效的解决(6)竞价问题。同时,由于交易撮合在线下进行,交易可以连续的一直进行,这样可以解决(9)(1)(2),让价差尽量减小,降低不平等的套利机会。
这种做法更像是在完全的中心化交易所和完全的去中心化交易所之间取一个折中,给用户更多选择。
关于具体的一些去中心化交易所如何解决抢先交易的问题,去中心化交易所协议 Hydro 社区最近撰写过一篇文章进行了很好的总结,可以参考这篇文章:《彭博社也搞错了,在交易所「套利」是这么回事儿》。
传统交易市场中,也在探索解决抢先交易的问题。在《快闪大对决:一场华尔街起义》书中的一个角色 Brad Katsuyama,就在近几年成立了名为 Investors Exhange 的全新股票交易所,这个交易所的核心设计是通过全新的规则,保证信息能够在同一段时间内达到用户手中,从而阻止大户通过工程速度抢先交易。
值得一提的是,币安似乎也想通过同样的系统设计,来对抗对散户不公平的抢先交易(详情在官方文档 https://docs.binance.org/anti-frontrun.html)。
就像社区对去中心化治理的探索,我们似乎慢慢意识到,简单的做到去中心化中的信息透明和权利公平分配,并不能解决所有的问题。很有可能,我们还是需要一套去中心化的监管机制,让用户可以通过管理机制来保护自己的利益。当然,这如何与「去中心化」的加密世界理念结合起来,还是一条漫长的探索道路。