FISCO BCOS 2.0新特性解讀

FISCO BCOS是完全開源的聯盟區塊鏈底層技術平臺,由金融區塊鏈合作聯盟(深圳)(簡稱金鍊盟)成立開源工作組通力打造。開源工作組成員包括博彥科技、華爲、深證通、神州數碼、四方精創、騰訊、微衆銀行、亦筆科技和越秀金科等金鍊盟成員機構。

代碼倉庫:https://github.com/FISCO-BCOS

 

 

FISCO BCOS 在2019年3月20日春分的時間節點上,迎來了一次版本大更新,是的,FISCO BCOS 2.0來了!我們已將FISCO BCOS 2.0的源代碼上傳至Github,鏈接中的幫助文檔有助於你快速部署↓↓↓

代碼github倉庫:

https://github.com/FISCO-BCOS/FISCO-BCOS

2.0文檔:

https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/

萬物更新,舊疾當愈。FISCO BCOS 2.0 新增了很多特性,統稱爲“一體兩翼多引擎”,藉以表述技術進步產生燃動力,助推聯盟鏈應用落地。

我們認爲,FISCO BCOS 2.0並不是FISCO BCOS 1.0的簡單升級,它在擴展性、易用性、隱私隔離等方面開闢了不少新思路。比如,一體指代的羣組架構,使得企業間建立多方協作的商業關係像拉羣聊天一樣靈活輕鬆,有助於企業快速地豐富業務場景和擴大業務規模,而系統的運維複雜度和管理成本也線性下降。

 

FISCO BCOS 2.0的新特性

 

一體兩翼多引擎全貌:

羣組架構

羣組架構是FISCO BCOS 2.0衆多新特性中的主線,創造靈感來源於人人都熟悉的羣聊模式——羣的建立非常靈活,幾個人就可以快速拉個主題羣進行交流。同一個人可以參與到自己感興趣的多個羣裏,並行地收發信息。現有的羣也可以繼續增加成員。

採用羣組架構的網絡中,根據業務場景的不同,可存在多個不同的賬本,區塊鏈節點可以根據業務關係選擇羣組加入,參與到對應賬本的數據共享和共識過程中。該架構的特點是:

 

  • 各羣組獨立執行共識流程,由羣組內參與者決定如何進行共識,一個羣組內的共識不受其他羣組影響,各羣組擁有獨立的賬本,維護自己的交易事務和數據,使得各羣組之間解除耦合獨立運作,可以達成更好的隱私隔離;

 

  • 機構的節點只需部署一次,通過羣組設置即可參與到不同的多方協作業務中,或將一個業務按用戶、時間等維度分到各羣組,羣組架構可快速地平行擴展,在擴大了業務規模同時,極大簡化了運維複雜度,降低管理成本。

 

支持分佈式存儲

FISCO BCOS 2.0新增了對分佈式數據存儲的支持,節點可將數據存儲在遠端分佈式系統中,克服了本地化數據存儲的諸多限制。該方案有以下優點:

  • 支持多種存儲引擎,選用高可用的分佈式存儲系統,可以支持數據簡便快速地擴容;

  • 將計算和數據隔離,節點故障不會導致數據異常;

  • 數據在遠端存儲,數據可以在更安全的隔離區存儲,這在很多場景中非常有意義;

  • 分佈式存儲不僅支持Key-Value形式,還支持SQL方式,使得業務開發更爲簡便;

  • 世界狀態的存儲從原來的MPT存儲結構轉爲分佈式存儲,避免了世界狀態急劇膨脹導致性能下降的問題;

  • 優化了數據存儲的結構,更節約存儲空間。

 

並行計算模型

過去將交易打包成一個區塊,在一個區塊中交易順序串行執行的做法,在FISCO BCOS 2.0中,會通過一套並行交易處理模型實現自定義交易互斥變量。 區塊執行過程中,系統將會根據交易互斥變量自動構建交易依賴關係圖——DAG,基於DAG並行執行交易,最好情況下性能可提升數倍(取決於CPU核數)。

 

預編譯合約

FISCO BCOS 2.0提供預編譯合約框架,支持採用C++編寫合約,其優勢是合約調用響應更快,運行速度更高,消耗資源更少,更易於並行計算,極大提升整個系統的效率。FISCO BCOS內置了多個系統級的合約,提供准入控制、權限管理、系統配置、CRUD式的數據存取等功能,這些功能天然集成在底層平臺裏,無需手動部署。

FISCO BCOS提供標準化接口和示例,幫助用戶進行二次開發,便於用戶編寫高性能的業務合約,並方便地部署到FISCO BCOS裏運行。預編譯合約框架兼容EVM引擎,形成了“雙引擎”架構,熟悉EVM引擎的用戶可以選擇將Solidity合約和預編譯合約結合,在滿足業務邏輯的同時獲得巨大的效率提升。

 

CRUD合約

FISCO BCOS 2.0新增符合CRUD接口的合約接口規範,簡化了將主流的面向SQL設計的商業應用遷移到區塊鏈上的成本。其好處顯而易見:

  • 與傳統業務開發模式類似,降低了合約開發學習成本;

  • 合約只需關心核心邏輯,存儲與計算分離,方便合約升級;

  • CRUD底層邏輯基於預編譯合約實現,數據存儲採用分佈式存儲,效率更高。

 

控制檯

FISCO BCOS 2.0新增控制檯,作爲FISCO BCOS 2.0的交互式客戶端工具。

控制檯安裝簡單便捷,簡單配置後即可和鏈節點進行通信,擁有豐富的命令和良好的交互體驗,用戶可以通過控制檯查詢區塊鏈狀態、讀取和修改配置、管理區塊鏈節點、部署並調用合約。控制檯給用戶管理、開發、運維區塊鏈帶來了巨大的便利,降低了操作繁瑣性和使用門檻。

 

虛擬機

FISCO BCOS 2.0引入了最新的以太坊虛擬機版本,支持Solidity 0.5版本。同時,引入了EVMC擴展框架,支持擴展不同虛擬機引擎。底層內部集成支持interpreter虛擬機,未來可擴展支持WASM/JIT等虛擬機。

 

其他特性

除上述所列之外,FISCO BCOS 2.0持續在網絡傳輸模型、計算存儲流程等方面進行優化,對性能提升提供巨大幫助。在架構方面,從存儲、網絡、計算三個角度,圍繞高可用性和高易用性進行持續升級,並基於模塊化、分層、可插拔等設計原則,持續對核心模塊進行重塑升級,保證系統健壯性。

 

FISCO BCOS 的下一步

FISCO BCOS未來將持續優化系統架構,提升平臺性能,增強用戶體驗:

  • 架構方面,將會實現羣組架構實現動態管理,實現跨羣組通信協議,分離網絡、存儲、計算服務,實現微服務化的可擴展架構;

  • 性能方面,將持續進行並行化、流水線化的升級處理,重點解決存儲、簽名驗籤等方面的瓶頸,引入硬件加速等方式進行提速;

  • 體驗方面,將實現簡便的羣組管理、數據管理、密鑰管理等功能,提供平臺化的區塊鏈管理方案;

  • 安全和隱私保護方面,將會提供增強型虛擬機、MPC套件等功能,以支持各種複雜的商業落地場景。

 


 

我們鼓勵機構成員、開發者等社區夥伴參與開源共建事業,有你在一起,會更了不起。多樣參與方式:

1 進入微信社羣,隨時隨地與圈內最活躍、最頂尖的團隊暢聊技術話題(進羣請添加小助手微信,微信ID:fiscobcosfan);

2 訂閱我們的公衆號:“FISCO BCOS開源社區”,我們爲你準備了開發資料庫、最新FISCO BCOS動態、活動、大賽等信息;

3 來Meetup與開發團隊面對面交流,FISCO BCOS正在全國舉辦巡迴Meetup,深圳、北京、上海、成都……歡迎您公衆號在菜單欄【找活動】中找到附近的Meetup,前往結識技術大咖,暢聊硬核技術;

4 參與代碼貢獻,您可以在Github提交Issue進行問題交流,歡迎向FISCO BCOS提交Pull Request,包括但不限於文檔修改、修復發現的bug、提交新的功能特性。

代碼貢獻指引:

https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/docs/CONTRIBUTING_CN.md

 

本文首發於公衆號【FISCO BCOS開源社區】,如轉載請註明出處,原創不易,謝謝珍惜

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