FISCO BCOS 2.0发布:新增群组架构克服吞吐瓶颈
今日,FISCO BCOS開源社區(qū)正式對外發(fā)布FISCO BCOS的2.0版,該版本在可擴(kuò)展性、性能、易用性、隱私隔離等方面均取得突破性進(jìn)展,其新增的群組架構(gòu)方案,可以讓企業(yè)間像拉微信群一樣快速組鏈,大大降低維護(hù)難度和管理成本。
據(jù)悉,FISCO BCOS是金融區(qū)塊鏈合作聯(lián)盟(深圳)(簡稱金鏈盟)成立開源工作組,由騰訊、華為、微眾銀行、博彥科技、深證通、神州數(shù)碼、四方精創(chuàng)、亦筆科技、越秀金科九家成員機(jī)構(gòu)牽頭,為金融行業(yè)定制、開源的區(qū)塊鏈底層技術(shù)平臺(tái)。1.0版本于2017年發(fā)布。
FISCO BCOS 2.0的新特性
FISCO BCOS 2.0新增了很多特性,統(tǒng)稱為“一體兩翼多引擎”,其能產(chǎn)生多大的燃動(dòng)力助推聯(lián)盟鏈應(yīng)用落地,歡迎各位用實(shí)踐來檢驗(yàn):
群組架構(gòu)
FISCO BCOS 2.0新增了群組架構(gòu),用于克服系統(tǒng)吞吐能力的瓶頸。
有別于傳統(tǒng)區(qū)塊鏈平臺(tái)整個(gè)網(wǎng)絡(luò)維護(hù)一個(gè)賬本,所有節(jié)點(diǎn)參與到這個(gè)賬本的共識(shí)和存儲(chǔ)的做法,群組架構(gòu)允許網(wǎng)絡(luò)中存在多個(gè)不同的賬本,每個(gè)賬本是一個(gè)獨(dú)立的小組,節(jié)點(diǎn)可以選擇加入某些小組,參與到該組賬本的共識(shí)和存儲(chǔ)。該架構(gòu)的特點(diǎn)是:
- 各群組獨(dú)立執(zhí)行共識(shí)流程,由群組內(nèi)參與者決定如何進(jìn)行共識(shí),一個(gè)群組內(nèi)的共識(shí)不受其他群組影響,各群組擁有獨(dú)立的賬本,維護(hù)自己的交易事務(wù)和數(shù)據(jù),使得各群組之間解除耦合獨(dú)立運(yùn)作,可以達(dá)成更好的隱私隔離;
- 機(jī)構(gòu)的節(jié)點(diǎn)只需部署一次,通過群組設(shè)置即可參與到不同的多方協(xié)作業(yè)務(wù)中,或?qū)⒁粋€(gè)業(yè)務(wù)按用戶、時(shí)間等維度分到各群組,群組架構(gòu)可快速地平行擴(kuò)展,在擴(kuò)大了業(yè)務(wù)規(guī)模同時(shí),極大簡化了運(yùn)維復(fù)雜度,降低管理成本。
支持分布式存儲(chǔ)
FISCO BCOS 2.0新增了對分布式數(shù)據(jù)存儲(chǔ)的支持,節(jié)點(diǎn)可將數(shù)據(jù)存儲(chǔ)在遠(yuǎn)端分布式系統(tǒng)中,克服了本地化數(shù)據(jù)存儲(chǔ)的諸多限制。該方案有以下優(yōu)點(diǎn):
- 支持多種存儲(chǔ)引擎,選用高可用的分布式存儲(chǔ)系統(tǒng),可以支持?jǐn)?shù)據(jù)簡便快速地?cái)U(kuò)容;
- 將計(jì)算和數(shù)據(jù)隔離,節(jié)點(diǎn)故障不會(huì)導(dǎo)致數(shù)據(jù)異常;
- 數(shù)據(jù)在遠(yuǎn)端存儲(chǔ),數(shù)據(jù)可以在更安全的隔離區(qū)存儲(chǔ),這在很多場景中非常有意義;
- 分布式存儲(chǔ)不僅支持Key-Value形式,還支持SQL方式,使得業(yè)務(wù)開發(fā)更為簡便;
- 世界狀態(tài)的存儲(chǔ)從原來的MPT存儲(chǔ)結(jié)構(gòu)轉(zhuǎn)為分布式存儲(chǔ),避免了世界狀態(tài)急劇膨脹導(dǎo)致性能下降的問題;
- 優(yōu)化了數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),更節(jié)約存儲(chǔ)空間。
并行計(jì)算模型
過去將交易打包成一個(gè)區(qū)塊,在一個(gè)區(qū)塊中交易順序串行執(zhí)行的做法,在FISCO BCOS 2.0中,會(huì)通過一套并行交易處理模型實(shí)現(xiàn)自定義交易互斥變量。 區(qū)塊執(zhí)行過程中,系統(tǒng)將會(huì)根據(jù)交易互斥變量自動(dòng)構(gòu)建交易依賴關(guān)系圖——DAG,基于DAG并行執(zhí)行交易,最好情況下性能可提升數(shù)倍(取決于CPU核數(shù))。
預(yù)編譯合約
FISCO BCOS 2.0提供預(yù)編譯合約框架,支持采用C++編寫合約,其優(yōu)勢是合約調(diào)用響應(yīng)更快,運(yùn)行速度更高,消耗資源更少,更易于并行計(jì)算,極大提升整個(gè)系統(tǒng)的效率。FISCO BCOS內(nèi)置了多個(gè)系統(tǒng)級(jí)的合約,提供準(zhǔn)入控制、權(quán)限管理、系統(tǒng)配置、CRUD式的數(shù)據(jù)存取等功能,這些功能天然集成在底層平臺(tái)里,無需手動(dòng)部署。
FISCO BCOS提供標(biāo)準(zhǔn)化接口和示例,幫助用戶進(jìn)行二次開發(fā),便于用戶編寫高性能的業(yè)務(wù)合約,并方便地部署到FISCO BCOS里運(yùn)行。預(yù)編譯合約框架兼容EVM引擎,形成了“雙引擎”架構(gòu),熟悉EVM引擎的用戶可以選擇將Solidity合約和預(yù)編譯合約結(jié)合,在滿足業(yè)務(wù)邏輯的同時(shí)獲得巨大的效率提升。
CRUD合約
FISCO BCOS 2.0新增符合CRUD接口的合約接口規(guī)范,簡化了將主流的面向SQL設(shè)計(jì)的商業(yè)應(yīng)用遷移到區(qū)塊鏈上的成本。其好處顯而易見:
- 與傳統(tǒng)業(yè)務(wù)開發(fā)模式類似,降低了合約開發(fā)學(xué)習(xí)成本;
- 合約只需關(guān)心核心邏輯,存儲(chǔ)與計(jì)算分離,方便合約升級(jí);
- CRUD底層邏輯基于預(yù)編譯合約實(shí)現(xiàn),數(shù)據(jù)存儲(chǔ)采用分布式存儲(chǔ),效率更高。
控制臺(tái)
FISCO BCOS 2.0新增控制臺(tái),作為FISCO BCOS 2.0的交互式客戶端工具。控制臺(tái)安裝簡單便捷,簡單配置后即可和鏈節(jié)點(diǎn)進(jìn)行通信,擁有豐富的命令和良好的交互體驗(yàn),用戶可以通過控制臺(tái)查詢區(qū)塊鏈狀態(tài)、讀取和修改配置、管理區(qū)塊鏈節(jié)點(diǎn)、部署并調(diào)用合約。控制臺(tái)給用戶管理、開發(fā)、運(yùn)維區(qū)塊鏈帶來了巨大的便利,降低了操作繁瑣性和使用門檻。
虛擬機(jī)
FISCO BCOS 2.0引入了最新的以太坊虛擬機(jī)版本,支持Solidity 0.5版本。同時(shí),引入了EVMC擴(kuò)展框架,支持?jǐn)U展不同虛擬機(jī)引擎。底層內(nèi)部集成支持interpreter虛擬機(jī),未來可擴(kuò)展支持WASM/JIT等虛擬機(jī)。
其他特性
除上述所列之外,FISCO BCOS 2.0持續(xù)在網(wǎng)絡(luò)傳輸模型、計(jì)算存儲(chǔ)流程等方面進(jìn)行優(yōu)化,對性能提升提供巨大幫助。在架構(gòu)方面,從存儲(chǔ)、網(wǎng)絡(luò)、計(jì)算三個(gè)角度,圍繞高可用性和高易用性進(jìn)行持續(xù)升級(jí),并基于模塊化、分層、可插拔等設(shè)計(jì)原則,持續(xù)對核心模塊進(jìn)行重塑升級(jí),保證系統(tǒng)健壯性。
FISCO BCOS的下一步
FISCO BCOS未來將持續(xù)優(yōu)化系統(tǒng)架構(gòu),提升平臺(tái)性能,增強(qiáng)用戶體驗(yàn):
- 架構(gòu)方面,將會(huì)實(shí)現(xiàn)群組架構(gòu)實(shí)現(xiàn)動(dòng)態(tài)管理,實(shí)現(xiàn)跨群組通信協(xié)議,分離網(wǎng)絡(luò)、存儲(chǔ)、計(jì)算服務(wù),實(shí)現(xiàn)微服務(wù)化的可擴(kuò)展架構(gòu);
- 性能方面,將持續(xù)進(jìn)行并行化、流水線化的升級(jí)處理,重點(diǎn)解決存儲(chǔ)、簽名驗(yàn)簽等方面的瓶頸,引入硬件加速等方式進(jìn)行提速;
- 用戶體驗(yàn)方面,將實(shí)現(xiàn)簡便的群組管理、數(shù)據(jù)管理、密鑰管理等功能,提供平臺(tái)化的區(qū)塊鏈管理方案;
- 安全和隱私保護(hù)方面,將會(huì)提供增強(qiáng)型虛擬機(jī)、MPC套件等功能,以支持各種復(fù)雜的商業(yè)落地場景。
鏈接
代碼github倉庫:https://github.com/FISCO-BCOS/FISCO-BCOS
文檔鏈接:https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/
貢獻(xiàn)方式:https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/docs/CONTRIBUTING_CN.m
總結(jié)
以上是生活随笔為你收集整理的FISCO BCOS 2.0发布:新增群组架构克服吞吐瓶颈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java开发工具和环境,你了解多少?(二
- 下一篇: Zabbix服务端的安装及使用