BitMart CTO 顾春江:安全是交易所安身立命之根本独家专访

零禾 · 12/7/2018, 12:03:26 PM分享

区块链诞生之初,就被冠以价值互联网的厚望。在很多人看来,区块链技术就是为了实现价值互联网而产生,它是互联网下半场的发展动力。 

而人人自发、有序的价值互联世界仅依靠信仰无法达成,所以中本聪们又加入了Token激励,以构造一个“奉献价值,收割成果”的加密货币世界。作为Token流通最主要的场所,交易所自然而然的走到食物链上层。 

但交易所想要坐稳这个位置并不容易,据数据统计,自 2011 年以来,已有 56 起针对全球加密货币交易所及其他数字货币平台的网络攻击,黑客们造成了高达 16.3 亿美元的损失。其中最大的事故便是2014年加密货币交易所MT.GOX因比特币被盗导致的破产。除此之外,币安、韩国最大的加密货币交易所Bithumb都在不同程度上受到过黑客攻击。 

安全成了大交易所最头疼的问题,更不用提连技术团队都不健全的小交易所。还有一个问题是,加密货币千变万化的价格让用户频繁交易,交易所系统宕机司空见惯。面对这一新兴产业,无论是区块链技术,还是交易所自身的交易系统都有很多问题亟待解决。 

撮合交易

相比于传统金融交易平台,加密货币交易所是新的领域。它不像传统那般有规则可循,它的变化、更新迭代都非常快。一天的交易不能等到次日再提现,在没有法律认可的第三方资金监管的情况下,用户希望所有的资产都掌握在自己手里。

这个给交易所的交易系统带来了实时结算需求,结算和风控系统的设计也变得复杂。同时,实现结算提现时因为比特币资产的不可追回特性,任何问题都是致命的,开发加密货币交易系统比传统金融平台存在更大的技术挑战。

“其实开发一个交易所的话,它的难点在于面广。就好像互金平台一样,它不光需要资金安全,还有各方面。做一个撮合引擎,要对它整体安全、质量把控,你需要把控流程上每一个点。就像一个木桶,不能有一个是短板。只要有一个短板,水都会漏。”BitMart CTO 顾春江在对交易所的开发上,提出了“短板理论”。 

据悉,BitMart今年3月上线,运营八个多月以来用户量达60多万。根据顾春江介绍,BitMart拥有高效的撮合引擎,目前支持160多个交易对,在高频的交易频率下,遵循“价格优先、同价格下时间优先”原则。

BitMart认为,撮合交易的重要组成部分就是买卖订单,通过对买卖订单进行撮合最后形成交易记录。所以对无法立刻完成撮合的订单,需要有买入队列和卖出队列保存订单,队列按照“价格优先、同价格下时间优先”原则。

撮合引擎接收到新的买入订单,如果存在卖出价格小于或等于买入价格的订单,则从队列中取出此订单并撮合成一笔交易;如果卖出队列为空或队列头部不满足价格关系,则将买入订单插入买入队列中。相同的,当撮合引擎接收到新的卖出订单,则会到买入队列的头部査找是否存在符合价格规则的买入订单。如果存在买入价格大于或等于卖出价格的订单,规则相同。从订单队列中取出此订单并撮合成一笔交易;如果买入队列为空或队列头部不满足价格关系,则将卖出订单插入到卖出队列中。

为了满足这个原则,并且同时保证撮合的高效性。BitMart设计开发了基于内存的无锁订单队列的流水线撮合技术,提供快速订单撮合能力。但是内存撮合的弊端就是内存的易失性,服务器出现故障停机时,所有的交易数据将会丢失,系统的可靠性以及一致性都相应人幅降低。

因此BitMart在提高内存撮合技术可靠性方面,采用多机热备份及分布式一致性技术作为补充,从而获得内存撮合技术的高性能及数据库撮合技术的数据持久性。 

交易的高峰期,BitMart的交易系统在内存撮合技术的前提下,性能高达百万TPS。同时,该内存撮合技术保证了内存撮合引擎服务的高可用性其他涉及IO的操作,比如订单落地、成交记录落地、用户持仓和资金的变更。它能够全部拆分到各个模块,支持水平扩容采用容器技术、自动扩容。

安全优先

选择数据库层面和内存算法的撮合,数据库算法安全性高,但在面对海量数据时响应时间会较慢。因此在安全和效率上,就要求交易所必须做出选择。 

这一点上,BitMart选择了安全。“用户的资金安全永远是第一位的,也是BitMart交易所生存的根本。”顾春江如是说道。在安全的设计上,BitMart从平台安全、区块链技术安全两个方向入手。

中心化的交易所像个靶子,因其肉美鲜甜宛若“金库”被黑客时刻紧盯。2012年3月,交易所Bitcoinica使用的云服务商Linode被攻击,导致该交易所损失了超过10000个BTC。这一事件牵动了交易所的神经,在基础设施未能跟上交易所的发展时,底层云服务商的选择至关重要。

为了整体的流程优化,BitMart构建于Google Cloud之上,充分利用Google Cloud的安全特性,如KMS,HSM等,并全环境纯Kubernetes化,统一微服务架构,没有一台VM,控制好环境安全。当然,这无法避免交易所成本增加。在安全开发流程方面则实践SDL安全流程,链路中部署安全模块,杜绝OWASP TOP 10问题。前置流量清洗,控制流量攻击面。在开发、运维、运营团队之间通过一致性审计平台协作,避免内耗,将资源最大化利用。

在用户的资产管理上,进行严格的环境隔离。多套系统运行,全局认证审计 + 基于角色的权限管理,冷,温,热,一共4层钱包池管理。为了防止忘记私钥导致账户“死掉”,采用私钥路径演算技术,无需保存私钥,即算即用即销毁。本地签名技术,无需将私钥导入节点,最多只需要将公钥导入节点以观察token流动情况。提现多道审计,大额提现人工介入,预防内部“作恶”,保证用户本人提现。对多类区块链技术有源码级别的研究,从实现层面上保证部分区块链实现常见的一致性语义模糊的问题。

在外部安全方面,聘请资深安全技术专家实施系统各个层面的安全措施,给技术人员做安全最佳实践培训;采购知名厂商的安全产品,比如waf、防渗透技术、ddos高防产品等;与长亭科技,顶象科技、慢雾科技等多家安全咨询服务公司达成深度合作,定期安全巡查。并且,对举报安全漏洞的用户悬赏,确保全方位保障用户的安全交易。

交易效率和安全二者难以兼得在交易所争议已久,其实在更多人看来,交易环节的流畅才是用户留存的根本。顾春江也表示,效率就是用户体验。交易所在开发系统时,在资金的出入账,交易速度等等,都有可能不完善,但和用户的资金安全比起来,这显然不是最重要的,只能在后续的更新迭代中改进。“BitMart不是舍弃了用户体验,它依旧是核心。只不过当下,我们更关注安全。”他说道。

关于下一步发展计划,在接受采访时,他透露BitMart将通过技术手段接入去中心化的交易所,打通双方的交易环境。包括在原有的去中心化协议上做一些改进,以达到高效交易。

声明:蜂鸟财经转载此文出于传递更多信息之目的,内容仅供读者参考。若存在侵权行为,请联系我们删除。

相关文章推荐