联盟链通用技术要求(T-FJBCA 001—2022).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《联盟链通用技术要求(T-FJBCA 001—2022).pdf》由会员分享,可在线阅读,更多相关《联盟链通用技术要求(T-FJBCA 001—2022).pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、福 建 省 区 块 链 协 会 团 体 标 准T/FJBCA 0012022联盟链通用技术要求General technical requirements of Consortium Blockchain2022-01-17 发布2022-02-17 实施福建省区块链协会发 布ICS 35.240CCS I65T T/FJBCAT/FJBCA 0012022I目次前言.II1范围.12规范性引用文件.13术语、定义和缩略语.14总体要求.35数据要求.36共识机制.47智能合约.58身份要求.59接口要求.610性能要求.611运维要求.712安全要求.9附录 A(规范性)接口管理.10参考文
2、献.14T/FJBCA 0012022II前言本文件按照 GB/T 1.12020标准化工作导则第 1 部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由熵链科技(福建)有限公司提出。本文件由福建省区块链协会归口。本文件起草单位:熵链科技(福建)有限公司、福州清之漾科技有限公司、福建神笔马良智能科技股份有限公司、福州天棣互娱网络科技有限公司、福建省标院信息技术有限公司、福建省标准化研究院、数研院(福建)信息产业发展有限公司、莆田市数字城市互联网信息服务有限公司、熵链科技(厦门)有限公司、福建福链科技有限公司、数字福建区
3、块链工程实验室、福建省工业互联网+区块链联合实验室、三明市信息产业发展有限公司本文件主要起草人:宋志刚、斯雪明、陈意斌、王超博、毛岱山、李跃发、林朱瑞、郑松、华东、王聚师、黄胜魁、张毅瑜、王彬彬、钟山、柯亚萍、肖苗苗、林涌、陈一彬、张耀森、柳书苗、齐贺、邓婕T/FJBCA 00120221联盟链通用技术要求1范围本文件规定了联盟链技术应用的总体要求、数据要求、共识机制、智能合约、身份要求、接口要求、性能要求、运维要求、安全要求等。本文件提供了联盟链的通用技术要求,为计划选择和使用联盟链的组织和机构提供依据,适用于联盟链开发企业。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必
4、不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 5271.182018信息技术词汇第 18 部分:分布式数据处理GB/T 222392019信息安全技术网络安全等级保护基本要求GB/T 250692010信息安全技术术语GB/T 370432018智慧城市术语GM/T 00042012SM3 密码杂凑算法GM/T 00092012SM2 密码算法使用规范GM/T 00192012通用密码服务接口规范GM/T 00282014密码模块安全技术要求GM/T 00292014签名验签服务器技术规范JR/T
5、 01842018金融分布式账本技术安全规范3术语、定义和缩略语3.1术语和定义下列术语和定义适用于本文件。3.1.1区块链block chain一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式。注:事务处理包括但不限于可信数据的产生、存取和使用等。来源:GB/T 370432018,2.5.83.1.2联盟链consortium blockchain也称许可链,由多个通过身份验证的组织经许可后参与构成并共同运营管理的区块链。3.1.3智能合约smart contractT/FJBCA 00120222一种旨在以信息化方式记录、
6、验证或执行合同的计算机协议,其在去中心化账本上体现为需达成共识方可执行的计算机程序。来源:JR/T 01842020,3.20,有修改3.1.4节点node在网络中,将其连接到一个或多个其他实体的实体。来源:GB/T 5271.182008,18.01.023.1.5交易transaction区块链上的一次原子性账本数据状态变更及其过程和结果记录。3.1.6数字签名digital signature附加在数据单元上的数据,或是对数据单元所作的密码变换,这种数据或变换允许数据单元的接收者用以确认数据单元的来源和完整性,并保护数据防止被人(例如接收者)伪造或抵赖。来源:GB/T 250692010
7、,2.2.2.1763.1.7身份证书certificate关于实体的一种数据,该数据由认证机构的私钥或秘密密钥签发,并无法伪造。来源:GB/T 250692010,2.2.2.2183.1.8CA 证书CA-certificate由一个 CA 颁发给另一个 CA 的证书。来源:GB/T 250692010,2.2.2.2193.1.9散列/杂凑算法hash function将比特串映射为固定长度的比特串的算法,该算法满足下列特性:对于给定输出,找出映射为该输出的输入,在计算上是不可行的对于给定输入,找出映射为同一输出的第二个输入,在计算上是不可行的注:计算上的可行性取决于特定的安全要求和环境
8、来源:GB/T 250692010,2.2.2.1663.1.10共识算法consensus algorithms去中心化系统中,节点间形成共同认识或达成一致意见的算法。区块链共识机制保证了以去中心化方式维护分布式数据库的一致性。其中去中心化是指数据或程序执行结果不以单个组织、节点的结果为准,而是以系统中大部分节点一致的结果为准。3.2缩略语下列缩略语适用于本文件。PoW工作量证明Proof-of-WorkPoS权益证明Proof-of-StakeDPoS委托权益证明Delegated-Proof-of-StakeT/FJBCA 00120223RAFT分布式一致性复制协议Replicated
9、 And Fault TolerantPBFT实用拜占庭容错算法Practical Byzantine Fault ToleranceDDoS分布式拒绝服务Distributed Denial of ServicePKI公钥基础设施Public Key InfrastructureTPS每秒事务处理个数Transactions Per Second4总体要求4.1联盟链的参与组织应不少于两个,运行节点宜不低于四个,各组织相互独立且拥有身份证书及保存数据的节点等资源。4.2联盟链应基于某种算法提供能追溯的数据结构如分布式账本,并通过以区块或其他组织形式为单位将一段时间内发生的交易数据进行存储和同
10、步。4.3应提供智能合约服务,具备将业务规则等集成到分布式应用程序中的能力。4.4应提供网络通信服务,保证节点之间能直接进行网络通信或能间接进行消息传递。在网络拓扑中,应防止单个节点故障而形成网络隔离。4.5应提供跨链服务,实现一个链到另一个链的通信协议。本文件不对跨链技术实现做要求。4.6应具备身份管理及权限控制机制,如基于合约、用户、区块链等级别分级进行权限控制。4.7应具备隐私保护机制,所有加密保护机制均应符合国家加密算法规定。4.8应具备安全防护机制,能抵抗或应对智能合约攻击、共识机制攻击、算法漏洞攻击、核心代码攻击、网络通讯攻击、基础协议缺陷等问题。5数据要求5.1数据结构5.1.1
11、应具有防篡改性,宜使用块链式或近似块链式的存储结构并使用哈希链接和嵌套保证数据无法被篡改。5.1.2应具有数据校验功能,任何一条记录被非法篡改后都可通过历史账本数据回溯以快速检验出来。5.1.3应具有可追溯性,任何历史数据的生成、变更、删除,均可追溯其发起者及达成共识者。5.2数据通信5.2.1通信连接建立前,应使用符合国家密码标准 GM/T 0003.3 的密钥交换技术生成公共密钥,并进行双向身份认证,确保通信双方身份信息真实、准确。5.2.2通信通道建立时,应使用工作密钥对通信过程中的整个报文或会话进行加密处理并使用符合国家密码标准的技术来建立安全通信通道,确保通信数据的保密性。5.2.3
12、通信协议制定时,应包含应对通信延时、中断、数据完整性被破坏等情况的处理机制,确保通信时数据的完整性。5.3数据存储5.3.1实行数据分类存储制度,涉及证书、私钥等重要/敏感信息可根据需求按本文件“12.1 加密要求”进行加密处理并设置访问权限。5.3.2执行数据可靠保护机制,应确保在系统断电、重启、网络异常等情况恢复后数据能够正确读写。T/FJBCA 001202245.3.3设立存储空间监控预警机制,应提供因存储空间问题导致的数据存储异常应急处理方案。5.4数据处理5.4.1身份数据应按照本文件“8 身份要求”进行身份核实。5.4.2需要共识的数据应根据数字签名机制对数据进行签名验签、数据合
13、法性验证及敏感信息验证后,根据共识要求达到共识,方可存入联盟链。5.4.3数据处理过程应符合本文件“12 安全要求”的各项安全要求。5.5数据同步5.5.1在新节点加入、节点出现数据缺失、新交易产生、新区块产生时,应进行数据同步或交易同步。5.5.2数据同步应在确保数据一致性、完整性的前提下进行,并提供相应的校验手段确保同步后参与共识的所有节点数据一致、完整。注:数据同步与参照节点无关。5.5.3交易同步应能覆盖到所有需对此交易达成共识的节点,且交易同步需在合理时间内完成。合理时间指在交易过期前能给交易处理和交易共识留出足够多处理时间。5.6数据保护5.6.1在区块链技术实施过程中应充分考虑上
14、链数据的隐私保护工作,对于不应公开的或部分公开的数据必须实施隐私保护。5.6.2优先采用密码学算法实现隐私保护,如杂凑函数、对称加密、非对称加密、零知识证明等;对于需进行数学计算的数据,优先考虑使用隐私计算技术,如同态加密、多方安全计算等。5.6.3应采用身份证书技术和数字签名技术确保数据真实、完整、可追溯。6共识机制6.1共识算法共识算法应具备一致性和可用性,应满足以下要求:a)应能够在参与节点互不信任的基础上达成共识;b)应支持节点独立进行智能合约的运行和验证,节点间不相互依赖,不相互影响;c)应具备一致性:任意节点发起更新账本请求,完成共识后,系统中参与共识的节点对该交易的处理的结果应该
15、是一致的。且账本状态更新后所有节点(包括参与共识的节点和不参与共识的节点)的账本最终状态一致;d)共识的达成应该在有限时间内完成,且该时间应能满足业务要求;e)应具备抗针对共识的恶意攻击的能力,能抵抗的攻击应至少包括女巫攻击、日蚀攻击、重放攻击、DDoS 攻击。6.2共识容错共识容错机制应满足以下要求:a)应能协调联盟链各参与方有序参与数据打包和共识过程,并保证各参与方的数据一致性;b)系统无故障节点或欺诈节点时,应能在规定时间内达成共识,输出正确结果;T/FJBCA 00120225c)在诚实节点数量超过(2n+1)/3,(n 为节点总数)的情况下,应能在预期时间内达成共识,并输出正确结果。
16、7智能合约7.1机制要求7.1.1智能合约的执行应在多方达到共识的前提下进行,未达成共识不可执行。7.1.2智能合约的执行是原子操作,执行过程中发生错误应回滚,所有的执行被回撤,没有中间态。7.1.3智能合约的执行应具备一致性,合约在所有参与共识节点上的执行结果应一致。合约重复执行时,在初始条件不变的前提下,执行结果保持不变。7.1.4智能合约应具备业务隔离性,不同合约业务数据互不干扰并按需隔离存储。7.1.5智能合约的执行需满足充分的检查,至少应包括:合约调用者身份为本联盟链参与组织颁发的证书,或者联盟链认可的证书或账户;合约调用内容(如针对接口和入参的签名)需有调用者签名并能验签通过;需有
17、足够节点对该调用做认可(如提供节点签名);合约的执行需能通过共识算法,在节点间达成共识。7.2攻击防范要求7.2.1应有机制保证智能合约的执行需在预期时间内完成,防止系统因无法从无限循环等逻辑中跳出从而失去活性。7.2.2智能合约在编写中应充分考虑合约层面的安全风险,如数值溢出错误,本地环境数据获取(如使用本机时间)导致的无法共识等。7.2.3应有相应机制保障在系统遭受攻击、服务受到影响时,维护人员可人工干预,恢复服务。8身份要求8.1身份定义在联盟链系统中,身份信息采用 PKI 证书体系进行标识。证书格式和颁发过程需符合 ITU-T(国际电信联盟电信标准分局,International Te
18、lecom Union-Telecommunication Standardization Sector)定义的 X.509 证书标准。节点和用户均需通过证书证明其身份。证书用于交易提交和验签,加密通讯等多种场景。8.2证书颁发8.2.1身份证书由所在组织使用根 CA 证书或中间 CA 证书签发。签发组织需对其签发的证书负责,签发时需对证书使用人员身份完成认证后,方可签发。后续该证书提交的交易被认为是该组织授权的。8.2.2每个组织均需公开其根 CA 证书,每个参与共识的节点均需保存链上所有组织根 CA 的公钥,用于对交易发起者身份做认证;只有本联盟链参与组织颁发的证书,或明确被联盟链认可的证
19、书(如证书白名单)发起的交易方可被接受。8.3证书生命周期管理8.3.1应建立具有健全的证书生命周期的信息系统,确保生命周期内证书信息安全。T/FJBCA 001202268.3.2生命周期管理包括证书的申请、颁发、撤销;联盟链参与组织需有能力完成如上操作,并保证各项操作的安全性。8.3.3使用证书时,应检查证书的有效性。8.4节点标识8.4.1各节点应明确授权机构及管理员。8.4.2节点加入前,应给予其在系统内唯一的节点标识,提供与之对应的标识鉴别信息和标识凭证,并在凭证中指定节点角色,其中:a)标识鉴别信息应不易被仿冒;b)标识凭证应具有完整性和真实性。8.4.3节点之间传输加密前,应先通
20、过标识鉴别信息实现双向身份认证,建立一条安全的数据通信信道,并满足本文件“12.1 加密要求”。8.4.4应设立节点标识认证失败处理机制,采取结束通信、限制认证失败次数和超时自动结束等措施予以处理。9接口要求9.1接口应设计良好,具有可扩展性及兼容性,并隐藏底层实现细节。9.2接口的调用方法应有详细说明。应至少包括接口的功能、编码格式、参数、返回值、使用方式、错误信息。接口管理应符合附录 A 的规定。9.3接口调用应保障安全性,服务方和调用方应互相验证身份,并保障调用过程中数据隐私性及完整性,防止中间人攻击等攻击类型。例如可使用 TLS 算法保护调用过程。9.4应采用鉴权机制控制接口的访问权限
21、。10性能要求10.1交易性能10.1.1智能合约执行性能智能合约执行性能以简单转账(例如以太坊 ERC20 合约转账)为例,应满足以下要求:a)申明的智能合约调用 TPS 不小于 1500;b)以申明的 TPS 调用智能合约时,交易上链成功率不低于 95%;c)以申明的 TPS 调用智能合约时,交易延迟时间不超过 5 秒;d)应在异常场景发生并恢复后仍能维持智能合约调用交易性能。10.1.2查询性能查询性能应满足以下要求:a)区块块头信息查询性能应不低于 5000 条/秒,节点应能在异常场景恢复后保持块信息查询吞吐率;b)交易信息查询性能应不低于 2000 条/秒,节点应能在异常场景恢复后继
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联盟链通用技术要求T-FJBCA 0012022 联盟 通用 技术 要求 FJBCA 001 2022
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内