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