聯盟鏈將成紅海,但國產的該如何發展?

區塊鏈編輯導語:上週,國家互聯網信息辦公室審議和通過了《區塊鏈信息服務管理規定》,將於 2019 年 2 月 15 日起施行。該文件對公鏈應用有限制,但鼓勵技術發展,鼓勵 2B 聯盟鏈。以此,大家猜測往後聯盟鏈將是紅海!

隨着 BATJ 等大廠不斷涌入聯盟鏈市場,大家對國產底層和國外底層之間的差異越來越感興趣,本文擬通過對 BCOS 與 Fabric 等國外底層的若干比較,介紹下雙方的區別,並提出一些對國產聯盟鏈發展方向的思考。

一、共識方面

共識一度是區塊鏈的“靈魂”,也是公鏈效率的一大瓶頸。聯盟鏈由於在參與方式上注入了信任,因此,共識上轉向了以提升效率爲主,更接近於傳統分佈式數據庫。

共識的發展方向目前主要是 BFT(拜占庭類)和非 BFT 兩類,前者考慮節點“作惡”問題,即網絡具有一定抗欺詐能力,後者則以考慮通訊故障爲主,不考慮抗欺詐問題。

BCOS 目前同時支持兩種共識方式:PBFT 和 RAFT。PBFT 是 BFT 類共識,這使得網絡具有支持弱信任環境的能力。BCOS 平臺對 PBFT 共識過程進行了優化,儘量讓所有節點在每個階段的計算都是並行發生,不需要互相等待,以充分提高共識效率。RAFT 方面 BCOS 平臺採用的是標準 RAFT 協議,並進行了針對極端網絡環境的優化。此外,BCOS 平臺中的 RAFT 結合智能合約(BCOS 的節點管理、權限管理可以通過智能合約設置)可以支持節點動態增加和退出網絡,這點是平臺的一個優勢。

Fabric 曾在 0.6 版中使用 PBFT 共識協議,在 1.0 版,轉而採用 Kafka 方式實現共識,效率獲得了較大提升。與 Fabric 不同,摩根大通主推的 Quorum 平臺可以支持 IBFT 和 RAFT 兩類協議的,微軟的 Coco 採用的則是 Paxos 和 Caesar,Ripple 採用的是波紋協議共識算法(RPCA)。應該說國內外在共識方面都有多元化的傾向,這也是聯盟鏈發展的一個特點。

從共識角度來講,其實所有聯盟鏈設計都應該考慮“聯盟”的含義和性質,是高度可信的聯盟還是鬆散、弱信任的聯盟,不同的聯盟類型確實需要不同的共識協議,提高對共識類型的支持能力,以更好地適應聯盟環境是非常必要的。除此之外,也應當考慮共識範圍,這麼說可能有點兒“離經叛道”,但是現在聯盟鏈都有支持數據有限可見範圍的發展傾向,在這種條件下,所謂的共識究竟是什麼含義?共識的方式和參與共識的節點範圍,都應當做新的思考,而非繼續沿用公鏈或者僅從數據庫共識的角度考慮問題。

二、擴展性方面

參加到聯盟鏈中的機構,最好能夠具備獨立的節點,這樣可以減少網絡中的“代理”行爲,從而提高節點平等自主的參與能力,纔能有利於實現更加真實的、由較多主體參與的多中心、弱中心生態環境。但這樣就帶來一個擴展性問題,需要聯盟鏈架構能夠支持更多的節點數。

聯盟鏈解決擴展性問題目前主要是兩種思路:提升單鏈性能和採用多鏈並行。在 2014 年,V 神的以太坊社區曾經討論過“中心輪輻鏈模型”,這是多鏈結構應用在擴展性方面的早期想法,但是並沒有繼續下去。

Fabric 在設計上有“多鏈”的影子。其通道機制原本在白皮書中希望用於實現多種業務網絡之間的連接,每個通道都有一個賬本,實際上有多鏈的意思,應該也可以用於支持擴展性,但是實際操作中更多是被用於數據隔離了。其實在 1.2 版引入“私有數據”概念後,數據隔離問題已經可以通過“私有數據”方式加以解決,可以考慮將“多鏈”用於解決擴展問題,增強對通道機制的改進。但是國外其他主要聯盟鏈底層平臺幾乎都沒有采用或強調多鏈概念。

BCOS 是並行多鏈結構,設計思路是在一個區塊鏈網絡中設置多個分組,每個組是一個完整的區塊鏈網絡,有獨立的軟件模塊和硬件資源,可獨立完成機構間共識,有獨立的數據存儲。根據可定製的路由規則,網絡中的所有機構、用戶及不同類型的交易,都可以接入到不同的分組裏,可以較爲容易地增加分組,並在路由策略中進行設定,應用上也可以實現基於路由的跨鏈操作。其實多鏈結構在設計上會增加一定的複雜性,要儘可能保持各鏈規則一致以較少業務衝突,但還是在一定程度上解決了聯盟鏈的擴展問題。國內還有迅雷鏈採用類似結構。

在擴展性方面,一些基於公鏈設計的聯盟鏈較好地迴避了節點數限制問題,考慮到平臺生態的延展性和對更強大的行業覆蓋能力的要求,節點擴展及由此帶來的考驗是聯盟鏈平臺設計必須關注的,以避免由於聯盟鏈擴展能力的侷限而產生一個個新的數據孤島。

三、安全與隱私方面

國內應用與國外不同,隱私方面的處罰沒有國外那麼嚴格,Facebook 那種驚天罰單現階段基本不會出現在國內。但是安全方面則有特殊要求,國家認可的 CA 認證和國密算法是非常重要的。此外,國內黑客攻擊也越發頻繁,區塊鏈平臺的安全性必須要重視。

BCOS 在安全方面可以支持第三方認證 CA,並定期檢查證書有效性,這對國內應用而言是非常實在的。可以支持內置反洗錢名單,滿足金融行業的 KYC 要求。允許採用高強度的加密數據信封進行保護,未參與交易的機構只能接收到密文,此外,對敏感數據採用脫敏上鍊、Hash 上鍊等方式進行保密處理。在公開測評方面,作爲經中國人民銀行批准成立的第三方檢測機構,銀行卡檢測中心(BCTC)長期爲金融行業提供合規性、安全性檢測服務,對於區塊鏈技術,BCTC 聯合多方機構共同研究並形成了針對主流架構的聯盟鏈評測方案,BCOS 則是首批通過該測評的項目之一。隱私方面,最重要的是 BCOS 支持國密算法,這對國內金融機構而言非常重要。交互方面,設計了 AMOP 協議,以提供機構間的點對點通信,通信信息屬於鏈下信息,不在全網共享,鏈上部分在引入中央對手方提供信用背書的情況下,數據也僅在交易方和中央對手方之間共享。此外,BCOS 還支持了羣簽名、環簽名、同態加密、零知識證明等保護手段。

Fabric 在安全和隱私方面,在 0.6 及 1.0 版本是通過通道和組織進行數據隔離與可見範圍控制。在 1.1 版支持了賬本加密,1.2 版增加了私有數據概念,更靈活地解決了數據可見範圍控制問題。但目前還是無法直接支持第三方認證 CA,需要自行設計替換方式。國密也無法直接支持,應用上需要額外安排開發量。在最新的 1.3 版中,支持了使用 Identity Mixer 實現 MSP(零知識身份證明)。其實隱私保護方面,國外底層做的也都不錯,但是由於面對的市場環境不同,它們基本都不會支持國密替換,需要開發者自行解決。

四、數據挖掘方面

目前區塊鏈數據“易存難用”,由於賬本數據多數採用 K-V 形式存儲,且按照塊鏈結構單向增長,所以,在數據利用方面存在不便,通常要自行開發解決。

在這方面,BCOS 爲區塊鏈設置了一個準實時的數據 ETL(Extract-Transform-Load),及時將鏈上新區塊包含的交易列表、交易明細、交易結果、智能合約狀態數據、鏈上配置信息等全部導入到鏈外的數據倉庫裏。數據倉庫的數據只增不減,寫入後不允許再發生變化,並隨時可以和鏈上數據源進行對比驗證,以保證其完整性和不可篡改性。通過數據倉庫實現數據的查詢、分析和挖掘,以對區塊鏈上產生的數據進行復雜的整合和加工,滿足更多應用上的需要。

Fabric 的數據庫是賬本數據庫加狀態數據庫,狀態數據庫是基於賬本數據進行的狀態提取和更新,可以是 LevelDB 或者 CouchDB,後者支持富查詢,但是效率比前者要低。但是二者僅限於對狀態的存儲,更多的數據加工還是要自行設計。多數國外聯盟鏈平臺都沒有考慮數據加工問題,這應該是設計思路上的差別。

從設計角度來講,聯盟鏈首重的是聯盟的構建和內部效率的提升,因此,在通過區塊鏈技術構建可信連接的基礎上,增加對應用便利性的支持是非常必要的,現有的聯盟鏈多數在部署上都比較複雜,也缺少工具性支持,這點 BCOS 做的相對好些。無論從應用還是競爭的角度來講,國產聯盟鏈確實需要多加強這方面的工作。

五、開發主體方面

聯盟鏈平臺開發難度較高,但是區塊鏈技術發展卻比較快,所以,新技術手段的加入、平臺升級、開發支持、運維支持都離不開平臺提供者,這是聯盟鏈與公鏈的一大顯著區別,聯盟鏈是有“主兒”的,而且離開了“主兒”的支持,在應用方面的確是挺艱難的。

BCOS 由金鍊盟推出,金鍊盟是由深圳市金融科技協會、深圳前海微衆銀行、深證通等二十餘家金融機構和科技企業於 2016 年 5 月 31 日共同發起成立的非營利性組織,至今,金鍊盟成員已包括銀行、基金、證券、保險、地方股權交易所、科技公司等衆多行業的百餘家機構。2017 年 11 月,在金鍊盟技術委員會下設立了開源工作組,由騰訊、華爲、微衆銀行等九家成員機構牽頭推動技術開源工作。BCOS 開發主體非常明確,這有利於平臺的長期發展和對用戶需求的響應。聯盟鏈的部署通常有一定學習成本,而底層平臺的改良需要“大廠”的支持,有確定的“後臺”對用戶而言是非常有利的。

Fabric 是 Linux 基金會和國際化社區在支持,但是主體顯得有些模糊,雖然近來升級節奏有所加快,但是關鍵功能的推進始終差強人意。與之不同,Quorum、Coco、Ripple 等相外國聯盟鏈底層也都是有明確的開發主體在支持。

無論國內還是國外,聯盟鏈都已經發展爲廠家的戰場了。

六、應用方面

國外聯盟鏈起步較早,應用方面也有較多推進。Fabric 在規模上依然優勢很強,加上 IBM 的強大營銷力量,案例已有數百個,且大用戶不斷有新動作。目前沃爾瑪已經提出了強制使用區塊鏈進行溯源的意向,國內最新大型案例是中行、中信和民生攜手打造的信用證平臺。摩根大通基於 Quorum 的 IIN 平臺最近已經圈到了 75 家來自各國的銀行,Ripple 的合作範圍也到了上百家銀行。

BCOS 作爲後起力量,在短時間內也取得了應用上的較快發展,落地項目也有數百個,包括微衆銀行的機構間對賬平臺和仲裁鏈、四方精創的供應鏈金融、城商行旅遊金融聯盟的旅遊金融等。其中,仲裁鏈於 2017 年 10 月左右上線,2018 年 2 月,廣州仲裁委基於“仲裁鏈”出具了業內首個裁決書,成爲了一個很有社會影響力的事件。截止目前,應用了多鏈技術的仲裁鏈,已有十餘家存證機構和仲裁機構加入,已完成超過千萬份合同的存證,涉及的資金規模超過千億級。另一個較爲有趣的應用則是安妮股份的版權存證平臺,安妮股份是 Fabric 的國內早期先行者,目前該公司基於 BCOS 又發佈了同類型應用,雖然暫時缺乏設計細節的披露,但相信對該案例的分析將會提供有益的平臺應用方式對比。BCOS 也很注重與科研的核心力量之一——高校之間的合作,今年 5 月,中科院計算所正式加入金鍊盟,雙方將努力突破區塊鏈架構、通信協議、安全評測等關鍵技術領域的壁壘,共同打造新一代高通量區塊鏈計算引擎。

國內的聯盟鏈應用實際上是隨着今年大廠的紛紛入局才真正有了起色,Fabric 近乎壟斷的局面才被逐漸打破。

七、對國產平臺的發展建議

BCOS 作爲國產優秀平臺,經過自己的努力,實現了很多有利於本土化的改良,但是,目前國內聯盟鏈應用方面始終缺乏較爲清晰的開發指引,也許是受制於商業利益等因素,方案披露常常語焉不詳,比較像二三十年前軟件架構面臨的困境。這方面顯然 Fabric 做的好些,至少市面上還找得到一些對設計有指導作用的書籍。建議以 BCOS 爲代表的國產平臺在開發者指引方面繼續加大推廣和培訓力度。區塊鏈發展已經有十年曆史了,應用上的突破是所有人的期待,隨着 BATJ 紛紛加入,聯盟鏈的戰國愈演愈烈。大型科技公司每年都把開發者大會搞成盛大的節日 Party,開發者就是科技公司的未來、技術的未來,所以,除了不斷增強平臺實力,務必要將開發者培育置於發展策略之首,開發者纔是生態壯大的根源力量。

作者介紹:付曉巖,原國有大行資深業務架構師,負責業務架構設計、項目管理,熱衷新技術探索與實踐,具有豐富的銀行業務經驗和企業級項目業務架構設計經驗,曾主導客戶關係、金融市場、同業、資管、養老金等多個領域核心系統的業務架構設計。公衆號:曉談巖說。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章