区块链交易系统技术设计的挑战与未来
8 月 28 日,「2020新区势·区块链科技金融峰会」在北京举办。本届峰会由火币集团、36kr、Odaily星球日报共同主办,链上ChainUP 战略赞助,贝宝金融特别赞助,Conflux、BitUniverse币优、维基链WaykiChain、XnMatrix、哈世科技、Mixpay、COCOS、上海挖易联合赞助。
来自基金、证券、银行等金融机构的众多权威专家、教授,以及行业头部机构代表共聚于此,分享金融科技新资讯,探讨区块链的未来潜力。
在上午,链上ChainUP 创始人兼 CEO 钟庚发以「区块链交易系统技术设计的挑战与未来」为主题发表演讲。
钟庚发表示,PaaS 平台在解决交易系统痛点上具备十点优势:快速部署、优化资源利用率、故障自愈、服务治理、金丝雀发布、容器化(屏蔽底层环境差异性)、可观测性、监控预警、弹性扩缩容、自动化服务注册发现。此外,WaaS 系统可以帮助客户实现快速批量上币,并提升交易流动性;在平衡安全与速度方面,会进行分级审核,保障用户体验和安全需求。
而在未来,交易系统设计的挑战在于高性能、高可用和高扩展,链上ChainUP 的目标是打造交易系统的基础设施。
据介绍,链上ChainUP 在过去的 3 年间,积累了 200 多项产品与服务,每年系统迭代升级 200 余次,已服务全球 500 多家客户。
以下为钟庚发现场演讲全文,经 Odaily星球日报编辑整理,enjoy~
大家好,首先我给大家分享下,我们在过去3年交易系统方面的一些挑战和经验的实践。
先做一个我们公司的介绍,链上ChainUP 成立于 2017 年,在新加坡、日本、韩国、北京、深圳都有分公司,3 年时间服务了全球 500 多家企业客户,触达的用户超过 6000 万。我们在 3 年时间内拿了 3 笔融资,包括晨兴资本、愉悦资本、陶石资本等传统 VC 和节点资本。团队有互联网的基因,也有区块链的从业者,早期的核心团队由百度和火币等组成,后面还引入了金融行业的从业者。
在业务层面做一个简单总结,我们在产品和服务方面进行了 200 多次的迭代,申请了 11 项专利,在全球的本地化和合规化方面有非常丰富的经验,同时帮助客户进行了 3 年的运营和业务上的积累。我们的客户分布在全球 30 多个国家,比如说日本,日本发了 21 个牌照,其中有 2 家拿到牌照合规的交易所跟我们有深度的合作。韩国前3的交易所跟我们也有很多合作,同时我们深度合作的新加坡客户ECXX,大概在今年就能够拿到新加坡的牌照(对应类似于香港的七号牌),也在帮客户进行 SPI 牌照的升级。
接下来,主要给大家讲讲过去 3 年,在交易系统技术方面的实践和经验的总结,跟大家深度聊一下。
我们的系统经历了 3 个阶段,公司创立于 2017 年,在 2017 年,市面上缺少交易系统的提供商,我记得当时市面上一套系统大概是800万左右的成本。我们推出了第一个版本,价格在 300 万左右,很快就获得了第一批客户。
2017 年第一个版本只是满足了可用,在 2018 年、2019 年我们对整个系统进行服务化的改造和底层系统的改造。2020 年,客户需求发生很大的变化,因为我们客户在全球各个国家本地化的需求不一样,我们落地的平台可以实现弹性收缩,当交易量爆增的时候,可以让 C端客户无感知。
这是 PaaS 平台的系统架构,我们会打造中台,让客户在前端的各种各样的应用能够快速跑起来,不用关心具体的底层业务的细节,目的是要打造交易系统的基础设施。
PaaS 平台首先解决了快速部署,并实现自动申请,第二是优化资源利用率,第三是故障自愈,当出现故障时能够实现自动的修复。第四是服务治理(微服务场景,熔断、降级、容错、流量管控)。第五是金丝雀发布,通过蓝绿部署、灰度发布、镜像流量解决问题,特别是合约交易的产品,它有可能一秒钟就改变一个人的一生,所以我们的系统通过灰度发布可以去确保系统更新升级是无感知的。第六是容器化,第七是屏蔽底层环境差异性,可观测性、监控预警。第八是弹性扩缩容,我们都知道在行业里流量的浮动是非常大的,弹性的扩容可以解决运营活动的策略。最后一个是自动化服务注册以及发现,这个是比较基本的服务。
2020 年推出的新的基础架构的核心是分布式撮合引擎。撮合引擎是交易所的核心,可以理解为是交易所的心脏,新的撮合引擎解决什么问题?我们把所有撮合做成集群,集群里任何一个节点去落地都可以,当某一个节点发生故障时可以自动转化到其他结点,用户是无感知的。
今年 AWS 在日本出过一次事故,我们因为设计了跨地域,它的节点可以自动从一个区域转移到另一个区域,前端交易是没有任何感知的。第二个是多副本状态机内存撮合,我们会对 orderbook 做内存镜像,当撮合重启可以实现秒级重建 orderbook,我们也可以实现 Leader 自动选举。
交易系统另外一个核心是钱包,为所有客户的钱包推出托管服务,200+风控策略,全方位风险管理;专业的签名机,私钥永不触网;30+安全技术保障,多级别风险预警;冷热分离存储,多重业务审核。我们都知道交易所的提现速度是非常核心的体验,怎么样确保速度和安全平衡是非常关键的。我们把所有的提现进行分级,小额的可以实现自动化提现,如果说通过风控策略发现这个用户有一些异常行为,我们会有风控人员做二次的确认,90% 以上提现的客户体验是非常好的。同时我们的托管系统还推出了共管的服务,可以让财务和创始人之间有一个很好的协作。
对于交易系统设计,我认为主要有三个挑战:一是高性能,二是高可用,三是高扩展。
高性能方面,我们新推出的撮合可以达到每秒 5 万,成交时延定单全流程 1/1000s,每天承受约 6 亿次的下单量,目前已支持 3000+ 币对,可以看到以我们现在的数据量,可以跟头部交易所的体量媲美。我们做了内存化计算、多线程异步 IO、订单懒持久化,使得整个云平台数据库的压力降低了 60%,数据库的费用也同比降低了 60%,这是非常大的改进。
高可用方面,当前做到的是 SLA 99.99%,在一年当中不可用时长不会超过一个小时。因为我们都知道不管是什么交易,如果服务中断,对于用户就意味着钱的损失,因为他没办法去平仓,今年 312 的时候有很多一些交易所出现过这样的情况,在合约平台上没法撤单,导致很多人爆仓。我们支持跨区的负载均衡、K8S Master 节点跨区、RocketMQ 主备高可用。在进程处理方面,可以结合自动通知机制、未响应消息重新路由机制、消费防重复处理机制。服务网络方面,通过金丝雀发布,系统可以实现发布和流量的控制,可以确保服务的高可用和服务的可监控。
高扩展方面,主要是有两个方向的改进,基础服务开放和平台数据开放。用户的交易、资产、关系数据都可以开放给我们的客户,客户可以基于这些数据做二次开发。开放平台的服务除了钱包,接下来我们还会把撮合引擎开放出去,客户可以不采购我们的交易系统,只用我们的撮合服务就可以了。我们会把很多系统功能拆解成单个服务后提供所有的客户,他们可以选择不同服务搭建自己的系统。我们整个设计层面搭建了自己的中台服务,中台服务可以给我们自己的系统去使用,也可以提供给所有的客户,把开放的能力去对接起来,实现他们自己系统的对接。
我们为什么要做中台的概念?很多底层的服务是通用的,不管是现货交易还是合约交易,底层的撮合、清算、订单服务基本的逻辑是一样的,既然这样就可以把这些服务做成中台,在前端所有的业务场景,比如说做ETF、做期权不需要关注底层的服务,我只需要做运营工具就好了。
同时我们推出了开放平台,共享撮合流动性,聚合 5 大交易所的流量和深度,以及体系里大概 300 多家交易所客户的流动性。在所有云服务商提供里,我认为我们的流动性是排行第一的,此外,我们还可以帮客户实现所有新增币的流动性和服务。前段时间非常火的 DOT,很多交易所并没有能力第一时间去上线钱包和流动性,而我们就可以提供一站式的解决方案。还有超级节点,它的成本是非常高的,你可以搭建自己的钱包,不需要搭建节点,只需要买钱包就可以了,可以降低节点的成本。
最后跟大家探讨整个交易系统技术引进的方向,我们会从三个方向做更多的探索:第一,引用更多的轻量化技术;第二,提供多样化的部署,像多云的部署方案、自建 IDC、混合云搭建、私有化 HSM;第三,低延时,微秒级时延,我们会在低延时方面不断的提高。
我今天的分享就到这里,非常感谢大家!
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场