基于一種面向企業(yè)級用戶的商用區(qū)塊鏈系統(tǒng)CITA介紹
CITA ( Cryptape Inter-enterprise Trust Automation )是秘猿的主要產(chǎn)品,是一個面向企業(yè)級用戶的智能合約平臺。CITA以企業(yè)用戶的部署需要和應用場景為設計前提,以高可靠性、高性能、高擴展性以及未來適應性為設計目標,由秘猿具有多年底層實際開發(fā)經(jīng)驗的團隊精心實現(xiàn),能夠靈活地貼合各類應用場景,提供生產(chǎn)級的系統(tǒng)支持。CITA的當前版本是0.8,同時已經(jīng)完整開源,在github上可以獲取到最新的開發(fā)版本。
在眾多開源項目都選擇2C方向的環(huán)境下,為什么秘猿科技選擇從2B開始?謝晗劍認為,由于區(qū)塊鏈技術發(fā)展還處于非常早期,消費級市場的用戶對其概念并沒有太多了解,對信任的需求并不強烈,軟件的穩(wěn)定性與易用性離消費級產(chǎn)品的要求還有一定的距離,業(yè)界可能還需要一些時間才能看到區(qū)塊鏈技術在消費級市場的應用。而企業(yè)級用戶有能力理解概念,有業(yè)務場景可結合,有技術能力做對接,因此是目前區(qū)塊鏈技術的主要市場。
他認為,企業(yè)的問題在于企業(yè)間協(xié)作。計算機和信息技術出現(xiàn)以來,企業(yè)內部自動化已經(jīng)實現(xiàn)得差不多了。企業(yè)內部都有信息系統(tǒng),員工在信息系統(tǒng)提交資料、完成工作。但是在企業(yè)與企業(yè)合作的時候,流程還是原始方式,如文件打印,蓋章交換合同等。如果想要自動化的協(xié)作,要么A企業(yè)使用B企業(yè)的系統(tǒng),要么A、B、C共同組成行業(yè)聯(lián)盟,開發(fā)系統(tǒng),兩者成本都高昂不易開展。區(qū)塊鏈出現(xiàn)后,可以使用共同維護的數(shù)據(jù)庫,把企業(yè)間協(xié)作的流程給自動化。
目前CITA合作的客戶主要是金融機構,因為“金融業(yè)務主要和資產(chǎn)打交道,計算過程只關心數(shù)字,無需和鏈外資源對接,又對安全和可靠性有很高的要求,恰好現(xiàn)階段區(qū)塊鏈技術非常適合”。然而他們發(fā)現(xiàn),現(xiàn)有區(qū)塊鏈平臺中,雖然有了很多的改進,但是仍然不能找到非常合適的支持企業(yè)級高可靠性、高性能、高擴展性實際業(yè)務的平臺,因此他們的開發(fā)思路就是解決這一個個的問題:
l 降低模塊耦合度,提升可擴展性
現(xiàn)有區(qū)塊鏈各個模塊耦合度高,難以滿足企業(yè)多樣化的業(yè)務需求。而CITA首創(chuàng)了基于微服務的區(qū)塊鏈架構,即CITA里各個組成部分是獨立的微服務,耦合程度低,彼此之間通過消息傳遞來交流,只要能夠發(fā)出標準的接口消息就能喝其他微服務通信。所有微服務一起形成邏輯節(jié)點,也就是區(qū)塊鏈里的節(jié)點。
企業(yè)可以方便地替換掉各個微服務,比如定制CITA共識算法。系統(tǒng)默認使用tendermint共識,假如企業(yè)覺得不適合不喜歡,可以自己實現(xiàn),還可以使用任意的編程語言;假如不喜歡以太坊虛擬機evm,可以用其他的。
當然,CITA會選擇一些默認的組件,保證軟件的開箱即用,是一套比較好用的面向企業(yè)的商用區(qū)塊鏈系統(tǒng)。
l 清晰劃分區(qū)塊鏈共識過程,增強交易性能
我們常說某條鏈的交易性能好或不好,那么好或不好具體在哪里呢?謝晗劍解釋,“現(xiàn)在幾乎所有區(qū)塊鏈節(jié)點軟件設計其實都有一個問題就是層次不清晰,比如算法共識與交易執(zhí)行是混在一起的、同步的。”
CITA獨創(chuàng)了一種異步交易處理( ATE )技術,把整個共識過程分成交易排序過程、交易執(zhí)行過程2個層次。指的是所有發(fā)到區(qū)塊鏈上的交易通過共識算法排序,排好之后給每個交易一個序號,接著按照序號逐個交給交易執(zhí)行微服務執(zhí)行,共識的過程和執(zhí)行過程是異步的。比如編號為99的交易,可以很早就被共識完打上序號,但過了幾秒、幾個區(qū)塊才被交易執(zhí)行。
這樣的好處在于共識過程性能得到很大提升,不會被交易執(zhí)行所拖累。并且加入用戶同時上線、很多人同時發(fā)出交易,整個系統(tǒng)交易壓力突然增大之后,異步處理架構可以容易地把瞬時的交易壓力慢慢消化,不會導致系統(tǒng)崩潰。此外,二者清晰分開,可以方便替換。
l 完善身份驗證與授權服務
CITA的主要目標用戶是企業(yè)級用戶,可以稱之為許可鏈系統(tǒng)。在許可鏈里身份管理和權限控制是核心組件,不像是公有鏈那樣任何人都可以生成公鑰加入退出,必須得到某種形式的許可。秘猿科技總結了項目實施中遇到的實際需求,在CITA中實現(xiàn)了強大的節(jié)點和用戶身份驗證,能夠將沒有許可的節(jié)點或者用戶完全阻隔在網(wǎng)絡之外。實現(xiàn)了基于角色的權限控制系統(tǒng),允許自定義角色,并為角色分配細粒度的操作權限,匹配復雜的企業(yè)組織架構。
謝晗劍認為,這也能夠比較好的滿足監(jiān)管的需求,比如可以讓監(jiān)管者加入到鏈中成為一個節(jié)點,就可以實時看到所有真實的數(shù)據(jù)。
l 完善系統(tǒng)切換、治理、升級機制
讓企業(yè)用上區(qū)塊鏈,首先要面臨的問題是如何解決現(xiàn)有的系統(tǒng),比如大企業(yè)用ldap目錄服務等,要考慮如何與現(xiàn)存的系統(tǒng)、用戶數(shù)據(jù)進行對接,讓企業(yè)什么都不用做就能夠采用區(qū)塊鏈系統(tǒng)。針對這一點,秘猿科技在CITA上做了靈活設計,方便與原有系統(tǒng)平滑切換。
另外,許可鏈中還經(jīng)常面臨的問題是系統(tǒng)升級問題。隨著客戶業(yè)務的發(fā)展與需求的變化,軟件總有一個迭代的過程。還有如果遇到緊急情況該如何處理,如去年以太坊THE DAO事件,就是因為智能合約一旦部署無法升級。因此CITA也非常重視系統(tǒng)升級的可能性。
CITA設計了相應治理機制來完成系統(tǒng)升級。謝晗劍考慮的出發(fā)點是區(qū)塊鏈數(shù)據(jù)的不可篡改性。他認為“區(qū)塊鏈最大特點是數(shù)據(jù)不可篡改”這句話是人們的常見誤區(qū)。如果仔細考慮“數(shù)據(jù)”這兩個字,會發(fā)現(xiàn)數(shù)據(jù)包含很多方面,不是所有數(shù)據(jù)都是不可篡改的。比如比特幣上的賬本會隨著用戶轉賬而一直在改變。謝晗劍表示:“說不可篡改到底是什么東西不可篡改?說的其實是歷史不可篡改,就是比特幣交易發(fā)到鏈上之后不應該能夠被取消、毀掉。但是賬本內容本身是會不停的更新的?!?/p>
所以CITA在設計時一個核心思想是堅持交易歷史不可篡改,但允許一些特別的交易:這些交易需要CITA區(qū)塊鏈里具有管理權限的角色經(jīng)過某種共識機制發(fā)出,比如線下開會、討論等,所有人通過之后用多重簽名方式發(fā)出交易,發(fā)出后被區(qū)塊鏈打包、被節(jié)點處理,交易記錄會記錄在區(qū)塊鏈里,以這個交易來完成智能合約升級。這樣不僅實現(xiàn)了對系統(tǒng)的升級,而且不可篡改,滿足了審計的需要。謝晗劍稱這個是CITA是比較有特色的地方,目前為止還沒有看到其他區(qū)塊鏈公司在做同樣的事情。
CITA于2016年發(fā)布,在今年選擇了開源。是因為他們認為區(qū)塊鏈是一種建立信任的技術,開源是必須的選項,“如果客戶看不到你的源代碼,怎么知道你的共識算法是真的還是假的?!辈⑶?,開源還能夠建立開源社區(qū),吸引更多合作伙伴、開發(fā)者來推動CITA的發(fā)展。
秘猿使用了一種更安全的編程語言Rust,從零開始編寫了整個軟件。Rust在國內的使用雖然不多,但在國外已經(jīng)是非常受歡迎的系統(tǒng)級語言。Rust最大的特點是能夠通過強大的類型系統(tǒng),在軟件編譯期就杜絕掉大部分諸如內存分配或是并發(fā)方面的錯誤,使軟件獲得最大的運行時穩(wěn)定性。
在商業(yè)模式上,他們會圍繞CITA做定制化服務、咨詢服務等,部分服務收費。未來一年,謝晗劍打算推動CITA社區(qū)的成立,尋找更多合作伙伴。他期望有更多人在CITA之上定制化服務,而且不只是他們自己提供服務,其他合作伙伴也科在其之上提供,大家處于平等地位。如別的公司可以通過CITA定制為面向金融、汽車行業(yè)更好的方案,賣給他們的客戶等。
秘猿于今年年初完成百萬級天使輪融資,目前已經(jīng)開啟A輪融資。但是目前的ICO風潮有沒有對他們產(chǎn)生什么影響呢?
他認為,ICO是一種新的融資方式,給以前做技術的人提供了一種新的融資渠道,總體上是挺有益的。但是現(xiàn)在市場整體上過于狂熱,風口不可避免的會有各種人參與,好壞并存。如果ICO需要比較健康的發(fā)展,希望能夠有一些相應的監(jiān)管措施,來給市場降溫,讓大家理智一點。
未來,Cryptape秘猿科技將繼續(xù)與世界各地的企業(yè)機構、區(qū)塊鏈開發(fā)者與學術機構保持長期穩(wěn)定的合作,共同推動區(qū)塊鏈技術在全球尤其是中國的發(fā)展。