一文讀懂FISCO BCOS的聯(lián)盟鏈開源生態(tài)
FISCO BCOS介紹
FISCO BCOS平臺是金融區(qū)塊鏈合作聯(lián)盟(深圳)(以下簡稱:金鏈盟)開源工作組以金融業(yè)務實踐為參考樣本,在BCOS開源平臺基礎上進行模塊升級與功能重塑,深度定制的安全可控、適用于金融行業(yè)且完全開源的區(qū)塊鏈底層平臺。
金鏈盟開源工作組獲得金鏈盟成員機構的廣泛認可,并由專注于區(qū)塊鏈底層技術研發(fā)的成員機構及開發(fā)者牽頭開展工作。其中首批成員包括以下單位(排名不分先后):博彥科技、華為、深證通、神州數(shù)碼、四方精創(chuàng)、騰訊、微眾銀行、越秀金科。
FISCO BCOS平臺基于現(xiàn)有的BCOS開源項目進行開發(fā),聚焦于金融行業(yè)的分布式商業(yè)需求,從業(yè)務適當性、性能、安全、正常、技術可行性、運維與治理、成本等多個維度進行綜合考慮,打造金融版本的區(qū)塊鏈解決方案。
基于FISCO BCOS的金融區(qū)塊鏈底層平臺,可以快速構建“區(qū)塊鏈+金融"應用場景,對金融行業(yè)大有裨益:
對銀行機構,可以降低清結算成本、提高中后臺運營效率、提升流程自動化程度;
對非銀金融機構,可以提升權益登記、信息存證的權威性、削減交易對手方風險、解決數(shù)據(jù)追蹤與信息防偽問題、降低審核審計的操作成本等;
對金融監(jiān)管機構,為監(jiān)管機構提供了一致且易于審計的數(shù)據(jù),通過對機構間區(qū)塊鏈的數(shù)據(jù)分析,能夠比傳統(tǒng)審計流程更快更精確地監(jiān)管金融業(yè)務,并極大加強反洗錢力度;
在跨境金融場景中,有助于實現(xiàn)跨境金融機構間的賬本共享,降低合作銀行間對賬與清結算成本及爭議摩擦成本,從而提高跨境業(yè)務處理速度及效率。
FISCO BCOS已于2017年正式對外開源。截止到2020年5月,匯聚了超1000家企業(yè)及機構、逾萬名社區(qū)成員參與共建共治,發(fā)展成為最大最活躍的國產開源聯(lián)盟鏈生態(tài)圈。
應用項目覆蓋文化版權、司法服務、政務服務、物聯(lián)網(wǎng)、金融、智慧社區(qū)等領域。如今,基于FISCO BCOS方便的全面的開發(fā)工具,已經成為一個更開放的開源生態(tài)。
FISCO BCOS設計思路
FISCO BCOS以聯(lián)盟鏈的實際需求為出發(fā)點,兼顧性能、安全、可運維性、易用性、可擴展性,支持多種SDK,并提供了可視化的中間件工具,大幅縮短建鏈、開發(fā)、部署應用的時間。此外,F(xiàn)ISCO BCOS通過信通院可信區(qū)塊鏈評測功能、性能兩項評測,單鏈TPS可達兩萬。
FISCO BCOS在2.0中,提出“一體兩翼多引擎”架構,實現(xiàn)系統(tǒng)吞吐能力的橫向擴展,大幅提升性能,在安全性、可運維性、易用性、可擴展性上具備行業(yè)領先優(yōu)勢。
一體指代群組架構,支持快速組建聯(lián)盟和建鏈,讓企業(yè)建鏈像建聊天群一樣便利。根據(jù)業(yè)務場景和業(yè)務關系,企業(yè)可選擇不同群組,形成多個不同賬本的數(shù)據(jù)共享和共識,從而快速豐富業(yè)務場景、擴大業(yè)務規(guī)模,且大幅簡化鏈的部署和運維成本。
兩翼指的是支持并行計算模型和分布式存儲,二者為群組架構帶來更好的擴展性。前者改變了區(qū)塊中按交易順序串行執(zhí)行的做法,基于DAG(有向無環(huán)圖)并行執(zhí)行交易,大幅提升性能;后者支持企業(yè)(節(jié)點)將數(shù)據(jù)存儲在遠端分布式系統(tǒng)中,克服了本地化數(shù)據(jù)存儲的諸多限制。
多引擎是一系列功能特性的總括,比如預編譯合約能夠突破EVM的性能瓶頸,實現(xiàn)高性能合約;控制臺可以讓用戶快速掌握區(qū)塊鏈使用技巧等。
FISCO BCOS的核心部分
FISCO BCOS的核心模塊包括以下部分:
共識機制:可插拔的共識機制,支持PBFT、Raft和rPBFT共識算法,交易確認時延低、吞吐量高,并具有最終一致性。其中PBFT和rPBFT可解決拜占庭問題,安全性更高。
存儲:世界狀態(tài)的存儲從原來的MPT存儲結構轉為分布式存儲,避免了世界狀態(tài)急劇膨脹導致性能下降的問題;引入可插拔的存儲引擎,支持LevelDB、RocksDB、MySQL等多種后端存儲,支持數(shù)據(jù)簡便快速擴容的同時,將計算與數(shù)據(jù)隔離,降低了節(jié)點故障對節(jié)點數(shù)據(jù)的影響。
網(wǎng)絡:支持網(wǎng)絡壓縮功能,并基于負載均衡的思想實現(xiàn)了良好的分布式網(wǎng)絡分發(fā)機制,最大化降低帶寬開銷。
性能提升策略
為提升系統(tǒng)性能,F(xiàn)ISCO BCOS從提升交易執(zhí)行效率和并發(fā)兩個方面優(yōu)化了交易執(zhí)行,使得交易處理性能達到萬級以上。
基于C++的Precompiled合約:區(qū)塊鏈底層內置C++語言編寫的Precompiled合約,執(zhí)行效率更高。
交易并行執(zhí)行:基于DAG算法根據(jù)交易間互斥關系構建區(qū)塊內交易執(zhí)行流,最大化并行執(zhí)行區(qū)塊內的交易。
交易生命周期的異步并行處理:共識、同步、落盤等各個環(huán)節(jié)的異步化以及并行處理。
FISCO BCOS安全解決方案
考慮到聯(lián)盟鏈的高安全性需求,除了節(jié)點之間、節(jié)點與客戶端之間通信采用TLS安全協(xié)議外,F(xiàn)ISCO BCOS還實現(xiàn)了一整套安全解決方案:
網(wǎng)絡準入機制:限制節(jié)點加入、退出聯(lián)盟鏈,可將指定群組的作惡節(jié)點從群組中刪除,保障了系統(tǒng)安全性。
黑白名單機制:每個群組僅可接收相應群組的消息,保證群組間網(wǎng)絡通信的隔離性;CA黑名單機制可及時與作惡節(jié)點斷開網(wǎng)絡連接,保障了系統(tǒng)安全。
權限管理機制:基于分布式存儲權限控制機制,靈活、細粒度地控制外部賬戶部署合約和創(chuàng)建、插入、刪除和更新用戶表的權限。
支持國密算法:支持國密加密、簽名算法和國密通信協(xié)議。
落盤加密方案:支持加密節(jié)點落盤數(shù)據(jù),保障鏈上數(shù)據(jù)的機密性。
密鑰管理方案:在落盤加密方案的基礎上,采用KeyManager服務管理節(jié)點密鑰,安全性更強。
同態(tài)加密、群環(huán)簽名:鏈上提供了同態(tài)加密、群環(huán)簽名接口,用于滿足更多的業(yè)務需求。
FISCO BCOS的開發(fā)部署和運維
開發(fā)部署工具
FISCO BCOS引入開發(fā)部署工具、交互式控制臺、區(qū)塊鏈瀏覽器等工具來提升系統(tǒng)的易用性,大幅縮短建鏈、部署應用的時間。
包含:
基于JavaSDK的交互式的命令行工具console
區(qū)塊鏈瀏覽器
為了便于不同語言開發(fā)者快速開發(fā)應用,F(xiàn)ISCO BCOS同時支持JavaSDK、Node.jsSDK、PythonSDK和GoSDK
運維工具
聯(lián)盟鏈系統(tǒng)中,區(qū)塊鏈的運維至關重要,F(xiàn)ISCO BCOS提供了一整套運維部署工具,并引入了合約命名服務、數(shù)據(jù)歸檔和遷移、合約生命周期管理等工具來提升運維效率。
運維部署工具:部署、管理和監(jiān)控多機構多群組聯(lián)盟鏈的便捷工具,支持擴容節(jié)點、擴容新群組等多種操作。
合約命名服務:建立合約地址到合約名和合約版本的映射關系,方便調用者通過記憶簡單的合約名來實現(xiàn)對鏈上合約的調用。
數(shù)據(jù)歸檔、遷移和導出功能:提供數(shù)據(jù)導出組件,支持鏈上數(shù)據(jù)歸檔、遷移和導出,增加了鏈上數(shù)據(jù)的可維護性,降低了運維復雜度。
合約生命周期管理:鏈上提供合約生命周期管理功能,便于鏈管理員對鏈上合約進行管理。
社區(qū)開源開發(fā)工具
依托龐大的開源生態(tài),社區(qū)內眾伙伴秉承“來自開發(fā)者,用于開發(fā)者”的共建理念,在FISCO BCOS底層平臺之上,自主研發(fā)多個趁手開發(fā)工具并回饋給社區(qū),從不同業(yè)務層面需求上降低區(qū)塊鏈應用開發(fā)難度和成本。以下為部分列舉:
區(qū)塊鏈中間件平臺WeBASE:面向多種對象,如開發(fā)者、運營者,并根據(jù)不同的場景,包括開發(fā)、調試、部署、審計等,打造豐富的功能組件和實用工具,提供友好的、可視化的操作環(huán)境。
分布式身份解決方案WeIdentity:基于區(qū)塊鏈的分布式多中心的技術解決方案,提供分布式實體身份標識及管理、可信數(shù)據(jù)交換協(xié)議等一系列的基礎層與應用接口,可實現(xiàn)實體對象(人或物)數(shù)據(jù)的安全授權與交換。
分布式事件驅動架構WeEvent:實現(xiàn)了可信、可靠、高效的跨機構、跨平臺事件通知機制。在不改變已有商業(yè)系統(tǒng)的開發(fā)語言、接入?yún)f(xié)議的情況下,實現(xiàn)跨機構、跨平臺的事件通知與處理。
跨鏈協(xié)作方案WeCross:支持跨鏈事務交易,滿足跨鏈交易的原子性,對跨鏈進行治理,可支持多方協(xié)作管理,避免單點風險。
場景式隱私保護解決方案WeDPR:針對隱匿支付、匿名投票、匿名競拍和選擇性披露等應用方案,提供即時可用場景式隱私保護高效解決方案,助力各行業(yè)合法合規(guī)地探索數(shù)據(jù)相關業(yè)務。
區(qū)塊鏈數(shù)據(jù)治理組件解決方案:穩(wěn)定、高效、安全的區(qū)塊鏈數(shù)據(jù)治理組件解決方案,分別從底層數(shù)據(jù)存儲層、智能合約數(shù)據(jù)解析層和應用層三個方面,提供了區(qū)塊鏈數(shù)據(jù)挖掘、裁剪、擴容、可信存儲、抽取、分析、審計、對賬、監(jiān)管等數(shù)據(jù)治理方面的關鍵能力。具體組建包含WeBankBlockchain-Data數(shù)據(jù)治理通用組件:Data-Stash數(shù)據(jù)倉庫組件、Data-Export數(shù)據(jù)導出組件、Data-Reconcile數(shù)據(jù)對賬組件。
區(qū)塊鏈多方協(xié)作治理組件解決方案:可無縫適配FISCO BCOS的區(qū)塊鏈治理組件解決方案。首批開源的四個組件分別從私鑰丟失重置、合約權限細粒度管控、私鑰和證書的全生命周期管控等方面著手,提供了可部署的智能合約代碼、易于使用的SDK和可參考的落地實踐Demo等交付物。單獨的治理組建名稱為WeBankBlockchain-Governance多方治理協(xié)作組件:Governance-Account賬戶治理組件、Governance-Authority權限治理組件、Governance-Key私鑰管理組件、Governance-Cert證書管理組件。
區(qū)塊鏈應用開發(fā)組件解決方案:一套開放、輕量的開發(fā)組件集,覆蓋智能合約的開發(fā)、調試、應用開發(fā)等環(huán)節(jié),包含了Solidity智能合約開發(fā)工具庫、智能合約Gradle編譯插件、應用開發(fā)腳手架。具體包含WeBankBlockchain-SmartDev區(qū)塊鏈應用開發(fā)工具:SmartDev-Contract智能合約庫組件、SmartDev-SCGP合約編譯插件、SmartDev-Scaffold應用開發(fā)腳手架。
ChainIDE:提供智能合約云端開發(fā)工具,幫助開發(fā)者節(jié)約邊際成本,加速推送區(qū)塊鏈應用落地。
FISCO BCOS區(qū)塊鏈工具箱:與WeBase/Remix/VSCode/ChainIDE等IDE協(xié)同工作,提升開發(fā)體驗與開發(fā)效率。
AnsibleforFISCO BCOS自動化生成企業(yè)級部署文件:本項目由為區(qū)塊鏈開源項目FISCO-BCOS提供了自動化生成企業(yè)級配置文件的ansibleplaybook,可以在30秒內(除下載時間)生成配置,極大簡化了部署難度,避免了手工配置容易發(fā)生的錯誤。
其他工具還包含Truora可信預言機服務、Liquid智能合約編程語言軟件、WeEvent基于區(qū)塊鏈的分布式事件驅動架構等。
你可能感興趣的文章
-
盤點全球區(qū)塊鏈數(shù)字貨幣交易所前50排名
這篇文章主要介紹了盤點全球區(qū)塊鏈數(shù)字貨幣交易所前50排名的相關資料,希望這篇關于全球區(qū)塊鏈交易所排名的文章,讓更多的投資者了解這前五十名交易平臺,下面一起來看看都…
2021-10-14 -
區(qū)塊鏈交易ID是什么意思?區(qū)塊鏈交易ID通俗易懂解釋
這篇文章主要介紹了區(qū)塊鏈交易ID是什么意思?區(qū)塊鏈交易ID通俗易懂解釋的相關資料,希望這篇關于區(qū)塊鏈交易ID通俗易懂解釋的文章,能夠幫助各位投資者對區(qū)塊鏈交易ID這一概…
2021-10-14 -
區(qū)塊鏈入門知識整理
區(qū)塊鏈由一個個區(qū)塊(block)組成。區(qū)塊很像數(shù)據(jù)庫的記錄,每次寫入數(shù)據(jù),就是創(chuàng)建一個區(qū)塊…
2021-10-03 -
區(qū)塊鏈掃盲:炒幣做空是什么意思?炒幣做空要注意什么?
這篇文章主要介紹了炒幣做空是什么意思?炒幣做空要注意什么?的相關資料,希望這篇關于一文讀懂炒幣做空、做多的文章,能夠幫助各位投資者歲炒幣做空的這一概念有一個更加全…
2021-09-30 -
區(qū)塊鏈NFT是什么意思?區(qū)塊鏈NFT核心價值分析
這篇文章主要介紹了區(qū)塊鏈NFT是什么意思?區(qū)塊鏈NFT核心價值分析的相關資料,希望篇關于區(qū)塊鏈NFT核心價值的分析能夠幫助各位投資者更加全面透徹的了解區(qū)塊鏈NFT這一概念,…
2021-09-26 -
區(qū)塊鏈側鏈和跨鏈區(qū)別究竟是什么?
這篇文章主要介紹了區(qū)塊鏈側鏈和跨鏈區(qū)別究竟是什么的相關資料,希望這篇關于區(qū)塊鏈跨鏈和側鏈技術的文章,能夠幫助各位投資者,更加全面深入的了解這兩個概念,下面一起來…
2021-09-10 -
一文讀懂IPFS區(qū)塊鏈,IPFS區(qū)塊鏈是什么意思?
這篇文章主要介紹了一文讀懂IPFS區(qū)塊鏈,IPFS區(qū)塊鏈是什么意思?的相關資料,希望這篇一文讀懂IPFS的文章,能夠幫助各位投資者,更加全面快速的了解IPFS區(qū)塊鏈這一概念,下面…
2021-09-06 -
區(qū)塊鏈節(jié)點投票是什么意思?通俗解釋節(jié)點投票
這篇文章主要介紹了區(qū)塊鏈節(jié)點投票是什么意思?通俗解釋節(jié)點投票的相關資料,希望這篇通俗解釋節(jié)點投票,能夠幫助各位投資者,更加全面快速的了解區(qū)塊鏈節(jié)點投票這一概念,…
2021-09-03 -
區(qū)塊鏈騙局有哪些?提防區(qū)塊鏈中的七種騙局
這篇文章主要介紹了區(qū)塊鏈騙局有哪些?提防區(qū)塊鏈中的七種騙局的相關資料,當下,“區(qū)塊鏈”概念很火,區(qū)塊鏈騙局也隨之而來,不少夢想一夜暴富的人,懵里懵懂就成為“韭菜…
2021-08-31 -
區(qū)塊鏈錢包有哪些?區(qū)塊鏈十大錢包優(yōu)缺點
這篇文章主要介紹了區(qū)塊鏈錢包有哪些?區(qū)塊鏈十大錢包優(yōu)缺點的相關資料,錢包就是存儲和使用數(shù)字貨幣的工具,一個幣對應一個錢包。用來存儲幣種,或者“交易”幣種。還不太…
2021-08-27