资源描述
ICS35.240CCS L79团体标准区块链 链间互操作指南BlockchainGuidance of cross-blockchain interoperability2023-06-29发布2023-07-01实施中国电子工业标准化技术协会发 布T/CESA 12622023T/CESA 12622023I版权保护文件版权所有归属于该标准的发布机构,除非有其他规定,否则未经许可,此发行物及其章节不得以其他形式或任何手段进行复制、再版或使用,包括电子版,影印件,或发布在互联网及内部网络等。使用许可于发布机构获取。T/CESA 12622023II目次前言.III1 范围.12 规范性引用文件.13 术语和定义.14 缩略语.15 互操作参考架构.26 应用和链互操作.27 跨链互操作.37.1 跨链互操作步骤.37.2 跨链互操作功能.38 链上链下互操作.48.1 链上链下互操作步骤.48.2 链下数据资源功能要求.48.3 链下计算资源功能要求.49 性能和安全要求.59.1 区块链身份认证和管理.59.2 一致性要求.59.3 访问控制.59.4 数据安全.59.5 日志管理.6附录A(资料性)互操作的应用场景.7参考文献.8T/CESA 12622023III前言本文件按照GB/T 1.1-2020标准化工作导则 第1部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由中国电子技术标准化研究院提出。本文件由中国电子工业标准化技术协会归口。本文件起草单位:蚂蚁区块链科技(上海)有限公司、中国电子技术标准化研究院、上海万向区块链股份公司、厦门安妮股份有限公司、杭州趣链科技有限公司、深圳市腾讯计算机系统有限公司、江苏恒为信息科技有限公司、上海分布信息科技有限公司、国网区块链科技(北京)有限公司、上海树图区块链研究院、矩阵元技术(深圳)有限公司、南京鑫智链科技信息有限公司、北京微芯区块链与边缘计算研究院、广东电网有限责任公司广州供电局、上海零数众合信息科技有限公司、中国民航信息集团有限公司、联通数字科技有限公司、北京版全家科技发展有限公司、四川长虹电子控股集团有限公司、湖南天河国云科技有限公司、无锡物联网产业研究院。本文件主要起草人:昌文婷、邱鸿霖、李鸣、王晨辉、杜宇、郝玉琨、袁立威、郝汉、匡立中、李克鹏、李劲松、于明亮、张何东、笪鸿飞、石竹玉、杨光、龚自洪、陶立春、耿学玉、彭涛、刘冕宸、周子茗、任常锐、劳卫伦、孙林、兰春嘉、彭晋、陈盛龙、张晓蒙、季静婷、魏遵博、蔡庆普、胡怀勇、唐博、康红娟、刘齐军、吴明娟。T/CESA 126220231区块链 链间互操作指南1范围本文件给出了区块链互操作参考框架,描述了应用和链、链和链、链上和链下的互操作的功能和步骤。本文件适用于区块链互操作系统的开发者、提供者和使用者。2规范性引用文件本文件没有规范性引用文件。3术语和定义下列术语和定义适用于本文件。3.1互操作 interoperabilitya)两个或多个系统或组件交换信息并相互使用已交换的信息的能力;b)两个或两个以上系统可互相操作的能力。3.2区块链 blockchain使用密码技术链接将共识确认过的区块按顺序追加形成的分布式账本。来源:GB/T 42752-2023,3.123.3智能合约 smart contract存储在分布式账本中的计算机程序。注:智能合约的的共识执行结果都记录在分布式账本中。来源:GB/T 42752-2023,3.133.4链下 off-chain相对于区块链系统而言,部署,使用或执行都在区块链之外。来源:ISO 22739:2020,3.523.5链上 on-chain位于、执行或运行于区块链系统中。来源:ISO 22739:2020,3.544缩略语下列缩略语适用于本文件。DLT 分布式记账技术(Distributed Ledger Technology)TEE 可信执行环境(Trusted Execution Environment)T/CESA 1262202325互操作参考架构区块链互操作参考架构见图1,包括区块链系统与上层应用系统、其他区块链系统和非区块链系统之间的互操作。互操作实现两个系统之间交换数据信息,达成一致的语义理解,协同工作并完成同一任务,见附录A。a)应用和链互操作:通过区块链系统提供的接口,实现应用与区块链系统进行交互;b)跨链互操作:实现不同区块链系统之间的信息互通,支持原生资产的跨链交换,跨链账本访问,或智能合约互调等;c)链上链下互操作:实现链上和链下数据资源、计算资源的安全可信交互。区块链系统 A链下系统数据资源计算资源区块链系统 B应用1应用 m.应用和链互操作应用和链互操作链间互操作链上和链下互操作链上和链下互操作注:链下系统包括链下存储、IoT、预言机图1 区块链互操作参考架构6应用和链互操作应用和链的互操作指的是管控应用或服务应用通过接口(API、SDK等形式)与一种或多种区块链系统进行交互。其中管控应用主要对区块链进行管控、运维、治理等类型操作,例如区块链服务的管控系统、区块链的管理工具等。服务应用主要出于业务目的对区块链进行数据查询、发起交易、调用合约等操作,例如区块链的客户端业务应用程序。管控应用和区块链系统互操作符合:a)具备部署和配置区块链系统,对区块链各类型实例,包含联盟链、节点、子链、合约进行全生命周期的管理操作;b)支持对区块链系统的运营、监控、维护、升级;c)支持安全治理和审计。服务应用和区块链系统互操作符合:T/CESA 126220233a)具备对链上账户的操作,包含创建、查询、更改、冻结等;b)通过接口,获得区块链服务,包括链内服务(包含数据、交易、合约、资产等服务),跨链服务和链下服务;c)支持主动拉取或被动推送订阅事件的方式,实现将链上事件推送到应用。7跨链互操作7.1跨链互操作步骤跨链互操作是指在两条或两条以上的区块链之间进行交互操作,通常用于数字资产在不同的链上进行转移或其他的数据交互操作。跨链互操作示意图见图2,包含三个阶段:a)阶段1:跨链任务请求。应用在区块链A上提交跨链请求;b)阶段2:跨链任务执行。区块链A执行部分跨链任务并在链A各节点之间形成共识,区块链B执行部分跨链任务并在链B各节点之间形成共识。在各自执行任务的过程中,区块链A和区块链B交互各自共识的信息,保证跨链任务最终一致性;c)阶段3:跨链结果返回。区块链A将执行的结果返回给应用。注:应用和区块链A,区块链A和区块链B之间可直接通信,也可通过链下组件实现通信。图 2 跨链互操作示意图7.2跨链互操作功能区块链跨链互操作宜符合:a)支持全局可验证的区块链身份标识,支持非交互式链间验证;b)支持通过第三方可信验证者对跨链数据进行认证并发布验证结果和证明,其中第三方可信验证者包含单签、多签或者TEE可信计算执行环境等机制;c)确保跨链数据包的完整性,来源真实性和在源分布式账本系统中的存在性证明;d)由一个区块链发起的变更双方状态的跨链请求,满足原子性,即或者在源链和目标链都执行成功,或者在两个链都执行失败;T/CESA 126220234e)支持同构链、异构链的互操作;f)支持对应用设置跨链互操作的权限;g)具备链间智能合约消息通信、跨链账本访问功能;h)具备可扩展远程过程调用、资产原子交换等事务性功能。8链上链下互操作8.1链上链下互操作步骤应用通过发起链下任务,调用链下计算资源实现复杂的计算功能,或者调用链下存储资源完成数据的读取操作。链上链下互操作包含三个阶段,见图 3:a)阶段1:链下任务请求。应用在区块链上提交链下任务;b)阶段2:链下任务执行。区块链A执行链上任务部分,并在区块链各节点之间形成共识。链下系统执行链下任务部分,并在执行任务的过程中与区块链A交互信息,保证链下任务最终一致性。c)阶段3:链下任务结果返回。区块链将执行的结果返回给应用。应用区块链提交链下任务请求链下系统链下任务结果区块链执行链上任务部分区块链和链下交互相关信息,保证任务执行的一致性.链下系统执行链下任务部分注:应用和区块链,区块链和链下系统可直接通信,也可通过其它组件实现通信图3 链上链下交互示意图8.2链下数据资源功能要求应用直接通过链上账户或通过链上智能合约,主动发起请求,获得链下指定的数据。区块链系统与链下数据资源的互操作宜符合下列要求:a)可证明链下数据来源的真实性;b)可证明链下数据进入区块链系统的准确性、完整性;c)链下系统提供有效方法,用以确认数据被调用的记录;d)支持TEE,确保可信存储无法被篡改或者删除。8.3链下计算资源功能要求T/CESA 126220235区块链的用户直接通过账户或通过链上智能合约,主动发起请求,希望得到一项复杂计算的结果。由链下计算系统保障复杂计算结果的有效性、完整性、保密性。链下计算系统宜符合下列要求:a)确保计算过程的完整性,以及结果的可验证性;b)确保计算结果可以被提交到区块链系统,支持验证计算结果的真实性;c)提供有效方法,用于确认链下计算系统被调用的记录;d)具备常用的计算类库,如人工智能运算库;e)具备扩容能力,以处理大数据运算需求;f)保证链下程序逻辑、链下程序输入无法被篡改或者删除;g)支持隐私保护计算能力,包括TEE、零知识证明(ZKP)、多方安全计算(MPC)等机制。9性能和安全要求9.1区块链身份认证和管理区块链身份认证和管理宜符合下列要求:a)支持区块链的身份管理,包括身份创建、发现等,使得区块链的身份全局可用;b)网络中同时参与多个事务的区块链,具有唯一的身份标识;c)支持跨链互操作的双方进行身份验证;d)区块链身份由可信的身份签发者颁发,该身份签发者可以是单个可信机构或多个机构组建的联盟;e)对区块链身份进行安全校验。9.2一致性要求链间互操作提供事务一致性保障机制,宜符合下列要求:a)确保交易数据在多个不同链之间的执行状态和数据处理的一致性,即交易在多个区块链上要么全部执行成功,要么全部执行失败;b)定义可扩展的分布式事务协作协议报文,实现分布式事务协议对异构链接入的支持;c)在事务时间窗口内未能自动达成一致的事务设置为悬挂状态;d)分布式事务设计有悬挂仲裁机制,解决悬挂事务,推进悬挂事务达成最终一致性;e)采用防篡改机制,保障互操作数据的一致性。9.3访问控制链间互操作的访问控制宜符合下列要求:a)制定权限管理机制,只能访问、操作其被授权的资源;b)支持合约操作权限管理;c)支持互操作资源访问控制规则制定和管理。9.4数据安全链间互操作的数据安全宜符合下列要求:a)对于区块链内部的隐私数据,应用、其他区块链系统或者链外系统均不能非授权访问;b)保证敏感的区块链数据只被接收方获取,其他区块链或者链外服务不可获取;T/CESA 126220236c)支持TEE、零知识证明等可验证计算技术,保证互操作业务的安全;d)具有端到端数据传输的机密性和完整性保护。9.5日志管理区块链互操作的日志管理符合以下要求:a)提供基于系统日志的安全审计功能,可定义日志命令规则、打印格式、告警级别、保存时间等;b)支持根据日志中记录的互操作请求时间、通讯双方信息、互操作内容、行为等信息发现、分析并跟踪异常事件;c)支持根据日志分析追溯互操作数据流转全流程。T/CESA 126220237附录A(资料性)互操作的应用场景A.1司法存证跨链仲裁存证是当前联盟链应用最广泛、最适配的场景,区块链本身就是一个天然的存证平台,契合了存证领域的需要的去中心化、不可篡改、数据确权等特点。存证链在业务和地域上是分离的。法院是有可能从多地去取证据,多地的证据可能来源于多条联盟链上,通过链间互操作的手段便可一键从多地多个链中提取证据,并且保证证据的可信和完备。A.2跨链联合溯源溯源的本质是信息传递,将溯源电子证据记录到链上,溯源链的构成符合商品市场流程化的生产模式。目前,溯源链在食品、药品、保健品等防伪追溯领域广泛应用。但由于各自链的独立、分散运行,形成了溯源链、监管链、供应链金融链、电子票据、电子合同链等各种形态的单链,受限于各自联盟链的商业形态及监管要求,无法达到全域溯源主体方、参与方、监管方的协调配合。通过链间互操作,可以形成各种同构/异构链的可信数据互通,提升区块链在溯源领域的全面协同服务价值。A.3可信数据共享区块链数据是分布式存储的一个开放数据生态,但因各方联盟链系统独立建设,数据孤岛的问题依然存在,导致数据无法被其它链读取,数据无法实现共享。通过跨链智能合约对数据权限进行统一管理,数据使用者通过跨链身份验证并对相应数据进行上传或访问,有效控制数据权限,打破区块链数据孤岛,实现同构及异构链之间的可信互通和业务协作。T/CESA 126220238参 考 文 献1 GB/T 11457-2006信息技术 软件工程术语2 GB/T 42752-2023区块链和分布式记账技术 参考架构3 T/CESA 6002-2017区块链 数据格式规范4 ISO 22739:2020 Blockchain and distributed ledger technologiesVocabulary
展开阅读全文