區(qū)塊鏈和分布式記賬技術 應用程序接口 中間件技術指南_第1頁
區(qū)塊鏈和分布式記賬技術 應用程序接口 中間件技術指南_第2頁
區(qū)塊鏈和分布式記賬技術 應用程序接口 中間件技術指南_第3頁
區(qū)塊鏈和分布式記賬技術 應用程序接口 中間件技術指南_第4頁
區(qū)塊鏈和分布式記賬技術 應用程序接口 中間件技術指南_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

GB/TXXXX-XXXX

目次

前言..................................................................................II

引言.................................................................................III

1范圍.................................................................................1

2規(guī)范性引用文件.......................................................................1

3術語和定義...........................................................................1

4縮略語...............................................................................2

5技術架構.............................................................................2

6非功能性要求.........................................................................7

附錄A(資料性)區(qū)塊鏈中間件接口描述參考...............................................9

附錄B(資料性)區(qū)塊鏈中間件應用方法..................................................10

參考文獻..............................................................................12

I

GB/TXXXX-XXXX

區(qū)塊鏈和分布式記賬技術應用程序接口中間件技術指南

1范圍

本文件確立了區(qū)塊鏈中間件的技術架構和非功能性要求,提供了區(qū)塊鏈中間件的技術指南。

本文件適用于:

a)指導區(qū)塊鏈中間件系統(tǒng)的開發(fā);

b)規(guī)范基于區(qū)塊鏈中間件技術的業(yè)務應用建設過程;

c)為區(qū)塊鏈中間件系統(tǒng)評測和技術選型提供參考。

2規(guī)范性引用文件

下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。

凡是不注日期日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T22239-2019信息安全技術:網(wǎng)絡安全等級保護基本要求

GB/T33847-2017信息技術中間件術語

GB/TXXXXX-XXXX區(qū)塊鏈和分布式記賬技術術語

3術語和定義

GB/T33847-2017、GB/TXXXXX-XXXX中界定的以及下列術語和定義適用于本文件。為了便于使用,

以下重復列出了GB/T33847-2017、GB/TXXXXX-XXXX中的一些術語和定義。

3.1

區(qū)塊鏈blockchain

使用密碼技術鏈接將共識確認過的區(qū)塊按順序追加形成的分布式賬本。

[來源:GB/TXXXXX-XXXX,3.6]

3.2

中間件middleware

位于系統(tǒng)軟件之上,用于支持分布式應用軟件,連接不同軟件實體的支撐軟件。

[來源:GB/T33847-2017,2.1]

3.3

智能合約smartcontract

以數(shù)字形式定義的能夠自動執(zhí)行條款的合約。

[來源:GB/TXXXXX-XXXX,3.72]

3.4

共識機制consensusmechanism

1

GB/TXXXXX—XXXX

在分布式節(jié)點間達成共識的規(guī)則和程序。

[來源:GB/TXXXXX-XXXX,3.12]

3.5

功能組件functionalcomponent

參與活動所需的,可實現(xiàn)的一個功能性基本構件塊。

[來源:GB/T32399-2015,3.2.3]

3.6

角色role

一組服務于共同目的的活動的集合。

[來源:GB/T32399-2015,3.2.7]

4縮略語

下列縮略語適用于本文件。

API:應用程序接口(ApplicationProgrammingInterface)

QPS:每秒查詢率(QueryPerSecond)

TPS:每秒處理事務數(shù)(TransactionPerSecond)

5技術架構

5.1總體架構

區(qū)塊鏈中間件屬于區(qū)塊鏈系統(tǒng)架構的服務接口層,位于應用層和基礎設施層之間,為應用層的業(yè)務

應用系統(tǒng)提供統(tǒng)一的工具、組件與服務,并簡化業(yè)務應用系統(tǒng)對區(qū)塊鏈網(wǎng)絡的訪問和操作。

區(qū)塊鏈中間件包括適配層、服務層、工具層,各層的功能組件構成如下。

a)適配層具備中間件數(shù)據(jù)庫,提供鏈上系統(tǒng)數(shù)據(jù)和業(yè)務數(shù)據(jù)索引、緩存和關聯(lián)等能力;中間件產(chǎn)

生的數(shù)據(jù)保存在中間件數(shù)據(jù)庫中。

b)適配層具備對不同數(shù)據(jù)庫訪問協(xié)議的適配,以屏蔽不同數(shù)據(jù)庫之間的差異,提供統(tǒng)一的接口對

數(shù)據(jù)進行訪問與操作。

c)服務層具備管理、信息查詢、監(jiān)控服務等組件:

1)管理組件提供管理節(jié)點、賬戶、證書、私鑰、應用接入、智能合約等功能;

2)信息查詢組件提供數(shù)據(jù)信息檢索和查詢的功能;

3)監(jiān)控服務組件提供監(jiān)控區(qū)塊鏈節(jié)點狀態(tài)、服務器資源、中間件接口調用信息、交易異常信

息、系統(tǒng)錯誤日志信息、操作記錄、異常告警等功能。

d)服務層具備對不同區(qū)塊鏈網(wǎng)絡接口協(xié)議的適配,通過對區(qū)塊鏈網(wǎng)絡核心功能層功能組件的封裝,

提供統(tǒng)一的接口組件為業(yè)務應用系統(tǒng)與區(qū)塊鏈進行交互的功能,涵蓋合約的驗證、部署、交易

發(fā)送、信息查詢等。

e)工具層具備安裝部署組件,提供滿足不同環(huán)境的執(zhí)行腳本或者安裝工具,提供命令行或者圖形

界面調試運行環(huán)境。

f)工具層具備可視化展示工具,提供后臺系統(tǒng)展示相關的交易、統(tǒng)計、監(jiān)控、日志等數(shù)據(jù)。

2

GB/TXXXX-XXXX

區(qū)塊鏈中間件技術架構見圖1。區(qū)塊鏈中間件接口描述參考見附錄A。區(qū)塊鏈中間件應用方法見附

錄B。

應用層:業(yè)務應用系統(tǒng)

服務接口層:區(qū)塊鏈中間件

工具層

安裝部署組件

可視化展示工具

安裝工具配置工具調試工具

服務層

監(jiān)控服務組件

管理組件信息查詢組件

狀態(tài)監(jiān)控

節(jié)點管理合約管理基本信息查詢

交易審計

應用管理權限管理

交易信息查詢

日志管理

身份管理全局設置

綜合信息查詢

異常告警

適配層

區(qū)塊鏈接口協(xié)議適配數(shù)據(jù)訪問協(xié)議適配中間件數(shù)據(jù)庫

基礎設施層與核心功能層:區(qū)塊鏈網(wǎng)絡

說明:

a)區(qū)塊鏈中間件位于區(qū)塊鏈和分布式記賬技術架構中的服務接口層;

b)區(qū)塊鏈網(wǎng)絡位于區(qū)塊鏈和分布式記賬技術架構中的基礎設施層與核心功能層。

圖1區(qū)塊鏈中間件技術架構

5.2適配層功能要求

5.2.1接口協(xié)議適配

接口協(xié)議適配,用于區(qū)塊鏈中間件接入?yún)^(qū)塊鏈網(wǎng)絡,宜:

a)提供統(tǒng)一的適配層交互訪問接口,供服務層調用;

3

GB/TXXXXX—XXXX

b)提供統(tǒng)一的區(qū)塊鏈網(wǎng)絡交互訪問接口,供適配層調用。

5.2.2數(shù)據(jù)訪問協(xié)議適配

數(shù)據(jù)訪問協(xié)議適配,用于區(qū)塊鏈中間件接入中間件數(shù)據(jù)庫,宜:

a)支持主流的關系型數(shù)據(jù)庫、非關系型數(shù)據(jù)庫、內存數(shù)據(jù)庫等,實現(xiàn)對不同類型中間件數(shù)據(jù)庫的

訪問;

b)支持使用者自行搭建數(shù)據(jù)庫或使用云服務數(shù)據(jù)庫;

c)提供中間件數(shù)據(jù)庫讀寫操作的功能,具備將數(shù)據(jù)解析為標準化結構數(shù)據(jù)的能力。

5.2.3中間件數(shù)據(jù)庫

中間件數(shù)據(jù)庫用于保存網(wǎng)絡信息、管理信息和監(jiān)控信息等,宜具備以下要素:

a)網(wǎng)絡信息包括業(yè)務系統(tǒng)、網(wǎng)絡緩存、索引等數(shù)據(jù);

b)管理信息包括節(jié)點信息、智能合約、權限、系統(tǒng)設置等數(shù)據(jù);

c)監(jiān)控信息包括系統(tǒng)資源、性能、統(tǒng)計分析、日志等數(shù)據(jù)。

5.3服務層功能要求

5.3.1通則

區(qū)塊鏈中間件服務層核心功能,宜具備以下要素:

a)對適配層提供的數(shù)據(jù)進行解析、轉換、加工,形成標準化結構數(shù)據(jù);

b)處理分布式環(huán)境下的數(shù)據(jù)傳輸問題;

c)對頻繁請求數(shù)據(jù)的快速訪問進行數(shù)據(jù)緩存;

d)定義中間件與多個接入的應用系統(tǒng)之間的關聯(lián)關系;

e)在數(shù)據(jù)流轉的各個環(huán)節(jié)保證數(shù)據(jù)的完整性與一致性;

f)提供同步或異步、實時或非實時等訪問方式;

g)提供通用的且符合標準規(guī)范的功能接口。

5.3.2管理組件

概述

管理組件包括節(jié)點管理、合約管理、應用管理、權限管理、身份管理、全局設置等。

節(jié)點管理

節(jié)點管理功能宜包括:

a)管理區(qū)塊鏈節(jié)點,如節(jié)點加入、節(jié)點退出、節(jié)點刪除等;

b)瀏覽區(qū)塊鏈節(jié)點狀態(tài),如節(jié)點列表、節(jié)點所在IP地址等。

合約管理

合約管理功能宜包括:

a)智能合約上傳:開發(fā)者線下將應用系統(tǒng)的業(yè)務邏輯編寫成智能合約,編譯成功后上傳;

b)智能合約驗證:對合約進行靜態(tài)驗證等,以進行后續(xù)操作;

c)智能合約裝載:部署智能合約,獲得合約的區(qū)塊鏈地址和合約的接口調用方式;

d)智能合約瀏覽:查詢智能合約列表、當前的版本以及當前狀態(tài)、區(qū)塊鏈地址等;

e)智能合約凍結:凍結不再使用的智能合約;

4

GB/TXXXX-XXXX

f)智能合約升級:智能合約升級或回滾。

應用管理

應用管理功能用于維護應用接入信息,宜包括:

a)管理應用,如創(chuàng)建應用、修改應用、移除應用等;

b)瀏覽應用,應用列表查詢等。

權限管理

權限管理功能宜包括:

a)訪問控制權限管理:業(yè)務系統(tǒng)調用中間件接口提供權限控制管理能力,為應用系統(tǒng)分配app_id

(應用唯一標識)、app_key(公鑰:相當于賬號)、app_secret(私鑰:相當于密碼)等;中

間件接口的調用需進行簽名與驗簽;

b)鏈用戶管理:維護區(qū)塊鏈鏈用戶密鑰信息;

c)登錄用戶管理:維護應用服務中間件管理系統(tǒng)登錄賬號信息;

d)登錄角色管理:維護系統(tǒng)登錄用戶的角色信息,用于對管理工具的操作權限、接口調用權限

的控制,可劃分為如下用戶角色:

1)普通操作角色:具有中間件管理平臺的瀏覽查詢權限,例如綜合信息的查詢;

2)開發(fā)角色:具有中間件接口的調用權限,例如智能合約的調用;

3)普通管理員角色:具有業(yè)務系統(tǒng)使用范圍內的操作權限,例如節(jié)點管理、合約管理等;

4)超級管理員角色:擁有管理平臺的所有操作權限,例如部署合約、凍結合約等。

身份管理

區(qū)塊鏈網(wǎng)絡采用基于數(shù)字證書的用戶身份認證方式,身份管理功能宜包括:

a)數(shù)字證書導入,包括對應節(jié)點的鏈證書、機構證書、節(jié)點證書等;

b)查看數(shù)字證書詳情,包括用戶身份信息、用戶公鑰信息、CA數(shù)字簽名及有效期等;

c)下載數(shù)字證書。

全局設置

全局設置功能宜包括:

a)中間件接口調用頻率設置;

b)用戶數(shù)據(jù)上鏈(交易)總量限制設置;

c)上鏈數(shù)據(jù)檢查規(guī)則設置;

d)異常告警類的配置。

5.3.3信息查詢組件

概述

業(yè)務數(shù)據(jù)經(jīng)過中間件上鏈后保存在區(qū)塊鏈上,業(yè)務應用系統(tǒng)可調用中間件信息查詢組件獲取業(yè)務信

息與狀態(tài)。中間件可提供同步機制,分析區(qū)塊鏈上的數(shù)據(jù),建立一套高效的索引(映射關系)。業(yè)務應

用系統(tǒng)調用中間件的查詢接口,中間件通過索引可檢索所需的業(yè)務數(shù)據(jù)。

信息查詢組件主要包含基本信息查詢、交易信息查詢、綜合信息查詢等功能。

基本信息查詢

5

GB/TXXXXX—XXXX

基本信息查詢結果宜包括:

a)區(qū)塊鏈的信息:當前區(qū)塊高度、交易總量、區(qū)塊數(shù)據(jù)等信息;

b)智能合約信息:智能合約的事件、合約地址、構造函數(shù)、執(zhí)行函數(shù)等信息;

c)節(jié)點信息:節(jié)點列表與節(jié)點狀態(tài)等信息。

交易信息查詢

交易信息查詢結果宜包括:

a)交易hash地址;

b)交易數(shù)據(jù):上鏈業(yè)務數(shù)據(jù);

c)交易時間:數(shù)據(jù)上鏈時間;

d)交易狀態(tài)。

綜合信息查詢

綜合信息查詢結果宜包括除基本信息和交易信息以外的其他業(yè)務信息。

5.3.4監(jiān)控服務組件

概述

區(qū)塊鏈中間件應提供監(jiān)控管理工具,服務組件包括狀態(tài)監(jiān)管、交易審計、日志管理、異常告警等,

宜提供可視化展示方式。

狀態(tài)監(jiān)控

狀態(tài)監(jiān)控組件的監(jiān)控內容宜包括:

a)區(qū)塊鏈節(jié)點的加入、退出等狀態(tài);

b)智能合約的生命周期狀態(tài);

c)服務器資源狀態(tài)。

交易審計

交易審計組件用于對業(yè)務數(shù)據(jù)上鏈的過程信息進行跟蹤審計,內容宜包括:

a)數(shù)據(jù)上鏈前檢查;

b)數(shù)據(jù)上鏈時間;

c)數(shù)據(jù)上鏈總量;

d)數(shù)據(jù)上鏈吞吐量;

e)數(shù)據(jù)上鏈異常、失敗、重試等信息。

日志管理

日志管理組件用于問題追蹤、預警與深入分析,支持對日志級別(包括警告、信息、錯誤等)進行

靈活調整,內容宜包括:

a)系統(tǒng)運行信息;

b)管理操作信息;

c)數(shù)據(jù)處理信息;

d)中間件接口調用信息。

異常告警

6

GB/TXXXX-XXXX

異常告警組件用于對狀態(tài)監(jiān)管、交易審計、日志管理中出現(xiàn)的異常信息進行告警,宜:

a)采用實時的方式(如郵件、短信、語音電話等)通知系統(tǒng)管理員,并對異常信息進行記錄;

b)支持異常告警信息的分類、自定義通知方式等。

5.4工具層功能要求

5.4.1可視化展示工具

區(qū)塊鏈中間件宜提供可視化展示工具,內容宜包括:

a)統(tǒng)計數(shù)據(jù):節(jié)點、區(qū)塊、交易、合約等數(shù)據(jù)的多維度統(tǒng)計分析結果;

b)交易數(shù)據(jù):交易詳細信息的瀏覽查詢結果;

c)監(jiān)控數(shù)據(jù):系統(tǒng)資源、性能、接口調用、異常信息的查詢分析結果;

d)日志數(shù)據(jù):系統(tǒng)運行、管理操作、數(shù)據(jù)處理、中間件接口調用等信息的查詢分析結果;

e)訪問記錄:管理員操作使用的行為記錄。

5.4.2安裝工具

安裝工具宜提供快速部署安裝方法。

5.4.3配置工具

配置工具提供快速便捷接入?yún)^(qū)塊鏈網(wǎng)絡和訪問中間件數(shù)據(jù)庫的方法。

5.4.4調試工具

調試工具提供區(qū)塊鏈中間件的調試方法,快速定位問題。

6非功能性要求

6.1可靠性

區(qū)塊鏈中間件應符合可靠性要求,宜具備以下要素:

a)所使用的物理設備及環(huán)境有完善的監(jiān)控體系,保證7×24小時穩(wěn)定運行,系統(tǒng)具備高可用性,

宜達到GB/T22239-2019規(guī)定的第三級基本要求;

b)采取措施保障應用服務中間件的安全,預防非授權的訪問或破壞,對于非授權的訪問或破壞應

具有防護措施和應急預案;

c)提供集群特性,避免單點失效;

d)具備冗余備份和存儲擴展的能力,當中間件出現(xiàn)故障時,保證區(qū)塊鏈與應用系統(tǒng)數(shù)據(jù)的完整性。

6.2可維護性

區(qū)塊鏈中間件應符合可維護性要求,宜具備以下要素:

a)提供便捷的安裝部署方式;

b)提供應用接入定制開發(fā)接口以適應不斷變化的業(yè)務新需求;

c)提供必要的日志記錄;

d)提供用于故障排查、系統(tǒng)監(jiān)控及管理的工具。

6.3兼容性

7

GB/TXXXXX—XXXX

區(qū)塊鏈中間件應符合兼容性要求,宜具備以下要素:

a)在不同區(qū)塊鏈網(wǎng)絡上提供的應用開發(fā)接口保持一致性;

b)兼容多種主流的服務器操作系統(tǒng);

c)兼容舊版本。

6.4性能要求

區(qū)塊鏈中間件應具備相關效率指標,宜具備以下要素:

a)TPS:區(qū)塊鏈中間件每秒可處理的事務數(shù);

b)延遲:業(yè)務應用提交事務到數(shù)據(jù)上鏈的時間;

c)QPS:中間件信息查詢接口的每秒響應請求數(shù);

d)容量:中間件數(shù)據(jù)庫存儲各類數(shù)據(jù)的承載能力。

8

GB/TXXXX-XXXX

(資料性)

區(qū)塊鏈中間件接口描述參考

A.1數(shù)據(jù)上鏈交易接口

數(shù)據(jù)上鏈交易接口用于業(yè)務應用系統(tǒng)的數(shù)據(jù)信息上鏈,接口描述見表A.1。

表A.1數(shù)據(jù)上鏈交易接口描述

類別參數(shù)名稱描述

接口URL地址-http://ip:port/middleware/transaction/write

調用方法-POST

數(shù)據(jù)簽名相關參數(shù)如app_id;app_key;app_sign簽名串等

業(yè)務id號應用系統(tǒng)業(yè)務的唯一標識符

輸入?yún)?shù)合約地址智能合約裝載成功后得到的地址

調用方法名類型為string

方法參數(shù)類型為json格式的字符串

Code狀態(tài)碼

返回參數(shù)Message提示信息

Data返回的數(shù)據(jù),包含交易id號等

A.2交易查詢接口

交易查詢接口用于業(yè)務應用系統(tǒng)查詢交易信息,接口描述見表A.2。

表A.2交易查詢接口描述

類別參數(shù)名稱描述

接口URL地址-http://ip:port/middleware/transaction/get

調用方法-POST

數(shù)據(jù)簽名相關參數(shù)如app_id;app_key;app_sign簽名串等

輸入?yún)?shù)

交易id號應用系統(tǒng)業(yè)務的唯一標識符

Code狀態(tài)碼

Message提示信息

返回參數(shù)返回的數(shù)據(jù),包含交易id號、合約地址、方法名、方法

Data參數(shù)、用戶id、當前狀態(tài)、交易hash、交易返回原文信息、

交易回執(zhí)狀態(tài)、提交時間、上鏈時間等

9

GB/TXXXXX—XXXX

(資料性)

區(qū)塊鏈中間件應用方法

B.1中間件部署方式

區(qū)塊鏈中間件應支持多種方式部署,包括物理機部署、云部署和容器化部署等。

B.2應用系統(tǒng)接入方式

應用系統(tǒng)接入?yún)^(qū)塊鏈中間件的方式包括:

a)當完全使用中間件系統(tǒng)時,可基于中間件接口進行二次開發(fā),適用于不具備區(qū)塊鏈原生接口開

發(fā)能力的開發(fā)人員;

b)當部分使用中間件組件時,可使用中間件的節(jié)點管理、監(jiān)控服務組件用于管理監(jiān)控,業(yè)務應用

系統(tǒng)調用區(qū)塊鏈原生接口進行開發(fā),適用于具備區(qū)塊鏈原生接口開發(fā)能力的開發(fā)人員;

c)當選擇性使用中間件組件時,可與區(qū)塊鏈原生接口搭配使用,適用于掌握區(qū)塊鏈底層開發(fā)技術

的開發(fā)人員。

B.3智能合約管理

區(qū)塊鏈中間件安裝部署完畢后,可通過管理組件配置完成區(qū)塊鏈網(wǎng)絡的接入,由業(yè)務應用系統(tǒng)進行

接口調用。

業(yè)務應用系統(tǒng)在接入中間件前,開發(fā)人員應根據(jù)接入的區(qū)塊鏈網(wǎng)絡,自行開發(fā)包含區(qū)塊鏈應用業(yè)務

邏輯的智能合約。智能合約管理是中間件的核心組件。在智能合約編譯成功后,可以通過中間件管理組

件完成上傳,安裝與部署。業(yè)務應用系統(tǒng)可通過中間件接口執(zhí)行交易事務處理、數(shù)據(jù)上鏈和數(shù)據(jù)查詢等

操作。智能合約可通過管理工具進行管理,通過調試工具解決實際部署中出現(xiàn)的問題。

智能合約的接入流程包括智能合約的設計開發(fā)、智能合約的編譯部署、智能合約的觸發(fā)執(zhí)行、智能

合約的維護治理,接入流程見圖B.1。

智能合約的設計開發(fā)

智能合約的編譯部署

智能合約的觸發(fā)執(zhí)行

智能合約的維護治理

說明:

a)智能合約的設計開發(fā):基于業(yè)務需求完成智能合約的功能設計,開發(fā)人員根據(jù)接入的區(qū)塊鏈網(wǎng)絡類型編寫調

試智能合約代碼;

10

GB/TXXXX-XXXX

b)智能合約的編譯部署:將智能合約代碼轉換成運行環(huán)境可執(zhí)行格式,通過中間件管理工具上傳,由中間件部

署到智能合約運行時環(huán)境中;

c)智能合約的觸發(fā)執(zhí)行:中間件管理組件獲取合約的區(qū)塊鏈地址和合約接口可調用的方法與參數(shù);滿足條件的

事件通過中間件推送到區(qū)塊鏈網(wǎng)絡執(zhí)行,將事件和執(zhí)行結果計入?yún)^(qū)塊鏈;

d)智能合約的維護治理:智能合約安裝部署過程中,若存在失敗的情況,節(jié)點管理組件中展示失敗的詳情,管

理用戶根據(jù)失敗詳情修改合約后再次上傳;智能合約成功部署上線后,因修正錯誤,提升性能等需求,可以

進行智能合約的升級、凍結、廢止等操作。

圖B.1智能合約操作流程

B.4數(shù)據(jù)上鏈流程

數(shù)據(jù)上鏈前,宜通過節(jié)點管理組件完成智能合約的部署,并給業(yè)務系統(tǒng)分配賬號以及對應賬號的訪

問權限。數(shù)據(jù)上鏈流程包括應用端接口調用、中間件驗簽、上鏈信息核查、上鏈信息緩存、加入上鏈任

務隊列、調用中間件智能合約接口、接口回調,數(shù)據(jù)上鏈流程見圖B.2。

業(yè)務應用

中間件驗簽上鏈信息核查

接口調用

業(yè)務應用

調用中間件上鏈信息緩存

接口回調

智能合約接口加入上鏈任務隊列

說明:

a)業(yè)務應用接口調用:將業(yè)務數(shù)據(jù)轉換成中間件數(shù)據(jù)格式,調用中間件上鏈交易接口;

b)中間件驗簽:對中間件API接口進行簽名驗簽;

c)上鏈信息核查:檢查上鏈信息是否符合要求,檢查上鏈交易是否達到了閾值;

d)上鏈信息緩存:上鏈信息保存在中間件數(shù)據(jù)庫中;

e)加入上鏈任務隊列:將上鏈請求轉化為任務隊列;

f)調用中間件智能合約接口:通過執(zhí)行智能合約方法,將數(shù)據(jù)寫入到區(qū)塊鏈中;

g)接口回調:中間件返回交易狀態(tài)信息。

圖B.2數(shù)據(jù)上鏈流程

11

GB/TXXXXX—XXXX

參考文獻

[1]GB/T22239-2019信息安全技術網(wǎng)絡安全等級保護基本要求

[2]GB/T30275-2013信息安全技術鑒別與授權認證中間件框架與接口規(guī)范

[3]GB/T33847-2017信息技術中間件術語

[4]GB/T36960-2018信息安全技術鑒別與授權訪問控制中間件框架與接口

[5]GB/TXXXXX-XXXX區(qū)塊鏈和分布式記賬技術術語

_________________________________

12

ICS35.240

CCSL70

中華人民共和國國家標準

GB/TXXXXX—XXXX

區(qū)塊鏈和分布式記賬技術應用程序接口

中間件技術指南

Blockchainanddistributedledgertechnology—

Applicationinterface-Technicalguidelinesofmiddleware

(報批稿)

GB/TXXXX-XXXX

區(qū)塊鏈和分布式記賬技術應用程序接口中間件技術指南

1范圍

本文件確立了區(qū)塊鏈中間件的技術架構和非功能性要求,提供了區(qū)塊鏈中間件的技術指南。

本文件適用于:

a)指導區(qū)塊鏈中間件系統(tǒng)的開發(fā);

b)規(guī)范基于區(qū)塊鏈中間件技術的業(yè)務應用建設過程;

c)為區(qū)塊鏈中間件系統(tǒng)評測和技術選型提供參考。

2規(guī)范性引用文件

下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。

凡是不注日期日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T22239-2019信息安全技術:網(wǎng)絡安全等級保護基本要求

GB/T33847-2017信息技術中間件術語

GB/TXXXXX-XXXX區(qū)塊鏈和分布式記賬技術術語

3術語和定義

GB/T33847-2017、GB/TXXXXX-XXXX中界定的以及下列術語和定義適用于本文件。為了便于使用,

以下重復列出了GB/T33847-2017、GB/TXXXXX-XXXX中的一些術語和定義。

3.1

區(qū)塊鏈blockchain

使用密碼技術鏈接將共識確認過的區(qū)塊按順序追加形成的分布式賬本。

[來源:GB/TXXXXX-XXXX,3.6]

3.2

中間件middleware

位于系統(tǒng)軟件之上,用于支持分布式應用軟件,連接不同軟件實體的支撐軟件。

[來源:GB/T33847-2017,2.1]

3.3

智能合約smartcontract

以數(shù)字形式定義的能夠自動執(zhí)行條款的合約。

[來源:GB/TXXXXX-XXXX,3.72]

3.4

共識機制consensusmechanism

1

GB/TXXXXX—XXXX

在分布式節(jié)點間達成共識的規(guī)則和程序。

[來源:GB/TXXXXX-XXXX,3.12]

3.5

功能組件functionalcomponent

參與活動所需的,可實現(xiàn)的一個功能性基本構件塊。

[來源:GB/T32399-2015,3.2.3]

3.6

角色role

一組服務于共同目的的活動的集合。

[來源:GB/T32399-2015,3.2.7]

4縮略語

下列縮略語適用于本文件。

API:應用程序接口(ApplicationProgrammingInterface)

QPS:每秒查詢率(QueryPerSecond)

TPS:每秒處理事務數(shù)(TransactionPerSecond)

5技術架構

5.1總體架構

區(qū)塊鏈中間件屬于區(qū)塊鏈系統(tǒng)架構的服務接口層,位于應用層和基礎設施層之間,為應用層的業(yè)務

應用系統(tǒng)提供統(tǒng)一的工具、組件與服務,并簡化業(yè)務應用系統(tǒng)對區(qū)塊鏈網(wǎng)絡的訪問和操作。

區(qū)塊鏈中間件包括適配層、服務層、工具層,各層的功能組件構成如下。

a)適配層具備中間件數(shù)據(jù)庫,提供鏈上系統(tǒng)數(shù)據(jù)和業(yè)務數(shù)據(jù)索引、緩存和關聯(lián)等能力;中間件產(chǎn)

生的數(shù)據(jù)保存在中間件數(shù)據(jù)庫中。

b)適配層具備對不同數(shù)據(jù)庫訪問協(xié)議的適配,以屏蔽不同數(shù)據(jù)庫之間的差異,提供統(tǒng)一的接口對

數(shù)據(jù)進行訪問與操作。

c)服務層具備管理、信息查詢、監(jiān)控服務等組件:

1)管理組件提供管理節(jié)點、賬戶、證書、私鑰、應用接入、智能合約等功能;

2)信息查詢組件提供數(shù)據(jù)信息檢索和查詢的功能;

3)監(jiān)控服務組件提供監(jiān)控區(qū)塊鏈節(jié)點狀態(tài)、服務器資源、中間件接口調用信息、交易異常信

息、系統(tǒng)錯誤日志信息、操作記錄、異常告警等功能。

d)服務層具備對不同區(qū)塊鏈網(wǎng)絡接口協(xié)議的適配,通過對區(qū)塊鏈網(wǎng)絡核心功能層功能組件的封裝,

提供統(tǒng)一的接口組件為業(yè)務應用系統(tǒng)與區(qū)塊鏈進行交互的功能,涵蓋合約的驗證、部署、交易

發(fā)送、信息查詢等。

e)工具層具備安裝部署組件,提供滿足不同環(huán)境的執(zhí)行腳本或者安裝工具,提供命令行或者圖形

界面調試運行環(huán)境。

f)工具層具備可視化展示工具,提供后臺系統(tǒng)展示相關的交易、統(tǒng)計、監(jiān)控、日志等數(shù)據(jù)。

2

GB/TXXXX-XXXX

區(qū)塊鏈中間件技術架構見圖1。區(qū)塊鏈中間件接口描述參考見附錄A。區(qū)塊鏈中間件應用方法見附

錄B。

應用層:業(yè)務應用系統(tǒng)

服務接口層:區(qū)塊鏈中間件

工具層

安裝部署組件

可視化展示工具

安裝工具配置工具調試工具

服務層

監(jiān)控服務組件

管理組件信息查詢組件

狀態(tài)監(jiān)控

節(jié)點管理合約管理基本信息查詢

交易審計

應用管理權限管理

交易信息查詢

日志管理

身份管理全局設置

綜合信息查詢

異常告警

適配層

區(qū)塊鏈接口協(xié)議適配數(shù)據(jù)訪問協(xié)議適配中間件數(shù)據(jù)庫

基礎設施層與核心功能層:區(qū)塊鏈網(wǎng)絡

說明:

a)區(qū)塊鏈中間件位于區(qū)塊鏈和分布式記賬技術架構中的服務接口層;

b)區(qū)塊鏈網(wǎng)絡位于區(qū)塊鏈和分布式記賬技術架構中的基礎設施層與核心功能層。

圖1區(qū)塊鏈中間件技術架構

5.2適配層功能要求

5.2.1接口協(xié)議適配

接口協(xié)議適配,用于區(qū)塊鏈中間件接入?yún)^(qū)塊鏈網(wǎng)絡,宜:

a)提供統(tǒng)一的適配層交互訪問接口,供服務層調用;

3

GB/TXXXXX—XXXX

b)提供統(tǒng)一的區(qū)塊鏈網(wǎng)絡交互訪問接口,供適配層調用。

5.2.2數(shù)據(jù)訪問協(xié)議適配

數(shù)據(jù)訪問協(xié)議適配,用于區(qū)塊鏈中間件接入中間件數(shù)據(jù)庫,宜:

a)支持主流的關系型數(shù)據(jù)庫、非關系型數(shù)據(jù)庫、內存數(shù)據(jù)庫等,實現(xiàn)對不同類型中間件數(shù)據(jù)庫的

訪問;

b)支持使用者自行搭建數(shù)據(jù)庫或使用云服務數(shù)據(jù)庫;

c)提供中間件數(shù)據(jù)庫讀寫操作的功能,具備將數(shù)據(jù)解析為標準化結構數(shù)據(jù)的能力。

5.2.3中間件數(shù)據(jù)庫

中間件數(shù)據(jù)庫用于保存網(wǎng)絡信息、管理信息和監(jiān)控信息等,宜具備以下要素:

a)網(wǎng)絡信息包括業(yè)務系統(tǒng)、網(wǎng)絡緩存、索引等數(shù)據(jù);

b)管理信息包括節(jié)點信息、智能合約、權限、系統(tǒng)設置等數(shù)據(jù);

c)監(jiān)控信息包括系統(tǒng)資源、性能、統(tǒng)計分析、日志等數(shù)據(jù)。

5.3服務層功能要求

5.3.1通則

區(qū)塊鏈中間件服務層核心功能,宜具備以下要素:

a)對適配層提供的數(shù)據(jù)進行解析、轉換、加工,形成標準化結構數(shù)據(jù);

b)處理分布式環(huán)境下的數(shù)據(jù)傳輸問題;

c)對頻繁請求數(shù)據(jù)的快速訪問進行數(shù)據(jù)緩存;

d)定義中間件與多個接入的應用系統(tǒng)之間的關聯(lián)關系;

e)在數(shù)據(jù)流轉的各個環(huán)節(jié)保證數(shù)據(jù)的完整性與一致性;

f)提供同步或異步、實時或非實時等訪問方式;

g)提供通用的且符合標準規(guī)范的功能接口。

5.3.2管理組件

概述

管理組件包括節(jié)點管理、合約管理、應用管理、權限管理、身份管理、全局設置等。

節(jié)點管理

節(jié)點管理功能宜包括:

a)管理區(qū)塊鏈節(jié)點,如節(jié)點加入、節(jié)點退出、節(jié)點刪除等;

b)瀏覽區(qū)塊鏈節(jié)點狀態(tài),如節(jié)點列表、節(jié)點所在IP地址等。

合約管理

合約管理功能宜包括:

a)智能合約上傳:開發(fā)者線下將應用系統(tǒng)的業(yè)務邏輯編寫成智能合約,編譯成功后上傳;

b)智能合約驗證:對合約進行靜態(tài)驗證等,以進行后續(xù)操作;

c)智能合約裝載:部署智能合約,獲得合約的區(qū)塊鏈地址和合約的接口調用方式;

d)智能合約瀏覽:查詢智能合約列表、當前的版本以及當前狀態(tài)、區(qū)塊鏈地址等;

e)智能合約凍結:凍結不再使用的智能合約;

4

GB/TXXXX-XXXX

f)智能合約升級:智能合約升級或回滾。

應用管理

應用管理功能用于維護應用接入信息,宜包括:

a)管理應用,如創(chuàng)建應用、修改應用、移除應用等;

b)瀏覽應用,應用列表查詢等。

權限管理

權限管理功能宜包括:

a)訪問控制權限管理:業(yè)務系統(tǒng)調用中間件接口提供權限控制管理能力,為應用系統(tǒng)分配app_id

(應用唯一標識)、app_key(公鑰:相當于賬號)、app_secret(私鑰:相當于密碼)等;中

間件接口的調用需進行簽名與驗簽;

b)鏈用戶管理:維護區(qū)塊鏈鏈用戶密鑰信息;

c)登錄用戶管理:維護應用服務中間件管理系統(tǒng)登錄賬號信息;

d)登錄角色管理:維護系統(tǒng)登錄用戶的角色信息,用于對管理工具的操作權限、接口調用權限

的控制,可劃分為如下用戶角色:

1)普通操作角色:具有中間件管理平臺的瀏覽查詢權限,例如綜合信息的查詢;

2)開發(fā)角色:具有中間件接口的調用權限,例如智能合約的調用;

3)普通管理員角色:具有業(yè)務系統(tǒng)使用范圍內的操作權限,例如節(jié)點管理、合約管理等;

4)超級管理員角色:擁有管理平臺的所有操作權限,例如部署合約、凍結合約等。

身份管理

區(qū)塊鏈網(wǎng)絡采用基于數(shù)字證書的用戶身份認證方式,身份管理功能宜包括:

a)數(shù)字證書導入,包括對應節(jié)點的鏈證書、機構證書、節(jié)點證書等;

b)查看數(shù)字證書詳情,包括用戶身份信息、用戶公鑰信息、CA數(shù)字簽名及有效期等;

c)下載數(shù)字證書。

全局設置

全局設置功能宜包括:

a)中間件接口調用頻率設置;

b)用戶數(shù)據(jù)上鏈(交易)總量限制設置;

c)上鏈數(shù)據(jù)檢查規(guī)則設置;

d)異常告警類的配置。

5.3.3信息查詢組件

概述

業(yè)務數(shù)據(jù)經(jīng)過中間件上鏈后保存在區(qū)塊鏈上,業(yè)務應用系統(tǒng)可調用中間件信息查詢組件獲取業(yè)務信

息與狀態(tài)。中間件可提供同步機制,分析區(qū)塊鏈上的數(shù)據(jù),建立一套高效的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論