老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因

今年以来,老牌加密衍生品交易所 BitMEX 就出现了 4 次宕机事故,是因为系统过载,还是因为人为操作?

原文标题:《观察 | BitMEX 宕机第 4 次,到底发生了什么?》
撰文:非小号

5 月 19 日晚间,BitMEX 出现宕机。距离上一次宕机,3.12 暴跌期间,不过短短 2 个月时间。Bitmex 官方表示,宕机原因是由于交易引擎停机,用户资金是安全的,宕机期间不会发生清算;随后 21:30 左右,BitMEX 宣布重新上线。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因

根据非小号官网数据,BitMEX 开设于 2014 年,目前是全球最大的比特币衍生品交易所,对于比特币类的产品提供 1-100 倍的杠杆,日成交量高达 225,869.57 枚比特币,在全球综合排名榜上排名第 6,是很多用户心中比较受欢迎的老牌合约交易所。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因

按理来说,BitMEX 实力强劲且运营多年,一个每天成交额近 156 亿的技术团队,应该不可能解决不了显而易见的技术性宕机问题,但今年以来就出现了近 4 次宕机事故(3.2 宕机 12 分钟,3.13 宕机 2 次,5.19 宕机 30 分钟),到底发生了什么导致昨晚交易引擎中断?交易所宕机都预示着什么问题?非小号对此进行了深入调查分析。

撮合 / 交易引擎 为什么宕机?

交易撮合引擎,简单来讲是用来撮合交易的软件。交易撮合引擎可以比作是一个黑盒子,承接很多输入和输出。

例如,可能的输入包括:

  • 创建新的委托单(NewOrder):一个新的委托单可以作为交易撮合引擎的输入,引擎会尝试将其与已有的 委托单进行撮合。
  • 取消已有的委托单(CancelOrder):用户也可以取消一个之前输入的委托单,如果它还没有执行的话,即开口订单。

还有其他很多类型的输入,出于简化考虑,我们现在只举例了两个输入。

交易撮合引擎的输出则是一些事件,以便及时通知其他应用处理。

例如,当引擎撮合了一笔交易后,就会触发一个 TradesGenerated 事件;而当取消了一个已有的委托单后,引擎就会触发 rderCancelled。同样,大家可以根据自己的需求来定义引擎的输出,这里也只举例两个。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因由多个交易引擎客户端组成的交易系统

现在再来看这次的交易引擎中断事故,从客观上就能很好理解了。Bitmex 本身的用户量比较大,一旦突然出现大行情,会有大量用户同时下单撤单(这其中还有大量的套利程序会启动),相当于短时间内大量的输入挤兑了系统,这就会导致「系统过载(system overload)」。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因

有不少用户此前都诟病过 BitMEX 系统过载问题,而且一直也没有得到解决。有资深玩家对此给出了建议:尽量使用全仓保证金,同时保存自己的存款地址,即使出现系统过载的情况,照样能够存币进来,降低爆仓价格。因为存款处理的优先级较高,不会受到系统过载的影响。

由以上可知,系统过载状况的发生需要有个大前提:出现行情,大量用户集中操作。

我们截取了昨晚 8:30~9:30 的行情 K 线,可以看到在白色线段区域内,宕机前一小时内 BTC/USD 从 10000 下跌至 9664 美元,说明一定程度上,当时的行情确实会引发系统过载而导致宕机。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因5 月 19 日晚,OK 当季 10 分 K 线走势

交易所会主动宕机?

在最高交易量期间,通常当交易者需要做出快速决策时,BitMEX 订单撮合系统将停止运转,不允许用户在高峰期间访问,或在行情走向与头寸相反的方向时去关闭订单。

所以除了客观原因可能导致的宕机,还有很多人猜测 BitMEX 是「人为宕机」,以此来阻止比特币暴跌。

北京时间 3 月 13 日上午,BitMEX 加密交易平台出现了短时宕机,交易暂停。根据 BitMEX 官网显示,目前其平台比特币永续合约价格停在 3715 美元左右,自 10:15 分开始出现交易暂停情况,10:30 分左右恢复正常。对此,BitMEX 回应称,我们的云服务提供商存在硬件问题,这导致 BitMEX 请求在 10 点 16 分到 10 点 40 分之间有所延迟。

而在短短半天后,北京时间 3 月 13 日 20:56 左右,BitMEX 再度出现交易宕机的情况。

而本次事件发生后,BitMEX 官方的回应称 DDoS 攻击是导致短时宕机的真正原因,而当天早间的那次宕机也是因为相同的问题所致,并非此前指出的「云服务提供商存在硬件问题」。

明显的前后说法不一,让大家对真正宕机原因存疑。

接着交易员 @Lowstrife 在推特上指出,BitMEX 交易所本身过高的杠杆比重导致在价格开始下跌时,巨量的清算订单吞噬了市场上的订单,而持续的爆仓直接导致了价格的崩盘式下跌,BitMEX 这种暂停交易的行为可以理解为是一种把清算的「自动档」切换为「手动档」的操作。

而这种强行终止市场无休止的爆仓处理让市场暂时摆脱了源源不断的卖盘打压,并「帮助」比特币价格实现了企稳反弹。

13 日上午 10 点 15,BitMex 宕机停止交易,10 分钟后,Coinbase 比特币现货价格从 3800 美元拉升至 5700-5800 美元

「我们猜测应该是 BitMex 自己把交易给停了,要不然当时直接就可能把它 3 万多个比特币的保险基金全部爆光。那种情况下,对交易所来说最佳的选择就是停下来。在一个没有监管机构和没有熔断机制的市场,由一个当时交易量最大和持仓量最大的交易所完成了一次「自我熔断」,这也拯救了市场。」业内专业人士分析。

我们查询了 BitMex 官网的保险基金,发现 3 月 12 日「黑色星期四」之后,隔天的比特币保险基金急剧减少了 2611.922 枚 BTC。如果没有「手动档」的「自我熔断」,很可能损失会更大,这必然会对交易所造成不小的冲击和风险隐患。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因

从这个角度来看,BitMex 也有动机在发现行情急剧暴跌时,可能会进行人为宕机。3.12 的情况适用这样操作,但昨晚的行情似乎没有严重到 400 美金就得紧急刹车的程度。

宕机是为了增加保险基金?

除了上述两个宕机原因,还有一个观点流传较广。

当用户想在在一些明显的价格波动时退出交易,更改止损或更改杠杆,这时候一旦发生宕机,如果 BitMEX 能够以高于破产价格的方式清算头寸,那么额外的资金将被添加到保险基金中,现在该基金每月稳步增长。如果 BitMEX 无法以破产价格清算头寸,BitMEX 将利用保险基金余额来提交价格更为激进的强平委托。

老牌交易所 BitMEX 今年为何接连宕机?简析可能的几类原因

根据 BitMEX 官网介绍,对保险基金的规模增长做出了解释,我大致概括一下:为了避免投资者仓位被自动减仓,交易所需要在行情跳水时给用户填补资金,然后交易所会测算这种情况发生,按照当前用户量,需要准备多少资金,这个资金随着用户规模和业务规模变化,即规模增长。

也就是说,交易所需要大量的保险基金余额来保证现有规模下,一旦发生极端行情,能够有足够资金「兜底」和防范更大的风险。说个不恰当的比喻,当中行原油宝因为极端行情穿仓时,中行能够有足够的储备金来偿付。这个保险基金就相当于传统银行的储备金。

BitMEX 的保险基金从 2019 年年初到现在,增加了 14681.62 枚 BTC,因此被一些用户怀疑,这部分增长就是来源于人为宕机或「操纵市场」、交易所内幕狙击后,平台从客损中获取的资金。

「由于平台本身最吸引投资者的,恰好是提供高倍数杠杆服务,因此每一次市场出现短时急涨急跌时,BitMEX 平台都会出现巨量的爆仓单。这意味着每一次比特币价格异动时,BitMEX 交易所都可以从中获得相当可观的收益。」有用户曾对此发表过意见。

不过我们认为,所有分析宕机原因的观点中,这一类「阴谋论」是最难证伪,也最难证实的,纯粹是一种猜忌。BitMEX 未曾公开过这部分保险基金增长的具体来源,我们推测,可能是每个季度的盈利(主要是手续费)按比例计提,也可能是其他业务的收益,会更合理一些。

  Wilshire Phoenix 申请比特币商品信托,灰度 GBTC 竞争者出现?

发表评论

电子邮件地址不会被公开。 必填项已用*标注