FISCO BCOS 2.0 新增了很多特性,統(tǒng)稱為“一體兩翼多引擎”,借以表述技術進步產生燃動力,助推聯(lián)盟鏈應用落地。
我們認為,F(xiàn)ISCO BCOS 2.0并不是FISCO BCOS 1.0的簡單升級,它在擴展性、易用性、隱私隔離等方面開辟了不少新思路。比如,一體指代的群組架構,使得企業(yè)間建立多方協(xié)作的商業(yè)關系像拉群聊天一樣靈活輕松,有助于企業(yè)快速地豐富業(yè)務場景和擴大業(yè)務規(guī)模,而系統(tǒng)的運維復雜度和管理成本也線性下降。
FISCO BCOS 2.0的新特性
一體兩翼多引擎全貌:
群組架構
群組架構是FISCO BCOS 2.0眾多新特性中的主線,創(chuàng)造靈感來源于人人都熟悉的群聊模式——群的建立非常靈活,幾個人就可以快速拉個主題群進行交流。同一個人可以參與到自己感興趣的多個群里,并行地收發(fā)信息?,F(xiàn)有的群也可以繼續(xù)增加成員。
· 采用群組架構的網絡中,根據(jù)業(yè)務場景的不同,可存在多個不同的賬本,區(qū)塊鏈節(jié)點可以根據(jù)業(yè)務關系選擇群組加入,參與到對應賬本的數(shù)據(jù)共享和共識過程中。該架構的特點是:
· 各群組獨立執(zhí)行共識流程,由群組內參與者決定如何進行共識,一個群組內的共識不受其他群組影響,各群組擁有獨立的賬本,維護自己的交易事務和數(shù)據(jù),使得各群組之間解除耦合獨立運作,可以達成更好的隱私隔離;
機構的節(jié)點只需部署一次,通過群組設置即可參與到不同的多方協(xié)作業(yè)務中,或將一個業(yè)務按用戶、時間等維度分到各群組,群組架構可快速地平行擴展,在擴大了業(yè)務規(guī)模同時,極大簡化了運維復雜度,降低管理成本。
支持分布式存儲
FISCO BCOS 2.0新增了對分布式數(shù)據(jù)存儲的支持,節(jié)點可將數(shù)據(jù)存儲在遠端分布式系統(tǒng)中,克服了本地化數(shù)據(jù)存儲的諸多限制。該方案有以下優(yōu)點:
· 支持多種存儲引擎,選用高可用的分布式存儲系統(tǒng),可以支持數(shù)據(jù)簡便快速地擴容;
· 將計算和數(shù)據(jù)隔離,節(jié)點故障不會導致數(shù)據(jù)異常;
· 數(shù)據(jù)在遠端存儲,數(shù)據(jù)可以在更安全的隔離區(qū)存儲,這在很多場景中非常有意義;
· 分布式存儲不僅支持Key-Value形式,還支持SQL方式,使得業(yè)務開發(fā)更為簡便;
· 世界狀態(tài)的存儲從原來的MPT存儲結構轉為分布式存儲,避免了世界狀態(tài)急劇膨脹導致性能下降的問題;
· 優(yōu)化了數(shù)據(jù)存儲的結構,更節(jié)約存儲空間。
并行計算模型
過去將交易打包成一個區(qū)塊,在一個區(qū)塊中交易順序串行執(zhí)行的做法,在FISCO BCOS 2.0中,會通過一套并行交易處理模型實現(xiàn)自定義交易互斥變量。 區(qū)塊執(zhí)行過程中,系統(tǒng)將會根據(jù)交易互斥變量自動構建交易依賴關系圖——DAG,基于DAG并行執(zhí)行交易,最好情況下性能可提升數(shù)倍(取決于CPU核數(shù))。
預編譯合約
FISCO BCOS 2.0提供預編譯合約框架,支持采用C++編寫合約,其優(yōu)勢是合約調用響應更快,運行速度更高,消耗資源更少,更易于并行計算,極大提升整個系統(tǒng)的效率。FISCO BCOS內置了多個系統(tǒng)級的合約,提供準入控制、權限管理、系統(tǒng)配置、CRUD式的數(shù)據(jù)存取等功能,這些功能天然集成在底層平臺里,無需手動部署。
FISCO BCOS提供標準化接口和示例,幫助用戶進行二次開發(fā),便于用戶編寫高性能的業(yè)務合約,并方便地部署到FISCO BCOS里運行。預編譯合約框架兼容EVM引擎,形成了“雙引擎”架構,熟悉EVM引擎的用戶可以選擇將Solidity合約和預編譯合約結合,在滿足業(yè)務邏輯的同時獲得巨大的效率提升。
CRUD合約
FISCO BCOS 2.0新增符合CRUD接口的合約接口規(guī)范,簡化了將主流的面向SQL設計的商業(yè)應用遷移到區(qū)塊鏈上的成本。其好處顯而易見:
· 與傳統(tǒng)業(yè)務開發(fā)模式類似,降低了合約開發(fā)學習成本;
· 合約只需關心核心邏輯,存儲與計算分離,方便合約升級;
· CRUD底層邏輯基于預編譯合約實現(xiàn),數(shù)據(jù)存儲采用分布式存儲,效率更高。
控制臺
FISCO BCOS 2.0新增控制臺,作為FISCO BCOS 2.0的交互式客戶端工具。
控制臺安裝簡單便捷,簡單配置后即可和鏈節(jié)點進行通信,擁有豐富的命令和良好的交互體驗,用戶可以通過控制臺查詢區(qū)塊鏈狀態(tài)、讀取和修改配置、管理區(qū)塊鏈節(jié)點、部署并調用合約??刂婆_給用戶管理、開發(fā)、運維區(qū)塊鏈帶來了巨大的便利,降低了操作繁瑣性和使用門檻。
虛擬機
FISCO BCOS 2.0引入了最新的以太坊虛擬機版本,支持Solidity 0.5版本。同時,引入了EVMC擴展框架,支持擴展不同虛擬機引擎。底層內部集成支持interpreter虛擬機,未來可擴展支持WASM/JIT等虛擬機。
其他特性
除上述所列之外,F(xiàn)ISCO BCOS 2.0持續(xù)在網絡傳輸模型、計算存儲流程等方面進行優(yōu)化,對性能提升提供巨大幫助。在架構方面,從存儲、網絡、計算三個角度,圍繞高可用性和高易用性進行持續(xù)升級,并基于模塊化、分層、可插拔等設計原則,持續(xù)對核心模塊進行重塑升級,保證系統(tǒng)健壯性。