FISCO BCOS 2.0釋出:新增群組架構克服吞吐瓶頸

weixin_34253539發表於2019-03-20

今日,FISCO BCOS開源社群正式對外發布FISCO BCOS的2.0版,該版本在可擴充套件性、效能、易用性、隱私隔離等方面均取得突破性進展,其新增的群組架構方案,可以讓企業間像拉微信群一樣快速組鏈,大大降低維護難度和管理成本。

據悉,FISCO BCOS是金融區塊鏈合作聯盟(深圳)(簡稱金鍊盟)成立開源工作組,由騰訊、華為、微眾銀行、博彥科技、深證通、神州數碼、四方精創、亦筆科技、越秀金科九家成員機構牽頭,為金融行業定製、開源的區塊鏈底層技術平臺。1.0版本於2017年釋出。

FISCO BCOS 2.0的新特性

FISCO BCOS 2.0新增了很多特性,統稱為“一體兩翼多引擎”,其能產生多大的燃動力助推聯盟鏈應用落地,歡迎各位用實踐來檢驗:

\"image\"

群組架構

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套件等功能,以支援各種複雜的商業落地場景。

連結

程式碼github倉庫:https://github.com/FISCO-BCOS/FISCO-BCOS
文件連結:https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/
貢獻方式:https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/docs/CONTRIBUTING_CN.m

相關文章