選單

鏈上ChainUP鍾庚發:交易系統設計的未來挑戰在於高效能、高可用和高擴充套件

鏈上ChainUP鍾庚發:交易系統設計的未來挑戰在於高效能、高可用和高擴充套件

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端客戶無感知。

鏈上ChainUP鍾庚發:交易系統設計的未來挑戰在於高效能、高可用和高擴充套件

這是 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;第三,低延時,微秒級時延,我們會在低延時方面不斷的提高。

我今天的分享就到這裡,非常感謝大家!