CESA-2021-1-035 区块链 可装配系统 流程规范 征求意见稿_第1页
CESA-2021-1-035 区块链 可装配系统 流程规范 征求意见稿_第2页
CESA-2021-1-035 区块链 可装配系统 流程规范 征求意见稿_第3页
CESA-2021-1-035 区块链 可装配系统 流程规范 征求意见稿_第4页
CESA-2021-1-035 区块链 可装配系统 流程规范 征求意见稿_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS

CCS

团体标准

T/CESAXXXX—202X

区块链可装配系统流程规范

Blockchain-Assemblablesystem-Processingflowspecification

征求意见稿

在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上。

已授权的专利证明材料为专利证书复印件或扉页,已公开但尚未授权的专利申请

证明材料为专利公开通知书复印件或扉页,未公开的专利申请的证明材料为专利申请

号和申请日期。

202X-XX-XX发布202X-XX-XX实施

中国电子工业标准化技术协会发布

T/CESAXXXX—202X

前言

本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起

草。

本文件由北京微芯区块链与边缘计算研究院提出。

本文件由中国电子工业标准化技术协会归口。

本文件起草单位:北京微芯区块链与边缘计算研究院、腾讯云计算(北京)有限责任公司、北京市大

数据中心、北京航空航天大学、北京电子商务交易技术国家工程实验室、北京数字认证股份有限公司。

本文件主要起草人:任常锐、黄普、唐琳、殷舒、万明超、胡志琳、武尚、杨华卫、李力、敖萌、

张建俊、石志国、高嵩、刘一萱、柴跃廷、黄亚东、张永强、梁海骅。

III

T/CESAXXXX—202X

引言

区块链可装配系统是由一组可替代、遵循相应规范的模块按照使用者的定制需求组合而成的可正常

运作的区块链系统。区块链可装配系统通过标准流程抽象,采用标准化、模块化的技术手段,使得用户

可根据自身需求,精准地选择和裁剪不同的基础模块,支持不同的系统特性,从而装配出能支持广域应

用场景的区块链系统,将区块链系统的实现从现有的手工作业模式推进到自动装配生产模式。

可装配系统与常见的支持可拔插的系统的区别在于可装配系统的自由度高于支持可拔插的系统。一

般支持可拔插的系统是有一个固定的框架,并且有固定的模块接口,通过替换模块的方式实现可拔插。

而可装配系统是通过模块间的组合,直接组成一个完整的系统。从模块替换角度来看,可装配系统没有

一个固定的框架,系统的框架本身也是可替换的。因此从软件架构角度看,可拔插的系统是一种特殊的

可装配系统,可拔插系统是框架固定的可装配系统。

本标准是《区块链可装配系统》系列标准的第二篇,给出了一种典型的区块链可装配系统的执行

流程及系统模块划分,以及判定一个区块链系统是否属于此种典型的区块链可装配系统的验证方法。

本标准可为区块链可装配系统提供基础参考,有助理解区块链可装配系统的概念,有助于区块链用

户选择具体的区块链系统。此外,本标准有助于多方协作共同开发区块链底层平台,对于促进区块链技

术普及和规模化应用具有重要意义。

IV

T/CESAXXXX—202X

区块链可装配系统流程规范

1范围

本标准规定了区块链可装配系统流程规范。包括如下内容:

a)界定了区块链可装配系统相关的术语和定义;

b)规范了区块链可装配系统的系统执行流程;

c)在系统流程基础上,给出了区块链可装配系统参考模块划分。

本标准适用于:

a)指导区块链服务提供方提供区块链可装配系统的功能组件;

b)指导区块链服务提供方构建区块链可装配系统;

c)指导区块链可装配系统系统评估。

2规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,

仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本

文件。

T/CESA6001-2016区块链参考架构

T/CESA-2021-1-037区块链可装配系统装配规范

3术语和定义

T/CESA6001-2016和T/CESA-2021-1-037界定的以及下列术语和定义适用于本文件。

3.1

对等网络peertopeernetwork

一种仅包含对控制和操作能力等效的节点的计算机网络。

[T/CESA6001-2016,定义2.1.8]

3.2

提议节点proposingnode

区块链网络中负责产生新的候选区块的节点。

注:在一个区块轮次中提议节点可以是一个或多个。在不同轮次中提议节点和验证节点身份可互相

转换。

3.3

验证节点verifyingnode

区块链网络中负责验证新的候选区块的节点。

1

T/CESAXXXX—202X

注:对某一候选区块而言,除提议此区块的节点外其余区块链节点均为验证节点。在不同轮次中提

议节点和验证节点身份可互相转换。

3.4

交易调度transactionscheduling

将一批交易按照调度策略分配计算资源进行执行的过程。

注:交易调度的调度策略决定一批交易的执行顺序和交易并行冲突的处理机制。

3.5

交易读取transactionreading

链上拉取区块,并读取区块中解析交易信息的过程。

3.6

配置交易configtransaction

一种把区块链配置信息或配置变更信息存储在交易内容中的交易。

4典型的区块链可装配系统执行流程

根据区块链可装配系统装配规范,首先应选择框架。本标准规范的典型的区块链可装配系统,框架

所对应的核心流程如下图1所示:

图1典型的区块链可装配系统执行流程

2

T/CESAXXXX—202X

4.1概述

在典型的区块链可装配系统参考执行流程中,区块产生流程整体可划分为提议候选区块、共识候选

区块、验证候选区块、执行候选区块四部分。首先由一个或多个提议节点提议候选区块。之后,提议区

块进入共识流程,在共识节点间对候选区块进行共识,过程中验证节点应验证候选区块的有效性。达成

共识后,各区块链节点执行候选区块,使区块入库生效。

4.2提议候选区块

提议候选区块是指提议节点将一个或多个交易打包为候选区块,供区块链网络中各节点进行共识。

4.3共识候选区块

候选区块被提议后,应在各区块链节点处就此候选区块能否追加至当前区块链达成共识。

4.4验证候选区块

在共识候选区块中,验证节点应执行验证候选区块流程以校验候选区块的有效性,若无效则拒绝此

候选区块。

4.5执行候选区块

各节点对候选区块达成共识后,进入执行候选区块流程,将候选区块、区块中的交易、对区块链的

状态变更等写入数据库,使区块数据生效。

5典型的区块链可装配系统参考模块

5.1概述

根据典型的区块链可装配系统参考执行流程,可将区块链划分为图2中展示的模块。参考执行流程

中的每一个步骤均对应多个区块链功能模块,模块间通过接口封装调用,背后支持函数调用、进程间通

信、网络通信等不同的调用方式。

5.2交易缓存模块

交易缓存模块将节点从用户或其他节点收到的交易进行缓存,供区块提议模块批量获取交易并打包

为区块。交易缓存应提供交易校验、交易防重、交易批量获取、交易批量删除等功能。

5.3区块提议模块

区块提议模块负责按照时间间隔、最大区块交易数等规则从交易缓存中批量获取交易,调用交易调

度模块预执行交易,并将其中合法交易、区块高度、区块时间戳、交易执行结果等信息组装为候选区块,

而后发送至共识算法模块完成区块提议。

3

T/CESAXXXX—202X

图2典型的区块链可装配系统模块

5.4交易调度模块

交易调度模块负责将一批交易按预定策略发送至智能合约模块进行执行。按照策略的不同,可分为

串行调度和并行调度两种。在串行调度中,交易被按顺序逐一发送至智能合约模块执行。在并行调度中,

调度模块将交易并行发送至智能合约模块,并进行冲突检测、交易重试等,保证并行执行的正确性。

5.5智能合约模块

智能合约模块负责实现用户具体的业务逻辑,在区块链不可篡改的数据之上构建丰富的分布式应用

程序。具体地,智能合约接受用户的调用,结合用户的输入和当前链上状态,经过一系列运算后产生对

4

T/CESAXXXX—202X

区块链数据的更新操作集合。只要在受限的运行资源下,能够模拟执行用户程序并产生读写集合的组件,

均可用作区块链的合约引擎组件。限制智能合约运行资源是为防止某一智能合约占用过多节点硬件资源,

导致节点宕机。

5.6共识算法模块

共识算法保证了区块链数据在各方的严格一致。按照容错程度的不同,共识算法可分为拜占庭容错

算法和非拜占庭容错算法。按照一致性程度的不同,共识算法可分为强一致性共识和弱一致性共识。按

照共识过程各节点的协作类型,共识算法可分为竞争性共识和合作性共识。

5.7对等网络模块

区块链节点间采用对等网络协议进行连接和通信,任意一个节点的加入和退出不影响整个网络的连

通性。对等网络模块负责将区块、交易、共识消息等同步至网络中各节点。此外,在多链场景下,对等

网络应做到多链间数据的隔离。

注:也可根据实际场景,采用其他的传输网络模式。

5.8区块验证模块

区块验证模块负责校验区块格式等的有效性,并调用交易调度模块执行候选区块中的所有交易,进

而判断本地执行结果与候选区块中包含的执行结果是否一致。

5.9区块执行模块

区块执行模块负责调用数据存储模块将已共识的候选区块写入数据库,并通知交易缓存模块批量移

除已共识区块内交易,防止交易重复入块。

5.10数据存储模块

数据存储模块负责将区块、交易、区块链当前状态等数据写入数据库,并对外提供相关数据的检索

服务。此外,数据存储模块还提供数据快照功能,可基于当前数据库状态在内存中缓存数据更新,供区

块提议和验证时对交易进行模拟执行。数据存储模块底层可采用键值对数据库、关系型数据库等实现。

5.11加密组件库

加密组件是区块链底层安全保证的核心组件,此模块应包括加密解密功能、数字摘要功能、数字签

名和验签功能。其中加密解密功能指把明文数据转化为密文数据、把密文数据还原为明文数据的能力,

应同时支持对称加解密和非对称加解密功能。数字摘要指将任意长度的消息输入变成固定长度的短消息

输出。数字签名功模块用于被接收者确认完整性以及不可伪造性。加密组件库应同时支持以上三种功能

需求。

5.12扩展模块(可选模块)

5

T/CESAXXXX—202X

5.12.1身份和权限管理模块

身份和权限管理模块提供区块链节点和用户的身份定义、身份和链上资源操作权限的绑定、权限验

证等功能,实现对交易发送、智能合约定义等链上资源的权限管理。所有涉及权限管控的模块均应调用

身份和权限管理模块完成权限校验。

5.12.2调参模块

区块链上的交易通常可分为两种类型:配置交易和普通交易。

调参模块可通过分析区块链整体系统的运行情况,调用添加交易接口,发送配置交易,来改变区块

链的一些关键属性参数,优化区块链可装配系统系统实例的性能。

5.12.3跨链模块

跨链模块是提供不同区块链实例间信息交互功能的模块。通常包括同构区块链跨链和异构区块链跨

链两种类型,跨链模块需要针对不同类型的跨链,提供响应的功能组件和配置接口及调用接口,供智能

合约直接调用。

6典型的区块链可装配系统验证方法

6.1系统执行流程验证方法

通过查阅系统文档,以及验证装配工具提供的模块库,判断系统执行流程是否包含下列流程:

a)提议候选区块:

b)共识候选区块;

c)验证候选区块;

d)执行候选区块。

6.2系统模块验证方法

通过查阅系统文档,以及验证装配工具提供的模块库,判断系统模块是否包含下列模块:

a)交易缓存模块;

b)区块提议模块;

c)交易调度模块;

d)智能合约模块;

e)共识算法模块;

f)对等网络模块;

g)区块验证模块;

h)区块执行模块;

6

T/CESAXXXX—202X

i)数据存储模块;

j)加密功能组件库。

6.3系统可装配性

系统应具有以下要求:

a)区块链系统各模块满足易替换性,即将其中任意模块替换为遵循模块要求的另外一种实现,

区块链系统仍能正常运行;

b)区块链系统满足可装配性,即可根据使用者需要,将一组遵循要求的各模块实现组合为一个

可正常运行的区块链系统。

7

T/CESAXXXX—202X

参考文献

[1]《新型区块链底层平台技术白皮书》,2020年9月,北京微芯区块链与边缘计算研究院

8

T/CESAXXXX—202X

目次

前言...................................................................................................................................................................III

引言.....................................................................................................................................................................IV

1范围...................................................................................................................................................................1

2规范性引用文件...............................................................................................................................................1

3术语和定义.......................................................................................................................................................1

4典型的区块链可装配系统执行流程...............................................................................................................2

4.1概述...........................................................................................................................................................3

4.2提议候选区块...........................................................................................................................................3

4.3共识候选区块...........................................................................................................................................3

4.4验证候选区块...........................................................................................................................................3

4.5执行候选区块...........................................................................................................................................3

5典型的区块链可装配系统参考模块...............................................................................................................3

5.1概述...........................................................................................................................................................3

5.2交易缓存模块...........................................................................................................................................3

5.3区块提议模块...........................................................................................................................................3

5.4交易调度模块...........................................................................................................................................4

5.5智能合约模块...........................................................................................................................................4

5.6共识算法模块...........................................................................................................................................5

5.7对等网络模块...........................................................................................................................................5

5.8区块验证模块...........................................................................................................................................5

5.9区块执行模块...........................................................................................................................................5

5.10数据存储模块.........................................................................................................................................5

5.11加密组件库.............................................................................................................................................5

5.12扩展模块(可选模块).........................................................................................................................5

5.12.1身份和权限管理模块.....................................................................................................................6

5.12.2调参模块.........................................................................................................................................6

5.12.3跨链模块.........................................................................................................................................6

6典型的区块链可装配系统验证方法...............................................................................................................6

6.1系统执行流程验证方法...........................................................................................................................6

6.2系统模块验证方法...................................................................................................................................6

6.3系统可装配性...........................................................................................................................................7

参考文献.........................................................................................................................................................8

II

T/CESAXXXX—202X

区块链可装配系统流程规范

1范围

本标准规定了区块链可装配系统流程规范。包括如下内容:

a)界定了区块链可装配系统相关的术语和定义;

b)规范了区块链可装配系统的系统执行流程;

c)在系统流程基础上,给出了区块链可装配系统参考模块划分。

本标准适用于:

a)指导区块链服务提供方提供区块链可装配系统的功能组件;

b)指导区块链服务提供方构建区块链可装配系统;

c)指导区块链可装配系统系统评估。

2规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,

仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本

文件。

T/CESA6001-2016区块链参考架构

T/CESA-2021-1-037区块链可装配系统装配规范

3术语和定义

T/CESA6001-2016和T/CESA-2021-1-037界定的以及下列术语和定义适用于本文件。

3.1

对等网络peertopeernetwork

一种仅包含对控制和操作能力等效的节点的计算机网络。

[T/CESA6001-2016,定义2.1.8]

3.2

提议节点proposingnode

区块链网络中负责产生新的候选区块的节点。

注:在一个区块轮次中提议节点可以是一个或多个。在不同轮次中提议节点和验证节点身份可互相

转换。

3.3

验证节点verifyingnode

区块链网络中负责验证新的候选区块的节点。

1

T/CESAXXXX—202X

注:对某一候选区块而言,除提议此区块的节点外其余区块链节点均为验证节点。在不同轮次中提

议节点和验证节点身份可互相转换。

3.4

交易调度transactionscheduling

将一批交易按照调度策略分配计算资源进行执行的过程。

注:交易调度的调度策略决定一批交易的执行顺序和交易并行冲突的处理机制。

3.5

交易读取transactionreading

链上拉取区块,并读取区块中解析交易信息的过程。

3.6

配置交易configtransaction

一种把区块链配置信息或配置变更信息存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论