版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
GB/TXXXX-XXXX
目次
前言..................................................................................II
引言.................................................................................III
1范圍.................................................................................1
2規(guī)范性引用文件.......................................................................1
3術(shù)語和定義...........................................................................1
4縮略語...............................................................................2
5技術(shù)架構(gòu).............................................................................2
6非功能性要求.........................................................................7
附錄A(資料性)區(qū)塊鏈中間件接口描述參考...............................................9
附錄B(資料性)區(qū)塊鏈中間件應(yīng)用方法..................................................10
參考文獻..............................................................................12
I
GB/TXXXX-XXXX
區(qū)塊鏈和分布式記賬技術(shù)應(yīng)用程序接口中間件技術(shù)指南
1范圍
本文件確立了區(qū)塊鏈中間件的技術(shù)架構(gòu)和非功能性要求,提供了區(qū)塊鏈中間件的技術(shù)指南。
本文件適用于:
a)指導(dǎo)區(qū)塊鏈中間件系統(tǒng)的開發(fā);
b)規(guī)范基于區(qū)塊鏈中間件技術(shù)的業(yè)務(wù)應(yīng)用建設(shè)過程;
c)為區(qū)塊鏈中間件系統(tǒng)評測和技術(shù)選型提供參考。
2規(guī)范性引用文件
下列文件對于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。
凡是不注日期日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。
GB/T22239-2019信息安全技術(shù):網(wǎng)絡(luò)安全等級保護基本要求
GB/T33847-2017信息技術(shù)中間件術(shù)語
GB/TXXXXX-XXXX區(qū)塊鏈和分布式記賬技術(shù)術(shù)語
3術(shù)語和定義
GB/T33847-2017、GB/TXXXXX-XXXX中界定的以及下列術(shù)語和定義適用于本文件。為了便于使用,
以下重復(fù)列出了GB/T33847-2017、GB/TXXXXX-XXXX中的一些術(shù)語和定義。
3.1
區(qū)塊鏈blockchain
使用密碼技術(shù)鏈接將共識確認(rèn)過的區(qū)塊按順序追加形成的分布式賬本。
[來源:GB/TXXXXX-XXXX,3.6]
3.2
中間件middleware
位于系統(tǒng)軟件之上,用于支持分布式應(yīng)用軟件,連接不同軟件實體的支撐軟件。
[來源:GB/T33847-2017,2.1]
3.3
智能合約smartcontract
以數(shù)字形式定義的能夠自動執(zhí)行條款的合約。
[來源:GB/TXXXXX-XXXX,3.72]
3.4
共識機制consensusmechanism
1
GB/TXXXXX—XXXX
在分布式節(jié)點間達(dá)成共識的規(guī)則和程序。
[來源:GB/TXXXXX-XXXX,3.12]
3.5
功能組件functionalcomponent
參與活動所需的,可實現(xiàn)的一個功能性基本構(gòu)件塊。
[來源:GB/T32399-2015,3.2.3]
3.6
角色role
一組服務(wù)于共同目的的活動的集合。
[來源:GB/T32399-2015,3.2.7]
4縮略語
下列縮略語適用于本文件。
API:應(yīng)用程序接口(ApplicationProgrammingInterface)
QPS:每秒查詢率(QueryPerSecond)
TPS:每秒處理事務(wù)數(shù)(TransactionPerSecond)
5技術(shù)架構(gòu)
5.1總體架構(gòu)
區(qū)塊鏈中間件屬于區(qū)塊鏈系統(tǒng)架構(gòu)的服務(wù)接口層,位于應(yīng)用層和基礎(chǔ)設(shè)施層之間,為應(yīng)用層的業(yè)務(wù)
應(yīng)用系統(tǒng)提供統(tǒng)一的工具、組件與服務(wù),并簡化業(yè)務(wù)應(yīng)用系統(tǒng)對區(qū)塊鏈網(wǎng)絡(luò)的訪問和操作。
區(qū)塊鏈中間件包括適配層、服務(wù)層、工具層,各層的功能組件構(gòu)成如下。
a)適配層具備中間件數(shù)據(jù)庫,提供鏈上系統(tǒng)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)索引、緩存和關(guān)聯(lián)等能力;中間件產(chǎn)
生的數(shù)據(jù)保存在中間件數(shù)據(jù)庫中。
b)適配層具備對不同數(shù)據(jù)庫訪問協(xié)議的適配,以屏蔽不同數(shù)據(jù)庫之間的差異,提供統(tǒng)一的接口對
數(shù)據(jù)進行訪問與操作。
c)服務(wù)層具備管理、信息查詢、監(jiān)控服務(wù)等組件:
1)管理組件提供管理節(jié)點、賬戶、證書、私鑰、應(yīng)用接入、智能合約等功能;
2)信息查詢組件提供數(shù)據(jù)信息檢索和查詢的功能;
3)監(jiān)控服務(wù)組件提供監(jiān)控區(qū)塊鏈節(jié)點狀態(tài)、服務(wù)器資源、中間件接口調(diào)用信息、交易異常信
息、系統(tǒng)錯誤日志信息、操作記錄、異常告警等功能。
d)服務(wù)層具備對不同區(qū)塊鏈網(wǎng)絡(luò)接口協(xié)議的適配,通過對區(qū)塊鏈網(wǎng)絡(luò)核心功能層功能組件的封裝,
提供統(tǒng)一的接口組件為業(yè)務(wù)應(yīng)用系統(tǒng)與區(qū)塊鏈進行交互的功能,涵蓋合約的驗證、部署、交易
發(fā)送、信息查詢等。
e)工具層具備安裝部署組件,提供滿足不同環(huán)境的執(zhí)行腳本或者安裝工具,提供命令行或者圖形
界面調(diào)試運行環(huán)境。
f)工具層具備可視化展示工具,提供后臺系統(tǒng)展示相關(guān)的交易、統(tǒng)計、監(jiān)控、日志等數(shù)據(jù)。
2
GB/TXXXX-XXXX
區(qū)塊鏈中間件技術(shù)架構(gòu)見圖1。區(qū)塊鏈中間件接口描述參考見附錄A。區(qū)塊鏈中間件應(yīng)用方法見附
錄B。
應(yīng)用層:業(yè)務(wù)應(yīng)用系統(tǒng)
服務(wù)接口層:區(qū)塊鏈中間件
工具層
安裝部署組件
可視化展示工具
安裝工具配置工具調(diào)試工具
服務(wù)層
監(jiān)控服務(wù)組件
管理組件信息查詢組件
狀態(tài)監(jiān)控
節(jié)點管理合約管理基本信息查詢
交易審計
應(yīng)用管理權(quán)限管理
交易信息查詢
日志管理
身份管理全局設(shè)置
綜合信息查詢
異常告警
適配層
區(qū)塊鏈接口協(xié)議適配數(shù)據(jù)訪問協(xié)議適配中間件數(shù)據(jù)庫
基礎(chǔ)設(shè)施層與核心功能層:區(qū)塊鏈網(wǎng)絡(luò)
說明:
a)區(qū)塊鏈中間件位于區(qū)塊鏈和分布式記賬技術(shù)架構(gòu)中的服務(wù)接口層;
b)區(qū)塊鏈網(wǎng)絡(luò)位于區(qū)塊鏈和分布式記賬技術(shù)架構(gòu)中的基礎(chǔ)設(shè)施層與核心功能層。
圖1區(qū)塊鏈中間件技術(shù)架構(gòu)
5.2適配層功能要求
5.2.1接口協(xié)議適配
接口協(xié)議適配,用于區(qū)塊鏈中間件接入?yún)^(qū)塊鏈網(wǎng)絡(luò),宜:
a)提供統(tǒng)一的適配層交互訪問接口,供服務(wù)層調(diào)用;
3
GB/TXXXXX—XXXX
b)提供統(tǒng)一的區(qū)塊鏈網(wǎng)絡(luò)交互訪問接口,供適配層調(diào)用。
5.2.2數(shù)據(jù)訪問協(xié)議適配
數(shù)據(jù)訪問協(xié)議適配,用于區(qū)塊鏈中間件接入中間件數(shù)據(jù)庫,宜:
a)支持主流的關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫等,實現(xiàn)對不同類型中間件數(shù)據(jù)庫的
訪問;
b)支持使用者自行搭建數(shù)據(jù)庫或使用云服務(wù)數(shù)據(jù)庫;
c)提供中間件數(shù)據(jù)庫讀寫操作的功能,具備將數(shù)據(jù)解析為標(biāo)準(zhǔn)化結(jié)構(gòu)數(shù)據(jù)的能力。
5.2.3中間件數(shù)據(jù)庫
中間件數(shù)據(jù)庫用于保存網(wǎng)絡(luò)信息、管理信息和監(jiān)控信息等,宜具備以下要素:
a)網(wǎng)絡(luò)信息包括業(yè)務(wù)系統(tǒng)、網(wǎng)絡(luò)緩存、索引等數(shù)據(jù);
b)管理信息包括節(jié)點信息、智能合約、權(quán)限、系統(tǒng)設(shè)置等數(shù)據(jù);
c)監(jiān)控信息包括系統(tǒng)資源、性能、統(tǒng)計分析、日志等數(shù)據(jù)。
5.3服務(wù)層功能要求
5.3.1通則
區(qū)塊鏈中間件服務(wù)層核心功能,宜具備以下要素:
a)對適配層提供的數(shù)據(jù)進行解析、轉(zhuǎn)換、加工,形成標(biāo)準(zhǔn)化結(jié)構(gòu)數(shù)據(jù);
b)處理分布式環(huán)境下的數(shù)據(jù)傳輸問題;
c)對頻繁請求數(shù)據(jù)的快速訪問進行數(shù)據(jù)緩存;
d)定義中間件與多個接入的應(yīng)用系統(tǒng)之間的關(guān)聯(lián)關(guān)系;
e)在數(shù)據(jù)流轉(zhuǎn)的各個環(huán)節(jié)保證數(shù)據(jù)的完整性與一致性;
f)提供同步或異步、實時或非實時等訪問方式;
g)提供通用的且符合標(biāo)準(zhǔn)規(guī)范的功能接口。
5.3.2管理組件
概述
管理組件包括節(jié)點管理、合約管理、應(yīng)用管理、權(quán)限管理、身份管理、全局設(shè)置等。
節(jié)點管理
節(jié)點管理功能宜包括:
a)管理區(qū)塊鏈節(jié)點,如節(jié)點加入、節(jié)點退出、節(jié)點刪除等;
b)瀏覽區(qū)塊鏈節(jié)點狀態(tài),如節(jié)點列表、節(jié)點所在IP地址等。
合約管理
合約管理功能宜包括:
a)智能合約上傳:開發(fā)者線下將應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯編寫成智能合約,編譯成功后上傳;
b)智能合約驗證:對合約進行靜態(tài)驗證等,以進行后續(xù)操作;
c)智能合約裝載:部署智能合約,獲得合約的區(qū)塊鏈地址和合約的接口調(diào)用方式;
d)智能合約瀏覽:查詢智能合約列表、當(dāng)前的版本以及當(dāng)前狀態(tài)、區(qū)塊鏈地址等;
e)智能合約凍結(jié):凍結(jié)不再使用的智能合約;
4
GB/TXXXX-XXXX
f)智能合約升級:智能合約升級或回滾。
應(yīng)用管理
應(yīng)用管理功能用于維護應(yīng)用接入信息,宜包括:
a)管理應(yīng)用,如創(chuàng)建應(yīng)用、修改應(yīng)用、移除應(yīng)用等;
b)瀏覽應(yīng)用,應(yīng)用列表查詢等。
權(quán)限管理
權(quán)限管理功能宜包括:
a)訪問控制權(quán)限管理:業(yè)務(wù)系統(tǒng)調(diào)用中間件接口提供權(quán)限控制管理能力,為應(yīng)用系統(tǒng)分配app_id
(應(yīng)用唯一標(biāo)識)、app_key(公鑰:相當(dāng)于賬號)、app_secret(私鑰:相當(dāng)于密碼)等;中
間件接口的調(diào)用需進行簽名與驗簽;
b)鏈用戶管理:維護區(qū)塊鏈鏈用戶密鑰信息;
c)登錄用戶管理:維護應(yīng)用服務(wù)中間件管理系統(tǒng)登錄賬號信息;
d)登錄角色管理:維護系統(tǒng)登錄用戶的角色信息,用于對管理工具的操作權(quán)限、接口調(diào)用權(quán)限
的控制,可劃分為如下用戶角色:
1)普通操作角色:具有中間件管理平臺的瀏覽查詢權(quán)限,例如綜合信息的查詢;
2)開發(fā)角色:具有中間件接口的調(diào)用權(quán)限,例如智能合約的調(diào)用;
3)普通管理員角色:具有業(yè)務(wù)系統(tǒng)使用范圍內(nèi)的操作權(quán)限,例如節(jié)點管理、合約管理等;
4)超級管理員角色:擁有管理平臺的所有操作權(quán)限,例如部署合約、凍結(jié)合約等。
身份管理
區(qū)塊鏈網(wǎng)絡(luò)采用基于數(shù)字證書的用戶身份認(rèn)證方式,身份管理功能宜包括:
a)數(shù)字證書導(dǎo)入,包括對應(yīng)節(jié)點的鏈證書、機構(gòu)證書、節(jié)點證書等;
b)查看數(shù)字證書詳情,包括用戶身份信息、用戶公鑰信息、CA數(shù)字簽名及有效期等;
c)下載數(shù)字證書。
全局設(shè)置
全局設(shè)置功能宜包括:
a)中間件接口調(diào)用頻率設(shè)置;
b)用戶數(shù)據(jù)上鏈(交易)總量限制設(shè)置;
c)上鏈數(shù)據(jù)檢查規(guī)則設(shè)置;
d)異常告警類的配置。
5.3.3信息查詢組件
概述
業(yè)務(wù)數(shù)據(jù)經(jīng)過中間件上鏈后保存在區(qū)塊鏈上,業(yè)務(wù)應(yīng)用系統(tǒng)可調(diào)用中間件信息查詢組件獲取業(yè)務(wù)信
息與狀態(tài)。中間件可提供同步機制,分析區(qū)塊鏈上的數(shù)據(jù),建立一套高效的索引(映射關(guān)系)。業(yè)務(wù)應(yīng)
用系統(tǒng)調(diào)用中間件的查詢接口,中間件通過索引可檢索所需的業(yè)務(wù)數(shù)據(jù)。
信息查詢組件主要包含基本信息查詢、交易信息查詢、綜合信息查詢等功能。
基本信息查詢
5
GB/TXXXXX—XXXX
基本信息查詢結(jié)果宜包括:
a)區(qū)塊鏈的信息:當(dāng)前區(qū)塊高度、交易總量、區(qū)塊數(shù)據(jù)等信息;
b)智能合約信息:智能合約的事件、合約地址、構(gòu)造函數(shù)、執(zhí)行函數(shù)等信息;
c)節(jié)點信息:節(jié)點列表與節(jié)點狀態(tài)等信息。
交易信息查詢
交易信息查詢結(jié)果宜包括:
a)交易hash地址;
b)交易數(shù)據(jù):上鏈業(yè)務(wù)數(shù)據(jù);
c)交易時間:數(shù)據(jù)上鏈時間;
d)交易狀態(tài)。
綜合信息查詢
綜合信息查詢結(jié)果宜包括除基本信息和交易信息以外的其他業(yè)務(wù)信息。
5.3.4監(jiān)控服務(wù)組件
概述
區(qū)塊鏈中間件應(yīng)提供監(jiān)控管理工具,服務(wù)組件包括狀態(tài)監(jiān)管、交易審計、日志管理、異常告警等,
宜提供可視化展示方式。
狀態(tài)監(jiān)控
狀態(tài)監(jiān)控組件的監(jiān)控內(nèi)容宜包括:
a)區(qū)塊鏈節(jié)點的加入、退出等狀態(tài);
b)智能合約的生命周期狀態(tài);
c)服務(wù)器資源狀態(tài)。
交易審計
交易審計組件用于對業(yè)務(wù)數(shù)據(jù)上鏈的過程信息進行跟蹤審計,內(nèi)容宜包括:
a)數(shù)據(jù)上鏈前檢查;
b)數(shù)據(jù)上鏈時間;
c)數(shù)據(jù)上鏈總量;
d)數(shù)據(jù)上鏈吞吐量;
e)數(shù)據(jù)上鏈異常、失敗、重試等信息。
日志管理
日志管理組件用于問題追蹤、預(yù)警與深入分析,支持對日志級別(包括警告、信息、錯誤等)進行
靈活調(diào)整,內(nèi)容宜包括:
a)系統(tǒng)運行信息;
b)管理操作信息;
c)數(shù)據(jù)處理信息;
d)中間件接口調(diào)用信息。
異常告警
6
GB/TXXXX-XXXX
異常告警組件用于對狀態(tài)監(jiān)管、交易審計、日志管理中出現(xiàn)的異常信息進行告警,宜:
a)采用實時的方式(如郵件、短信、語音電話等)通知系統(tǒng)管理員,并對異常信息進行記錄;
b)支持異常告警信息的分類、自定義通知方式等。
5.4工具層功能要求
5.4.1可視化展示工具
區(qū)塊鏈中間件宜提供可視化展示工具,內(nèi)容宜包括:
a)統(tǒng)計數(shù)據(jù):節(jié)點、區(qū)塊、交易、合約等數(shù)據(jù)的多維度統(tǒng)計分析結(jié)果;
b)交易數(shù)據(jù):交易詳細(xì)信息的瀏覽查詢結(jié)果;
c)監(jiān)控數(shù)據(jù):系統(tǒng)資源、性能、接口調(diào)用、異常信息的查詢分析結(jié)果;
d)日志數(shù)據(jù):系統(tǒng)運行、管理操作、數(shù)據(jù)處理、中間件接口調(diào)用等信息的查詢分析結(jié)果;
e)訪問記錄:管理員操作使用的行為記錄。
5.4.2安裝工具
安裝工具宜提供快速部署安裝方法。
5.4.3配置工具
配置工具提供快速便捷接入?yún)^(qū)塊鏈網(wǎng)絡(luò)和訪問中間件數(shù)據(jù)庫的方法。
5.4.4調(diào)試工具
調(diào)試工具提供區(qū)塊鏈中間件的調(diào)試方法,快速定位問題。
6非功能性要求
6.1可靠性
區(qū)塊鏈中間件應(yīng)符合可靠性要求,宜具備以下要素:
a)所使用的物理設(shè)備及環(huán)境有完善的監(jiān)控體系,保證7×24小時穩(wěn)定運行,系統(tǒng)具備高可用性,
宜達(dá)到GB/T22239-2019規(guī)定的第三級基本要求;
b)采取措施保障應(yīng)用服務(wù)中間件的安全,預(yù)防非授權(quán)的訪問或破壞,對于非授權(quán)的訪問或破壞應(yīng)
具有防護措施和應(yīng)急預(yù)案;
c)提供集群特性,避免單點失效;
d)具備冗余備份和存儲擴展的能力,當(dāng)中間件出現(xiàn)故障時,保證區(qū)塊鏈與應(yīng)用系統(tǒng)數(shù)據(jù)的完整性。
6.2可維護性
區(qū)塊鏈中間件應(yīng)符合可維護性要求,宜具備以下要素:
a)提供便捷的安裝部署方式;
b)提供應(yīng)用接入定制開發(fā)接口以適應(yīng)不斷變化的業(yè)務(wù)新需求;
c)提供必要的日志記錄;
d)提供用于故障排查、系統(tǒng)監(jiān)控及管理的工具。
6.3兼容性
7
GB/TXXXXX—XXXX
區(qū)塊鏈中間件應(yīng)符合兼容性要求,宜具備以下要素:
a)在不同區(qū)塊鏈網(wǎng)絡(luò)上提供的應(yīng)用開發(fā)接口保持一致性;
b)兼容多種主流的服務(wù)器操作系統(tǒng);
c)兼容舊版本。
6.4性能要求
區(qū)塊鏈中間件應(yīng)具備相關(guān)效率指標(biāo),宜具備以下要素:
a)TPS:區(qū)塊鏈中間件每秒可處理的事務(wù)數(shù);
b)延遲:業(yè)務(wù)應(yīng)用提交事務(wù)到數(shù)據(jù)上鏈的時間;
c)QPS:中間件信息查詢接口的每秒響應(yīng)請求數(shù);
d)容量:中間件數(shù)據(jù)庫存儲各類數(shù)據(jù)的承載能力。
8
GB/TXXXX-XXXX
(資料性)
區(qū)塊鏈中間件接口描述參考
A.1數(shù)據(jù)上鏈交易接口
數(shù)據(jù)上鏈交易接口用于業(yè)務(wù)應(yīng)用系統(tǒng)的數(shù)據(jù)信息上鏈,接口描述見表A.1。
表A.1數(shù)據(jù)上鏈交易接口描述
類別參數(shù)名稱描述
接口URL地址-http://ip:port/middleware/transaction/write
調(diào)用方法-POST
數(shù)據(jù)簽名相關(guān)參數(shù)如app_id;app_key;app_sign簽名串等
業(yè)務(wù)id號應(yīng)用系統(tǒng)業(yè)務(wù)的唯一標(biāo)識符
輸入?yún)?shù)合約地址智能合約裝載成功后得到的地址
調(diào)用方法名類型為string
方法參數(shù)類型為json格式的字符串
Code狀態(tài)碼
返回參數(shù)Message提示信息
Data返回的數(shù)據(jù),包含交易id號等
A.2交易查詢接口
交易查詢接口用于業(yè)務(wù)應(yīng)用系統(tǒng)查詢交易信息,接口描述見表A.2。
表A.2交易查詢接口描述
類別參數(shù)名稱描述
接口URL地址-http://ip:port/middleware/transaction/get
調(diào)用方法-POST
數(shù)據(jù)簽名相關(guān)參數(shù)如app_id;app_key;app_sign簽名串等
輸入?yún)?shù)
交易id號應(yīng)用系統(tǒng)業(yè)務(wù)的唯一標(biāo)識符
Code狀態(tài)碼
Message提示信息
返回參數(shù)返回的數(shù)據(jù),包含交易id號、合約地址、方法名、方法
Data參數(shù)、用戶id、當(dāng)前狀態(tài)、交易hash、交易返回原文信息、
交易回執(zhí)狀態(tài)、提交時間、上鏈時間等
9
GB/TXXXXX—XXXX
(資料性)
區(qū)塊鏈中間件應(yīng)用方法
B.1中間件部署方式
區(qū)塊鏈中間件應(yīng)支持多種方式部署,包括物理機部署、云部署和容器化部署等。
B.2應(yīng)用系統(tǒng)接入方式
應(yīng)用系統(tǒng)接入?yún)^(qū)塊鏈中間件的方式包括:
a)當(dāng)完全使用中間件系統(tǒng)時,可基于中間件接口進行二次開發(fā),適用于不具備區(qū)塊鏈原生接口開
發(fā)能力的開發(fā)人員;
b)當(dāng)部分使用中間件組件時,可使用中間件的節(jié)點管理、監(jiān)控服務(wù)組件用于管理監(jiān)控,業(yè)務(wù)應(yīng)用
系統(tǒng)調(diào)用區(qū)塊鏈原生接口進行開發(fā),適用于具備區(qū)塊鏈原生接口開發(fā)能力的開發(fā)人員;
c)當(dāng)選擇性使用中間件組件時,可與區(qū)塊鏈原生接口搭配使用,適用于掌握區(qū)塊鏈底層開發(fā)技術(shù)
的開發(fā)人員。
B.3智能合約管理
區(qū)塊鏈中間件安裝部署完畢后,可通過管理組件配置完成區(qū)塊鏈網(wǎng)絡(luò)的接入,由業(yè)務(wù)應(yīng)用系統(tǒng)進行
接口調(diào)用。
業(yè)務(wù)應(yīng)用系統(tǒng)在接入中間件前,開發(fā)人員應(yīng)根據(jù)接入的區(qū)塊鏈網(wǎng)絡(luò),自行開發(fā)包含區(qū)塊鏈應(yīng)用業(yè)務(wù)
邏輯的智能合約。智能合約管理是中間件的核心組件。在智能合約編譯成功后,可以通過中間件管理組
件完成上傳,安裝與部署。業(yè)務(wù)應(yīng)用系統(tǒng)可通過中間件接口執(zhí)行交易事務(wù)處理、數(shù)據(jù)上鏈和數(shù)據(jù)查詢等
操作。智能合約可通過管理工具進行管理,通過調(diào)試工具解決實際部署中出現(xiàn)的問題。
智能合約的接入流程包括智能合約的設(shè)計開發(fā)、智能合約的編譯部署、智能合約的觸發(fā)執(zhí)行、智能
合約的維護治理,接入流程見圖B.1。
智能合約的設(shè)計開發(fā)
智能合約的編譯部署
智能合約的觸發(fā)執(zhí)行
智能合約的維護治理
說明:
a)智能合約的設(shè)計開發(fā):基于業(yè)務(wù)需求完成智能合約的功能設(shè)計,開發(fā)人員根據(jù)接入的區(qū)塊鏈網(wǎng)絡(luò)類型編寫調(diào)
試智能合約代碼;
10
GB/TXXXX-XXXX
b)智能合約的編譯部署:將智能合約代碼轉(zhuǎn)換成運行環(huán)境可執(zhí)行格式,通過中間件管理工具上傳,由中間件部
署到智能合約運行時環(huán)境中;
c)智能合約的觸發(fā)執(zhí)行:中間件管理組件獲取合約的區(qū)塊鏈地址和合約接口可調(diào)用的方法與參數(shù);滿足條件的
事件通過中間件推送到區(qū)塊鏈網(wǎng)絡(luò)執(zhí)行,將事件和執(zhí)行結(jié)果計入?yún)^(qū)塊鏈;
d)智能合約的維護治理:智能合約安裝部署過程中,若存在失敗的情況,節(jié)點管理組件中展示失敗的詳情,管
理用戶根據(jù)失敗詳情修改合約后再次上傳;智能合約成功部署上線后,因修正錯誤,提升性能等需求,可以
進行智能合約的升級、凍結(jié)、廢止等操作。
圖B.1智能合約操作流程
B.4數(shù)據(jù)上鏈流程
數(shù)據(jù)上鏈前,宜通過節(jié)點管理組件完成智能合約的部署,并給業(yè)務(wù)系統(tǒng)分配賬號以及對應(yīng)賬號的訪
問權(quán)限。數(shù)據(jù)上鏈流程包括應(yīng)用端接口調(diào)用、中間件驗簽、上鏈信息核查、上鏈信息緩存、加入上鏈任
務(wù)隊列、調(diào)用中間件智能合約接口、接口回調(diào),數(shù)據(jù)上鏈流程見圖B.2。
業(yè)務(wù)應(yīng)用
中間件驗簽上鏈信息核查
接口調(diào)用
業(yè)務(wù)應(yīng)用
調(diào)用中間件上鏈信息緩存
接口回調(diào)
智能合約接口加入上鏈任務(wù)隊列
說明:
a)業(yè)務(wù)應(yīng)用接口調(diào)用:將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成中間件數(shù)據(jù)格式,調(diào)用中間件上鏈交易接口;
b)中間件驗簽:對中間件API接口進行簽名驗簽;
c)上鏈信息核查:檢查上鏈信息是否符合要求,檢查上鏈交易是否達(dá)到了閾值;
d)上鏈信息緩存:上鏈信息保存在中間件數(shù)據(jù)庫中;
e)加入上鏈任務(wù)隊列:將上鏈請求轉(zhuǎn)化為任務(wù)隊列;
f)調(diào)用中間件智能合約接口:通過執(zhí)行智能合約方法,將數(shù)據(jù)寫入到區(qū)塊鏈中;
g)接口回調(diào):中間件返回交易狀態(tài)信息。
圖B.2數(shù)據(jù)上鏈流程
11
GB/TXXXXX—XXXX
參考文獻
[1]GB/T22239-2019信息安全技術(shù)網(wǎng)絡(luò)安全等級保護基本要求
[2]GB/T30275-2013信息安全技術(shù)鑒別與授權(quán)認(rèn)證中間件框架與接口規(guī)范
[3]GB/T33847-2017信息技術(shù)中間件術(shù)語
[4]GB/T36960-2018信息安全技術(shù)鑒別與授權(quán)訪問控制中間件框架與接口
[5]GB/TXXXXX-XXXX區(qū)塊鏈和分布式記賬技術(shù)術(shù)語
_________________________________
12
ICS35.240
CCSL70
中華人民共和國國家標(biāo)準(zhǔn)
GB/TXXXXX—XXXX
區(qū)塊鏈和分布式記賬技術(shù)應(yīng)用程序接口
中間件技術(shù)指南
Blockchainanddistributedledgertechnology—
Applicationinterface-Technicalguidelinesofmiddleware
(報批稿)
GB/TXXXX-XXXX
區(qū)塊鏈和分布式記賬技術(shù)應(yīng)用程序接口中間件技術(shù)指南
1范圍
本文件確立了區(qū)塊鏈中間件的技術(shù)架構(gòu)和非功能性要求,提供了區(qū)塊鏈中間件的技術(shù)指南。
本文件適用于:
a)指導(dǎo)區(qū)塊鏈中間件系統(tǒng)的開發(fā);
b)規(guī)范基于區(qū)塊鏈中間件技術(shù)的業(yè)務(wù)應(yīng)用建設(shè)過程;
c)為區(qū)塊鏈中間件系統(tǒng)評測和技術(shù)選型提供參考。
2規(guī)范性引用文件
下列文件對于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。
凡是不注日期日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。
GB/T22239-2019信息安全技術(shù):網(wǎng)絡(luò)安全等級保護基本要求
GB/T33847-2017信息技術(shù)中間件術(shù)語
GB/TXXXXX-XXXX區(qū)塊鏈和分布式記賬技術(shù)術(shù)語
3術(shù)語和定義
GB/T33847-2017、GB/TXXXXX-XXXX中界定的以及下列術(shù)語和定義適用于本文件。為了便于使用,
以下重復(fù)列出了GB/T33847-2017、GB/TXXXXX-XXXX中的一些術(shù)語和定義。
3.1
區(qū)塊鏈blockchain
使用密碼技術(shù)鏈接將共識確認(rèn)過的區(qū)塊按順序追加形成的分布式賬本。
[來源:GB/TXXXXX-XXXX,3.6]
3.2
中間件middleware
位于系統(tǒng)軟件之上,用于支持分布式應(yīng)用軟件,連接不同軟件實體的支撐軟件。
[來源:GB/T33847-2017,2.1]
3.3
智能合約smartcontract
以數(shù)字形式定義的能夠自動執(zhí)行條款的合約。
[來源:GB/TXXXXX-XXXX,3.72]
3.4
共識機制consensusmechanism
1
GB/TXXXXX—XXXX
在分布式節(jié)點間達(dá)成共識的規(guī)則和程序。
[來源:GB/TXXXXX-XXXX,3.12]
3.5
功能組件functionalcomponent
參與活動所需的,可實現(xiàn)的一個功能性基本構(gòu)件塊。
[來源:GB/T32399-2015,3.2.3]
3.6
角色role
一組服務(wù)于共同目的的活動的集合。
[來源:GB/T32399-2015,3.2.7]
4縮略語
下列縮略語適用于本文件。
API:應(yīng)用程序接口(ApplicationProgrammingInterface)
QPS:每秒查詢率(QueryPerSecond)
TPS:每秒處理事務(wù)數(shù)(TransactionPerSecond)
5技術(shù)架構(gòu)
5.1總體架構(gòu)
區(qū)塊鏈中間件屬于區(qū)塊鏈系統(tǒng)架構(gòu)的服務(wù)接口層,位于應(yīng)用層和基礎(chǔ)設(shè)施層之間,為應(yīng)用層的業(yè)務(wù)
應(yīng)用系統(tǒng)提供統(tǒng)一的工具、組件與服務(wù),并簡化業(yè)務(wù)應(yīng)用系統(tǒng)對區(qū)塊鏈網(wǎng)絡(luò)的訪問和操作。
區(qū)塊鏈中間件包括適配層、服務(wù)層、工具層,各層的功能組件構(gòu)成如下。
a)適配層具備中間件數(shù)據(jù)庫,提供鏈上系統(tǒng)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)索引、緩存和關(guān)聯(lián)等能力;中間件產(chǎn)
生的數(shù)據(jù)保存在中間件數(shù)據(jù)庫中。
b)適配層具備對不同數(shù)據(jù)庫訪問協(xié)議的適配,以屏蔽不同數(shù)據(jù)庫之間的差異,提供統(tǒng)一的接口對
數(shù)據(jù)進行訪問與操作。
c)服務(wù)層具備管理、信息查詢、監(jiān)控服務(wù)等組件:
1)管理組件提供管理節(jié)點、賬戶、證書、私鑰、應(yīng)用接入、智能合約等功能;
2)信息查詢組件提供數(shù)據(jù)信息檢索和查詢的功能;
3)監(jiān)控服務(wù)組件提供監(jiān)控區(qū)塊鏈節(jié)點狀態(tài)、服務(wù)器資源、中間件接口調(diào)用信息、交易異常信
息、系統(tǒng)錯誤日志信息、操作記錄、異常告警等功能。
d)服務(wù)層具備對不同區(qū)塊鏈網(wǎng)絡(luò)接口協(xié)議的適配,通過對區(qū)塊鏈網(wǎng)絡(luò)核心功能層功能組件的封裝,
提供統(tǒng)一的接口組件為業(yè)務(wù)應(yīng)用系統(tǒng)與區(qū)塊鏈進行交互的功能,涵蓋合約的驗證、部署、交易
發(fā)送、信息查詢等。
e)工具層具備安裝部署組件,提供滿足不同環(huán)境的執(zhí)行腳本或者安裝工具,提供命令行或者圖形
界面調(diào)試運行環(huán)境。
f)工具層具備可視化展示工具,提供后臺系統(tǒng)展示相關(guān)的交易、統(tǒng)計、監(jiān)控、日志等數(shù)據(jù)。
2
GB/TXXXX-XXXX
區(qū)塊鏈中間件技術(shù)架構(gòu)見圖1。區(qū)塊鏈中間件接口描述參考見附錄A。區(qū)塊鏈中間件應(yīng)用方法見附
錄B。
應(yīng)用層:業(yè)務(wù)應(yīng)用系統(tǒng)
服務(wù)接口層:區(qū)塊鏈中間件
工具層
安裝部署組件
可視化展示工具
安裝工具配置工具調(diào)試工具
服務(wù)層
監(jiān)控服務(wù)組件
管理組件信息查詢組件
狀態(tài)監(jiān)控
節(jié)點管理合約管理基本信息查詢
交易審計
應(yīng)用管理權(quán)限管理
交易信息查詢
日志管理
身份管理全局設(shè)置
綜合信息查詢
異常告警
適配層
區(qū)塊鏈接口協(xié)議適配數(shù)據(jù)訪問協(xié)議適配中間件數(shù)據(jù)庫
基礎(chǔ)設(shè)施層與核心功能層:區(qū)塊鏈網(wǎng)絡(luò)
說明:
a)區(qū)塊鏈中間件位于區(qū)塊鏈和分布式記賬技術(shù)架構(gòu)中的服務(wù)接口層;
b)區(qū)塊鏈網(wǎng)絡(luò)位于區(qū)塊鏈和分布式記賬技術(shù)架構(gòu)中的基礎(chǔ)設(shè)施層與核心功能層。
圖1區(qū)塊鏈中間件技術(shù)架構(gòu)
5.2適配層功能要求
5.2.1接口協(xié)議適配
接口協(xié)議適配,用于區(qū)塊鏈中間件接入?yún)^(qū)塊鏈網(wǎng)絡(luò),宜:
a)提供統(tǒng)一的適配層交互訪問接口,供服務(wù)層調(diào)用;
3
GB/TXXXXX—XXXX
b)提供統(tǒng)一的區(qū)塊鏈網(wǎng)絡(luò)交互訪問接口,供適配層調(diào)用。
5.2.2數(shù)據(jù)訪問協(xié)議適配
數(shù)據(jù)訪問協(xié)議適配,用于區(qū)塊鏈中間件接入中間件數(shù)據(jù)庫,宜:
a)支持主流的關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫等,實現(xiàn)對不同類型中間件數(shù)據(jù)庫的
訪問;
b)支持使用者自行搭建數(shù)據(jù)庫或使用云服務(wù)數(shù)據(jù)庫;
c)提供中間件數(shù)據(jù)庫讀寫操作的功能,具備將數(shù)據(jù)解析為標(biāo)準(zhǔn)化結(jié)構(gòu)數(shù)據(jù)的能力。
5.2.3中間件數(shù)據(jù)庫
中間件數(shù)據(jù)庫用于保存網(wǎng)絡(luò)信息、管理信息和監(jiān)控信息等,宜具備以下要素:
a)網(wǎng)絡(luò)信息包括業(yè)務(wù)系統(tǒng)、網(wǎng)絡(luò)緩存、索引等數(shù)據(jù);
b)管理信息包括節(jié)點信息、智能合約、權(quán)限、系統(tǒng)設(shè)置等數(shù)據(jù);
c)監(jiān)控信息包括系統(tǒng)資源、性能、統(tǒng)計分析、日志等數(shù)據(jù)。
5.3服務(wù)層功能要求
5.3.1通則
區(qū)塊鏈中間件服務(wù)層核心功能,宜具備以下要素:
a)對適配層提供的數(shù)據(jù)進行解析、轉(zhuǎn)換、加工,形成標(biāo)準(zhǔn)化結(jié)構(gòu)數(shù)據(jù);
b)處理分布式環(huán)境下的數(shù)據(jù)傳輸問題;
c)對頻繁請求數(shù)據(jù)的快速訪問進行數(shù)據(jù)緩存;
d)定義中間件與多個接入的應(yīng)用系統(tǒng)之間的關(guān)聯(lián)關(guān)系;
e)在數(shù)據(jù)流轉(zhuǎn)的各個環(huán)節(jié)保證數(shù)據(jù)的完整性與一致性;
f)提供同步或異步、實時或非實時等訪問方式;
g)提供通用的且符合標(biāo)準(zhǔn)規(guī)范的功能接口。
5.3.2管理組件
概述
管理組件包括節(jié)點管理、合約管理、應(yīng)用管理、權(quán)限管理、身份管理、全局設(shè)置等。
節(jié)點管理
節(jié)點管理功能宜包括:
a)管理區(qū)塊鏈節(jié)點,如節(jié)點加入、節(jié)點退出、節(jié)點刪除等;
b)瀏覽區(qū)塊鏈節(jié)點狀態(tài),如節(jié)點列表、節(jié)點所在IP地址等。
合約管理
合約管理功能宜包括:
a)智能合約上傳:開發(fā)者線下將應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯編寫成智能合約,編譯成功后上傳;
b)智能合約驗證:對合約進行靜態(tài)驗證等,以進行后續(xù)操作;
c)智能合約裝載:部署智能合約,獲得合約的區(qū)塊鏈地址和合約的接口調(diào)用方式;
d)智能合約瀏覽:查詢智能合約列表、當(dāng)前的版本以及當(dāng)前狀態(tài)、區(qū)塊鏈地址等;
e)智能合約凍結(jié):凍結(jié)不再使用的智能合約;
4
GB/TXXXX-XXXX
f)智能合約升級:智能合約升級或回滾。
應(yīng)用管理
應(yīng)用管理功能用于維護應(yīng)用接入信息,宜包括:
a)管理應(yīng)用,如創(chuàng)建應(yīng)用、修改應(yīng)用、移除應(yīng)用等;
b)瀏覽應(yīng)用,應(yīng)用列表查詢等。
權(quán)限管理
權(quán)限管理功能宜包括:
a)訪問控制權(quán)限管理:業(yè)務(wù)系統(tǒng)調(diào)用中間件接口提供權(quán)限控制管理能力,為應(yīng)用系統(tǒng)分配app_id
(應(yīng)用唯一標(biāo)識)、app_key(公鑰:相當(dāng)于賬號)、app_secret(私鑰:相當(dāng)于密碼)等;中
間件接口的調(diào)用需進行簽名與驗簽;
b)鏈用戶管理:維護區(qū)塊鏈鏈用戶密鑰信息;
c)登錄用戶管理:維護應(yīng)用服務(wù)中間件管理系統(tǒng)登錄賬號信息;
d)登錄角色管理:維護系統(tǒng)登錄用戶的角色信息,用于對管理工具的操作權(quán)限、接口調(diào)用權(quán)限
的控制,可劃分為如下用戶角色:
1)普通操作角色:具有中間件管理平臺的瀏覽查詢權(quán)限,例如綜合信息的查詢;
2)開發(fā)角色:具有中間件接口的調(diào)用權(quán)限,例如智能合約的調(diào)用;
3)普通管理員角色:具有業(yè)務(wù)系統(tǒng)使用范圍內(nèi)的操作權(quán)限,例如節(jié)點管理、合約管理等;
4)超級管理員角色:擁有管理平臺的所有操作權(quán)限,例如部署合約、凍結(jié)合約等。
身份管理
區(qū)塊鏈網(wǎng)絡(luò)采用基于數(shù)字證書的用戶身份認(rèn)證方式,身份管理功能宜包括:
a)數(shù)字證書導(dǎo)入,包括對應(yīng)節(jié)點的鏈證書、機構(gòu)證書、節(jié)點證書等;
b)查看數(shù)字證書詳情,包括用戶身份信息、用戶公鑰信息、CA數(shù)字簽名及有效期等;
c)下載數(shù)字證書。
全局設(shè)置
全局設(shè)置功能宜包括:
a)中間件接口調(diào)用頻率設(shè)置;
b)用戶數(shù)據(jù)上鏈(交易)總量限制設(shè)置;
c)上鏈數(shù)據(jù)檢查規(guī)則設(shè)置;
d)異常告警類的配置。
5.3.3信息查詢組件
概述
業(yè)務(wù)數(shù)據(jù)經(jīng)過中間件上鏈后保存在區(qū)塊鏈上,業(yè)務(wù)應(yīng)用系統(tǒng)可調(diào)用中間件信息查詢組件獲取業(yè)務(wù)信
息與狀態(tài)。中間件可提供同步機制,分析區(qū)塊鏈上的數(shù)據(jù),建立一套高效的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《100 以內(nèi)的加法和減法(二)-不進位加》(說課稿)-2024-2025學(xué)年二年級上冊數(shù)學(xué)人教版
- 13《人物描寫一組》第二課時《巧用多種方法寫“活”身邊人物》說課稿-2023-2024學(xué)年五年級語文下冊統(tǒng)編版
- Revision Being a good guest Period 2(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 2024秋九年級語文上冊 第五單元 18《懷疑與學(xué)問》說課稿 新人教版
- Unit5 What will you do this weekend?Lesson25(說課稿)-2023-2024學(xué)年人教精通版英語四年級下冊
- 5 國家機構(gòu)有哪些 第三課時 《國家機關(guān)的產(chǎn)生》 說課稿-2024-2025學(xué)年道德與法治六年級上冊統(tǒng)編版
- 《 關(guān)注新詞新語讓語言鮮活生動》說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 1~5的認(rèn)識和加減法《第幾》(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- Module 9 Unit 1 It's winter.(說課稿)-2024-2025學(xué)年外研版(一起)英語二年級上冊
- 1《水到哪里去了》說課稿-2023-2024學(xué)年科學(xué)五年級下冊冀人版
- 西安經(jīng)濟技術(shù)開發(fā)區(qū)管委會招聘筆試真題2024
- 2025屆浙江省高三歷史選考總復(fù)習(xí)模擬測試(八)歷史試題(含答案)
- 六年級2025寒假特色作業(yè)
- 2025年江蘇轄區(qū)農(nóng)村商業(yè)銀行招聘筆試參考題庫含答案解析
- 人教版六年級數(shù)學(xué)下冊完整版教案及反思
- 少兒財商教育講座課件
- (八省聯(lián)考)云南省2025年普通高校招生適應(yīng)性測試 物理試卷(含答案解析)
- 2025藥劑科工作人員工作計劃
- 春節(jié)節(jié)后安全教育培訓(xùn)
- 2025年新高考數(shù)學(xué)一輪復(fù)習(xí)第5章重難點突破02向量中的隱圓問題(五大題型)(學(xué)生版+解析)
- 水土保持方案投標(biāo)文件技術(shù)部分
評論
0/150
提交評論