1. 可信區(qū)塊鏈BaaS平臺(tái)基本簡(jiǎn)介
可信區(qū)塊鏈BaaS平臺(tái)是一種幫助用戶創(chuàng)建,,管理和維護(hù),,為企業(yè)提供安全信任機(jī)制,降低開發(fā)成本,提高信任機(jī)制的平臺(tái),。它利用自身高性能,、穩(wěn)定性,、可靠性和信任隱私保護(hù)等特性使得企業(yè)之間建立良好的,,可靠的合作,降低安全風(fēng)險(xiǎn),,為多企業(yè)之間合作提供機(jī)遇,,提高企業(yè)效益。利用降低開發(fā)和使用成本,、兼顧快速部署,、方便使用等特性提高企業(yè)開發(fā)者工作效率。利用跨網(wǎng)絡(luò)及多用戶等特性讓計(jì)算資源,,平臺(tái)資源,,軟件資源得到了最大程度的共享,??尚艆^(qū)塊鏈BaaS平臺(tái)把底層的區(qū)塊鏈共識(shí)機(jī)制,,不可篡改的記賬能力及實(shí)施能力轉(zhuǎn)化為可編程,可插拔的標(biāo)準(zhǔn)化接口,,讓應(yīng)用系統(tǒng)開發(fā)及部署簡(jiǎn)單而高效,;同時(shí),利用可視化的底層監(jiān)控系統(tǒng),,對(duì)區(qū)塊鏈業(yè)務(wù)的運(yùn)營(yíng)提供支撐,,解決彈性、安全性,、性能等運(yùn)營(yíng)難題,,從而提高工作效率,解決安全憂慮,。
可信區(qū)塊鏈BaaS平臺(tái)致力于提供企業(yè)級(jí)區(qū)塊鏈基礎(chǔ)技術(shù)平臺(tái),。其具體包括區(qū)塊鏈節(jié)點(diǎn)及整鏈搭建的能力,區(qū)塊鏈應(yīng)用開發(fā)能力,,區(qū)塊應(yīng)用部署能力,,區(qū)塊鏈運(yùn)行監(jiān)控的能力。利用其區(qū)塊鏈節(jié)點(diǎn)及底層鏈搭建的能力,,部署能力,,監(jiān)控能力,加速區(qū)塊鏈在各行業(yè)落地,。
為了搭建高安全,、低成本、高效率,、高可靠,、靈活可擴(kuò)展的區(qū)塊鏈解決方案和應(yīng)用,可信區(qū)塊鏈Baas平臺(tái)設(shè)計(jì)原則應(yīng)遵循四大原則:安全可靠,、簡(jiǎn)單易用,、靈活擴(kuò)展及可視化運(yùn)維。
安全可靠:可信區(qū)塊鏈BaaS平臺(tái)具有有效的防篡改機(jī)制,,安全可靠的數(shù)據(jù)隔離機(jī)制,,利用加密、共識(shí)機(jī)制等提供完善的用戶,、密鑰,,權(quán)限管理、隔離及可靠的安全防護(hù)能力,。
簡(jiǎn)單易用:部署企業(yè)級(jí)分布式區(qū)塊鏈需要專業(yè)的區(qū)塊鏈知識(shí)及各種復(fù)雜設(shè)計(jì)和配置,,容易操作失誤??尚艆^(qū)塊鏈BaaS平臺(tái)幫助企業(yè)級(jí)用戶實(shí)現(xiàn)自動(dòng)化配置部署及應(yīng)用,,通過界面化操作來使得用戶更容易使用區(qū)塊鏈,。
靈活擴(kuò)展:可信區(qū)塊鏈BaaS平臺(tái)遵循源于開源,優(yōu)于開源,,回饋開源的原則,,設(shè)計(jì)采用抽象和可插拔模塊,積極開發(fā)和拓展區(qū)塊鏈系統(tǒng),。
可視化運(yùn)維:可信區(qū)塊鏈BaaS平臺(tái)應(yīng)該為鏈代碼和鏈上應(yīng)用提供可視化的資源監(jiān)控能力,,便于提高運(yùn)維安全管理和工作效率。
2. 可信區(qū)塊鏈BaaS平臺(tái)系統(tǒng)架構(gòu)
可信區(qū)塊鏈BaaS平臺(tái)是為企業(yè)級(jí)用戶提供高效率,、高可靠性,、安全性的平臺(tái)。我們本著簡(jiǎn)單易用,、安全可靠,、可視化運(yùn)維的設(shè)計(jì)原則,將可信區(qū)塊鏈BaaS平臺(tái)技術(shù)架構(gòu)一共分為六層,,分別為應(yīng)用層,、接口層、區(qū)塊鏈BaaS核心層,、區(qū)塊鏈網(wǎng)絡(luò)層和存儲(chǔ)層,。關(guān)鍵技術(shù)包括基于區(qū)塊鏈的身份認(rèn)證與訪問控制技術(shù)、密碼算法與安全管理技術(shù),、安全審計(jì)預(yù)警技術(shù),、區(qū)塊鏈核心引擎技術(shù)和主/側(cè)鏈多級(jí)部署技術(shù)等。
(1)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈應(yīng)用層
可信區(qū)塊鏈BaaS平臺(tái)應(yīng)用層包括物聯(lián)網(wǎng)應(yīng)用,,互聯(lián)網(wǎng)應(yīng)用,,供應(yīng)鏈金融應(yīng)用,數(shù)字版權(quán)應(yīng)用,,智慧城市應(yīng)用和智能醫(yī)療應(yīng)用等業(yè)務(wù)應(yīng)用,。可信區(qū)塊鏈BaaS平臺(tái)為各種應(yīng)用場(chǎng)景提供服務(wù),,包括賬戶安全管理,、智能合約安全檢測(cè)、創(chuàng)世塊智能配置,、智能合約可視化配置,、共識(shí)算法管理、智能合約智能化部署,、區(qū)塊鏈節(jié)點(diǎn)自動(dòng)安裝,、區(qū)塊鏈瀏覽器等功能。
(2)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈接口層
可信區(qū)塊鏈BaaS平臺(tái)接口層則除了實(shí)現(xiàn)區(qū)塊鏈安全管理的接口外,還為業(yè)務(wù)平臺(tái)提供數(shù)據(jù)上鏈,、密鑰管理,、創(chuàng)建用戶、創(chuàng)建通道,、數(shù)據(jù)加密,、數(shù)據(jù)解密,、連通性測(cè)試,、數(shù)據(jù)報(bào)表等功能。
(3)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈核心層
可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈核心層則為業(yè)務(wù)平臺(tái)提供區(qū)塊鏈層面上的核心功能,,主要包括成員管理,,如成員的認(rèn)證、注冊(cè),、授權(quán),、監(jiān)控、賬戶管理,、密鑰驗(yàn)證,、日志和審計(jì)等功能; 區(qū)塊管理,,如區(qū)塊打包,、區(qū)塊校驗(yàn)、區(qū)塊同步,、區(qū)塊存儲(chǔ)等功能,; 交易管理,如交易請(qǐng)求,、交易驗(yàn)證,、交易入塊等功能; 共識(shí)管理,,如排序服務(wù),、背書服務(wù)、可拔插共識(shí)等,,本平臺(tái)設(shè)計(jì)支持Kafla,、PBFT、DPoS等多種不同共識(shí)機(jī)制,,以適應(yīng)于不同的應(yīng)用場(chǎng)景,; 智能合約的管理,如容器支持,、合約容器,、隊(duì)列管理、鏈碼管理,、鍵碼創(chuàng)建等功能,。
(4)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈網(wǎng)絡(luò)層
可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈技術(shù)網(wǎng)絡(luò)層本質(zhì)上就是一個(gè)P2P的網(wǎng)絡(luò),,網(wǎng)絡(luò)上的資源和服務(wù)都分散在各個(gè)節(jié)點(diǎn)上,信息傳遞和服務(wù)實(shí)現(xiàn)都是直接在節(jié)點(diǎn)之間進(jìn)行,,不需要中間環(huán)節(jié)和服務(wù)器的介入,。網(wǎng)絡(luò)層涉及到的技術(shù)主要包括構(gòu)建網(wǎng)絡(luò)、傳播機(jī)制,、同步機(jī)制,、驗(yàn)證機(jī)制以及其它一些高級(jí)功能。
(5)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈存儲(chǔ)層
可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈技術(shù)數(shù)據(jù)存儲(chǔ)層則為平臺(tái)提供區(qū)塊鏈核心系統(tǒng)運(yùn)行所需的資源支撐和管理,,包括計(jì)算資源,、存儲(chǔ)資源、網(wǎng)絡(luò)資源等,,以及虛擬管理,、負(fù)載均衡、資源監(jiān)控,、公有云,、私有云和容器云等。
3. 可信區(qū)塊鏈BaaS平臺(tái)管理端功能
可信區(qū)塊鏈BaaS平臺(tái)是一種模塊化的區(qū)塊鏈架構(gòu),,是分布式記賬技術(shù)(DLT)的一種獨(dú)特的實(shí)現(xiàn),,它提供了可供企業(yè)運(yùn)用的網(wǎng)絡(luò),具備安全,、可伸縮,、加密和可執(zhí)行等特性??尚艆^(qū)塊鏈BaaS平臺(tái)管理端主要由四個(gè)層次組成,,分別為應(yīng)用層、接口層,、區(qū)塊鏈核心層,、基礎(chǔ)設(shè)施層??尚艆^(qū)塊鏈BaaS平臺(tái)管理端核心功能架構(gòu)如圖1所示,。
(1)應(yīng)用層:包括區(qū)塊鏈AVA接口、區(qū)塊鏈Python接口,、區(qū)塊鏈Node.js接口,、區(qū)塊鏈Go接口四部分。應(yīng)用層為最終用戶提供可信,、快捷,、安全的區(qū)塊鏈應(yīng)用,用戶可以使用平臺(tái)提供的資產(chǎn)鏈及應(yīng)用鏈,結(jié)合智能合約快速搭建區(qū)塊鏈應(yīng)用,。
(2)接口層:提供區(qū)塊鏈節(jié)點(diǎn)配置,、區(qū)塊鏈合約管理、區(qū)塊鏈共識(shí)配置,、區(qū)塊鏈算法管理,、編程接口API、區(qū)塊鏈監(jiān)控管理功能,。
(3) 核心層:主要分為六個(gè)層次,,區(qū)塊層的功能包括賬本管理、區(qū)塊數(shù)據(jù)管理,、交易數(shù)據(jù)管理,、區(qū)塊鏈瀏覽器,;合約層主要是進(jìn)行合約的創(chuàng)建,、啟動(dòng)、掛起,、銷毀和合約狀態(tài)查詢,;共識(shí)層主要使用了RAFT、PBFT,、SOLO,、KAFKA共識(shí);算法層包括SHA256,、SHA3,、Secp256k1、ZKP/Ring和SM2/SM3/SM4,;網(wǎng)絡(luò)層的主要功能為網(wǎng)絡(luò)管理,、P2P網(wǎng)絡(luò)、DHT,、節(jié)點(diǎn)發(fā)現(xiàn),、心跳服務(wù);數(shù)據(jù)層使用了MangoDB,、LevelDB等進(jìn)行賬本管理,。
(4)基礎(chǔ)設(shè)施層:包括網(wǎng)絡(luò)節(jié)點(diǎn)支持、存儲(chǔ)支撐,、負(fù)載均衡,、安全管理、容錯(cuò)管理及資源管理等,,為區(qū)塊鏈系統(tǒng)提供可擴(kuò)展的存儲(chǔ),、按需可購買彈性伸縮和故障自動(dòng)恢復(fù)的節(jié)點(diǎn)等環(huán)境,確保區(qū)塊鏈系統(tǒng)安全穩(wěn)定的運(yùn)行。
4. 可信區(qū)塊鏈BaaS平臺(tái)用戶端功能架構(gòu)
我們基于區(qū)塊鏈技術(shù)設(shè)計(jì)與研發(fā)了可信區(qū)塊鏈BaaS平臺(tái),,提供一套區(qū)塊鏈部署,、合約開發(fā)、實(shí)時(shí)監(jiān)控等企業(yè)級(jí)區(qū)塊鏈服務(wù)解決方案,,通過低成本的快速構(gòu)建區(qū)塊鏈基礎(chǔ)設(shè)施,,共同推動(dòng)區(qū)塊鏈應(yīng)用場(chǎng)景的落地,推動(dòng)可信互聯(lián)網(wǎng)的發(fā)展可信區(qū)塊鏈BaaS平臺(tái)用戶端系統(tǒng)架構(gòu)分為五個(gè)層面:應(yīng)用層,、核心層,、區(qū)塊鏈層和區(qū)塊鏈網(wǎng)絡(luò)層、數(shù)據(jù)層,??尚艆^(qū)塊鏈BaaS平臺(tái)用戶端系統(tǒng)架構(gòu)如圖2所示。
(1)應(yīng)用層:參與的應(yīng)用有物聯(lián)網(wǎng),、供應(yīng)鏈金融,、數(shù)字版權(quán)、智能醫(yī)療和智慧城市,。
(2)核心層:提供跨鏈融合,、多鏈并存、閃電網(wǎng)絡(luò),、隔離見證,、監(jiān)控管理、國密算法支持,、智能合約管理,、安全檢測(cè)等接口,通過標(biāo)準(zhǔn)化的接口建設(shè),,為企業(yè)級(jí)應(yīng)用提供安全保障,。
(3)區(qū)塊鏈層:提供BaaS API1,BaaS API2及BaaS API3,。其中,,BaaS API1底層鏈主要提供智能合約、賬戶管理,、地址生成,、共識(shí)機(jī)制(PoW)、P2P網(wǎng)絡(luò),、區(qū)塊數(shù)據(jù)管理,、密碼算法、EVM虛擬機(jī),、腳本引擎,、網(wǎng)絡(luò)管理,、隊(duì)列管理、節(jié)點(diǎn)管理,、狀態(tài)管理等,。BaaS API2底層鏈主要提供鏈碼管理、賬戶管理,、證書管理,、共識(shí)機(jī)制(PBFT) 、通道管理,、區(qū)塊校驗(yàn),、密碼算法、交易管理,、數(shù)據(jù)安全,、排序服務(wù)、Docker容器,、節(jié)點(diǎn)管理及事件管理等,。BaaS API3底層鏈主要提供智能合約、賬戶管理,、區(qū)塊管理,、共識(shí)機(jī)制(DPo'S),、WASM沙盒,、BP管理、密碼算法,、TOKEN模型,、資源管理、賬本管理,、節(jié)點(diǎn)管理,、跨鏈通信及Pool管理等。
(4) 數(shù)據(jù)層:包括虛擬化層和物理層,。虛擬化層提供虛擬管理,、負(fù)載均衡、資源載控,;物理層提供公有云,、私有云、容器云等,。
5. 可信區(qū)塊鏈BaaS平臺(tái)部署架構(gòu)
可信區(qū)塊鏈BaaS平臺(tái)網(wǎng)絡(luò)部署架構(gòu)一共分為六層,,從底層到頂層分別為用戶層、接入層,、主鏈網(wǎng)絡(luò)層,、側(cè)鏈網(wǎng)絡(luò)層,、信息服務(wù)層和數(shù)據(jù)存儲(chǔ)層。通過六層的網(wǎng)絡(luò)部署架構(gòu),,本項(xiàng)目將可信區(qū)塊鏈BaaS平臺(tái)業(yè)務(wù)與區(qū)塊鏈的主側(cè)鏈網(wǎng)絡(luò)相結(jié)合,,實(shí)現(xiàn)了多用戶、多節(jié)點(diǎn)接入平臺(tái),??尚艆^(qū)塊鏈BaaS平臺(tái)網(wǎng)絡(luò)部署架構(gòu)圖如圖3所示。
(1)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈用戶層
可信區(qū)塊鏈BaaS平臺(tái)部署架構(gòu)應(yīng)用層包括:物聯(lián)網(wǎng),,互聯(lián)網(wǎng),,供應(yīng)鏈金融,數(shù)字版權(quán),,智慧城市,,智能醫(yī)療等。
(2)可信區(qū)塊鏈BaaS平臺(tái)區(qū)塊鏈接口層
可信區(qū)塊鏈BaaS平臺(tái)部署架構(gòu)接入層包括身份認(rèn)證,、安全策略,、角色管理、訪問控制,、安全監(jiān)控和可視化配置六大模塊,,實(shí)現(xiàn)用戶與業(yè)務(wù)信息資源的訪問交互,也保證了B aaS平臺(tái)業(yè)務(wù)信息資源的安全和用戶操作的可追蹤性和授權(quán)管理,。
(3)可信區(qū)塊鏈BaaS平臺(tái)主/側(cè)鏈網(wǎng)絡(luò)層
可信區(qū)塊鏈BaaS平臺(tái)支持不同的鏈來保存不同的業(yè)務(wù)數(shù)據(jù),,保證每條鏈的數(shù)據(jù)盡量比較簡(jiǎn)單,同時(shí)還要考慮多個(gè)鏈之間如何按照標(biāo)準(zhǔn)的協(xié)議能夠以安全的方式進(jìn)行通信,,以及進(jìn)行多個(gè)鏈關(guān)聯(lián)數(shù)據(jù)查詢,。實(shí)現(xiàn)側(cè)鏈與現(xiàn)有主鏈進(jìn)行融合,支持主鏈管理與創(chuàng)建子鏈,。通過子鏈的方式,,可以快速創(chuàng)建孵化區(qū)塊鏈網(wǎng)絡(luò)。
可信區(qū)塊鏈BaaS平臺(tái)主/側(cè)鏈主要制定 3個(gè)核心的合約,,所有的跨鏈交易都會(huì)被廣播到路由節(jié)點(diǎn)網(wǎng)絡(luò),,路由節(jié)點(diǎn)會(huì)從主鏈查詢交易的合法性判斷是否轉(zhuǎn)發(fā):
(4)可信區(qū)塊鏈BaaS平臺(tái)數(shù)據(jù)存儲(chǔ)層
數(shù)據(jù)存儲(chǔ)層是可信區(qū)塊鏈BaaS平臺(tái)網(wǎng)絡(luò)的最后一層,,負(fù)責(zé)對(duì)業(yè)務(wù)信息資源進(jìn)行分布式安全存儲(chǔ),,并提供上層可以調(diào)用的接口,以便用戶對(duì)數(shù)據(jù)的訪問,。
6. 可信區(qū)塊鏈BaaS平臺(tái)典型應(yīng)用界面