CN111950036A - 一种基于可信分布式应用的区块链间交互系统及方法 - Google Patents
一种基于可信分布式应用的区块链间交互系统及方法 Download PDFInfo
- Publication number
- CN111950036A CN111950036A CN202010846933.8A CN202010846933A CN111950036A CN 111950036 A CN111950036 A CN 111950036A CN 202010846933 A CN202010846933 A CN 202010846933A CN 111950036 A CN111950036 A CN 111950036A
- Authority
- CN
- China
- Prior art keywords
- data
- chain
- sentinel
- interaction
- contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000002452 interceptive effect Effects 0.000 claims abstract description 80
- 238000013524 data verification Methods 0.000 claims abstract description 9
- 230000008859 change Effects 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims description 74
- 238000012795 verification Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 11
- 239000000523 sample Substances 0.000 claims description 7
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Abstract
本发明涉及一种基于可信分布式应用的区块链间交互系统及方法,该交互系统包括分别与哨兵链相互连接的多个哨兵合约模块,多个哨兵合约模块分别与多个不同的业务区块链相互连接,哨兵合约模块用于探测业务区块链的交互数据是否发生变化,以向哨兵链发出数据校验请求以及合约外调、并将监听的外调结果反馈给业务区块链;哨兵链根据可信证书列表,对业务区块链的交互数据进行校验、寻址,并向寻找得到的地址发送交互数据。与现有技术相比,本发明通过构建分布式的哨兵合约模块,将不同业务区块链集中与哨兵链相连接,利用哨兵链统一管理所有接入证书列表,以此实现不同业务区块链相互可信交互的目的,能够有效降低交互成本、提高交互效率。
Description
技术领域
本发明涉及区块链技术领域,尤其是涉及一种基于可信分布式应用的区块链间交互系统及方法。
背景技术
区块链技术所具有的分布式、不可篡改等特性催生了多种联盟应用,特别是需要多方协作的应用场景更能凸显区块链应用价值,解决了联盟内的数据壁垒,使得各个参与方间通过区块链技术实现多方数据存储及交互,但由于目前联盟与联盟间、区块链与区块链间存在技术标准以及业务模式的差别,使得相互之间无法进行可信的互访问操作,导致现有区块链应用存在以下难点:
1、跨业务的区块链应用基本无法实现,当前单体区块链应用基本以某一业务背景为基础,结合区块链技术特点设计业务流程、业务范围以及业务数据标准,其他区块链业务应用需要相互访问时,基本无法协同双方区块链间的业务模式,导致无法在线交互,常见的做法基本由某一主导业务系统作为协调方,协同双方区块链数据实现业务交互,这样导致区块链中心化问题。
2、跨联盟的区块链应用,特别是跨不同技术标准的区块链联盟基本无法实现相互访问,当前在没有统一区块链技术标准的前提下,各家区块链应用也基于不同区块链底层技术实现,技术相同区块链技术,不同版本间也存在巨大差异,因此将有差异的区块链进行相互访问基本无法实现。
为解决上述问题,现有研究通过业务应用系统连接多个区块链,以实现多个区块链之间的数据交互,该方法具体是在应用系统嵌入不同区块链间的调用模块,将不同区块链间的不同数据标准进行转换,以满足对方区块链的相关技术标准,并切换对应密码设备(一般为区块链相关证书)调用对应API访问区块链,从而基本能实现个别区块链间的相互访问,由业务应用系统连接多个区块链虽然能在一定程度上实现不同区块链访问,但随着不同业务场景下联盟的增多,应用系统需要对接的区块链也越来越多,应用系统需要适配各种不用业务标准、不同业务流程的区块链应用,使得业务逻辑变得复杂,同时,相同的业务在不同区块链间切换也会导致用户体验变差。因此,技术标准、数据格式的不统一,导致对接和调试成本很高,一对多的架构还需考虑高并发下的性能问题,使得这种方法难以全面推广使用。
另有研究采用可信第三方的方式,由可信第三方作为中间人建立一个桥接系统,作为相互信任的第三方中间人收集不同区块链间的数据,并将不同区块链间的数据相互同步,使得不同联盟间数据共享实现区块链间互相访问。这种方式需要付出高昂的安全成本:首先,该中间人要在所有对接联盟间保持业务中立,否则业务信任链将会瓦解;其次,由于该中间人能获取所有对接区块链上账本数据,联盟内数据隐私保护将成为巨大难题;最后,该中间人程序的性能问题直接反应到区块链间相互访问性能,安全运行环境也会影响到所有联盟区块链的安全运行。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于可信分布式应用的区块链间交互系统及方法,以实现基于不同业务场景、不同底层技术的区块链数据交互,且能保证数据交互的安全性以及交互效率。
本发明的目的可以通过以下技术方案来实现:一种基于可信分布式应用的区块链间交互系统,包括分别与哨兵链相互连接的多个哨兵合约模块,多个哨兵合约模块分别与多个不同的业务区块链相互连接,所述哨兵合约模块用于探测业务区块链的交互数据是否发生变化,以向哨兵链发出数据校验请求以及合约外调、并将监听的外调结果反馈给业务区块链;
所述哨兵链根据可信证书列表,对业务区块链的交互数据进行校验、寻址,并向寻找得到的地址发送交互数据。
进一步地,业务区块链分为三种类型:普通类型区块链、可编写智能合约类型区块链以及特殊类型区块链,所述普通类型区块链直接通过哨兵合约模块与哨兵链相互连接,所述可编写智能合约类型区块链中设置有适配合约模块,所述适配合约模块通过哨兵合约模块与哨兵链相互连接,所述特殊类型区块链连接有适配器,所述适配器通过哨兵合约模块与哨兵链相互连接,所述适配合约模块和适配器均用于对交互数据进行数据加解密以及数据组装。
进一步地,所述交互数据包括交互请求数据和交互响应数据,所述交互请求数据分为头部信息、数据签名段以及请求数据段,所述交互响应数据分为头部信息、解锁信息、数据签名段和响应数据段,所述头部信息包括身份地址、标识段、预留段和校验段,所述身份地址包括源地址和目标地址,所述标识段包括业务标识和数据标志,所述预留段用于扩展性配置,所述校验段包括完整校验数据和加密标志;
所述交互请求数据的数据签名段具体为源地址身份数据签名,所述交互响应数据的数据签名段具体为目标地址身份数据签名;
所述交互请求数据的请求数据段包括目标地址、失效和请求数据体,所述交互响应数据的响应数据段具体为响应数据体;
所述交互响应数据的解锁信息包括目标地址公钥及公钥签名。
一种基于可信分布式应用的区块链间交互方法,包括以下步骤:
S1、将不同业务区块链统一注册到哨兵链上,使哨兵链上存储有对应于多个业务区块链的可信证书列表;
S2、对各哨兵合约模块配置相关交互信息,包括交互请求范围、基础探针、合约响应信息以及外调监听信息;
S3、作为请求方的业务区块链生成交互请求数据;
S4、与请求方连接的哨兵合约模块探测到交互请求数据,该哨兵合约模块向哨兵链发起数据校验请求及合约外调;
S5、哨兵链根据可信证书列表,对交互请求数据进行校验,若检验通过,则继续对交互请求数据进行寻址,得到目标地址,并将交互请求数据发送至目标地址链,若校验不通过,则终止区块链间的交互;
S6、作为响应方的业务区块链接收到交互请求数据后,根据自身的可信证书对交互请求数据进行校验,若校验通过,则生成对应的交互响应数据,若校验不通过,则终止区块链间的交互;
S7、与响应方连接的哨兵合约模块探测到交互响应数据,该哨兵合约模块向哨兵链发起数据校验请求及合约外调;
S8、哨兵链根据可信证书列表,对交互响应数据进行校验,若检验通过,则继续对交互响应数据进行寻址,得到源地址,并将交互响应数据发送至源地址链,若校验不通过,则终止区块链间的交互;
S9、基于交互请求数据的时效规定,在时效规定范围内,若与请求方连接的哨兵合约模块监听到哨兵链将交互响应数据发送至源地址链,则执行步骤S10,否则该哨兵合约模块向请求方发送请求失败的信息,终止区块链间的交互;
S10、作为请求方的业务区块链接收到交互响应数据,完成区块链间的交互。
进一步地,所述步骤S1中将不同业务区块链统一注册到哨兵链的具体实现过程包括两种,第一种实现方式为:不同业务区块链根据自身密码学特性,生成对应的区块链身份证书、并计算相应公钥地址注册到哨兵链上,以获得合法身份;
第二种实现方式为:哨兵链主动颁发身份证书及地址信息给不同的业务区块链。
进一步地,所述步骤S3中生成交互请求数据的过程包括以下步骤:
S31、确定读集,并定位写集,写集状态位锁定状态;
S32、输入目标地址,并填写请求信息,该请求信息包括请求体参数列表、签名信息及背书信息;
S33、对目标地址、时效和请求数据段签名,并组装成完整数据块,即得到交互请求数据。
进一步地,所述步骤S5中哨兵链根据可信证书列表,对交互请求数据的源地址进行校验。
进一步地,所述步骤S6具体包括以下步骤:
S61、目标地址链接收到交互请求数据后,首先校验源地址是否在自己可信证书链中,若校验通过,则执行步骤S62,否则终止区块链间的交互;
S62、继续对目标地址进行校验,以验证目标地址是否为本地址,若验真伪是,则执行步骤S63,否则终止区块链间的交互;
S63、通过输入公钥签名以及公钥信息,以进行解锁校验,若校验通过,则执行步骤S64,否则终止区块链间的交互;
S64、作为响应方的业务区块链调用自身合约,以生成交互响应数据。
进一步地,所述步骤S64中生成交互响应数据的具体过程为:
S641、根据交互请求数据的请求数据体,确定本业务链读写集,获得响应数据体;
S642、输入解锁信息、返回数据签名,并组装成完整数据块,即得到交互响应数据。
进一步地,所述步骤S8中哨兵链根据可信证书列表,对交互响应数据的目标地址进行校验。
与现有技术相比,本发明具有以下优点:
一、本发明通过设置与不同业务区块链相互连接的哨兵合约模块,利用哨兵合约模块与哨兵链的相互连接,并采用可编写智能合约的方式以及适配器的方式,使得哨兵链能够兼容各种类型区块链以及各类型运行环境,以此将不同业务区块链统一注册到哨兵链上,解决了各方的信任与安全问题,能够实现不同业务场景、不同底层技术区块链间相互可信的数据交互,且能有效降低交互成本、保证数据交互的安全性以及交互效率。
二、本发明提出了一种区块链间交互的交互数据结构,该交互数据结构包括交互请求数据和交互响应数据,以此统一规范化了交互数据的格式,使得作为请求方业务区块链与作为响应方的业务区块链之间能够基于统一的交互数据结构进行交互,通过对源地址/目标地址进行校验,通过对数据进行加解密、签名及组装,以及在数据中设定时效,能够保证请求与响应的安全有效性,进一步提高了区块链间数据交互的安全性及效率。
附图说明
图1为本发明的系统结构示意图;
图2为交互数据结构示意图;
图3为本发明的方法流程示意图;
图4为实施例中区块链间交互过程示意图;
图中标记说明:1、普通类型区块链,2、可编写智能合约类型区块链,201、适配合约模块,3、特殊类型区块链,4、哨兵合约模块,5、哨兵链,6、适配器。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种基于可信分布式应用的区块链间交互系统,包括哨兵链5,哨兵链5通过哨兵合约模块4与不同的业务区块链相互连接,其中,业务区块链分为普通类型区块链1、可编写智能合约类型区块链2和特殊类型区块链3,普通类型区块链1通过哨兵合约模块4直接与哨兵链5相互连接,可编写智能合约类型区块链2通过高级语言编写智能合约,以设置适配合约模块201,该适配合约模块201与哨兵合约模块4相互连接,特殊类型区块链3由于无法直接或通过改造以间接接入哨兵链5,因此,特殊类型区块链3连接有适配器6,适配器6再与哨兵合约模块4相连接。
具体的,哨兵链5一种用于分布式部署哨兵合约的区块链,实际应用中可以由多家监管机构、受托方共同运营该区块链,保障部署的哨兵合约安全可信,同时,为满足哨兵合约功能,该区块链需要能满足可扩展性安全接入以及安全外调功能:可扩展性安全接入是指能根据可信证书列表验证接入区块链访问,哨兵链维护所有接入证书列表,并计算证书公钥地址,请求方请求时根据请求方地址与当前持有证书列表匹配,才能继续执行哨兵合约;安全外调功能是指哨兵链上合约有外调区块链能力以及业务链数据探针能力,即可以在安全可信的方式下,访问证书列表清单内的业务链,同时能监听业务链的落链变化;
哨兵合约模块4主要承担数据探针功能以及业务链外调功能,一旦业务链的区块数据发生变化,并且符合区块链间交互特性的,将立即发起请求数据的校验以及合约外调,并监听外调结果及时反馈给请求方;
适配器6则具有以下功能:探针配置,配置外调数据特征,一般为合约名称、数据体特征的组合;
地址转换,将公钥信息执行SHA256,获得64位地址;
别名配置,将地址信息定义为别名,方便外链调用;
数据签名,以业务链身份为外调数据签名;
解锁信息验证,对其他业务链响应的数据进行解锁分析,确认响应者身份;
业务链调用,对其他链请求或响应调用本业务链合约或交易,执行业务落链;
请求/响应数据组装,对需要请求或响应的数据,根据哨兵链要求进行组装。
本发明利用哨兵合约模块4以及哨兵链5,能够实现各个区块链间可信、高效地交互,为了进一步保证区块链间请求方与响应方的安全高效交互,本发明提出一种交互数据结构,如图2所示,该交互数据包括交互请求数据和交互响应数据,即分为请求和响应两部分,请求部分由头部信息、数据签名段、请求数据段组成,用于完整描述请求方的用户信息、行为信息、行为内容以及安全信息;响应部分由头部信息、解锁信息、数据签名段和响应数据段组成,相比请求部分需要更多的信息描述响应者身份便于请求方辨别响应是否有效,具体的基本数据描述如下:
1、身份地址
身份地址信息包括源地址和目标地址,都为SHA256(PUBKEY)计算而来,即将公钥地址进行SHA256计算,获得64位地址信息。通过这种标识方式,区块链地址便于交换,同时具有一定隐匿性。
2、标识段
标识段信息包括业务标识和数据标志(REQ/RSP),业务标识为记录业务的唯一编号,用于请求和响应业务链识别业务交易的编号,一般由请求业务链合约调用时产生,响应链可以试用该编号识别业务交易,可以作为交易一致性功能的标识,数据长度限于50位以内;数据标志用于表示请求还是响应,方便哨兵程序识别,数据长度限于3位。
3、预留段
预留20位信息用于其他扩展性配置。
4、校验段
校验段包括完整校验数据以及加密标志,其中完整校验数据是指对数据段数据哈希后4位信息,即对数据段执行两次SHA256后,截取后4位信息存储;加密标志是指数据段签名采用的非对称算法,包括但不限于RAS、ECC、SM2等。
5、请求数据段
请求数据段包括目标地址、时效以及数据体组成,其中时效为12位年月日时分信息,格式为yyyyMMddHHmm;数据体是用于请求其他业务链的完整数据信息,该数据信息包括对方业务区块链包括的安全验证信息、请求信息列表以及身份信息,该数据结构以对方区块链要求为准。
6、数据段签名
为识别请求方用户可信,需要对数据段进行签名。签名包括两步,第一步为数据段哈希,采用SHA256算法获得64位信息;第二步为用私钥将哈希结果加密,其中加密算法以校验段加密标志为准。
7、解锁信息
为便于请求方确认响应方身份及权限,需要响应方提供解锁信息,解锁信息包括响应方公钥信息以及其公钥签名。响应方公钥信息能推导出公钥地址,与目标地址比对是否一致表明公钥身份;使用响应方公钥对公钥签名解密,获得公钥信息,即能验证响应方身份。
8、响应段
响应段报文为响应方业务区块链返回信息,一般为响应方区块链写集信息,请求方根据响应段信息判断结果,处理最终请求方业务链数据落链。
将上述的区块链间交互系统应用于实际,其具体工作过程如图3所示,包括:
S1、将不同业务区块链统一注册到哨兵链上,使哨兵链上存储有对应于多个业务区块链的可信证书列表,其中,统一注册方式包括两种,第一种实现方式为:不同业务区块链根据自身密码学特性,生成对应的区块链身份证书、并计算相应公钥地址注册到哨兵链上,以获得合法身份;
第二种实现方式为:哨兵链主动颁发身份证书及地址信息给不同的业务区块链;
S2、对各哨兵合约模块配置相关交互信息,包括交互请求范围、基础探针、合约响应信息以及外调监听信息;
S3、作为请求方的业务区块链生成交互请求数据:
首先确定读集,并定位写集,写集状态位锁定状态;
之后输入目标地址,并填写请求信息,该请求信息包括请求体参数列表、签名信息及背书信息;
最后对目标地址、时效和请求数据段签名,并组装成完整数据块,即得到交互请求数据;
S4、与请求方连接的哨兵合约模块探测到交互请求数据,该哨兵合约模块向哨兵链发起数据校验请求及合约外调;
S5、哨兵链根据可信证书列表,对交互请求数据的源地址进行校验,若检验通过,则继续对交互请求数据进行寻址,得到目标地址,并将交互请求数据发送至目标地址链,若校验不通过,则终止区块链间的交互;
S6、作为响应方的业务区块链接收到交互请求数据后,根据自身的可信证书对交互请求数据进行校验,若校验通过,则生成对应的交互响应数据,若校验不通过,则终止区块链间的交互,其具体过程为:
S61、目标地址链在接收到交互请求数据后,首先校验源地址是否在自己可信证书链中,若校验通过,则执行步骤S62,否则终止区块链间的交互;
S62、继续对目标地址进行校验,以验证目标地址是否为本地址,若验真伪是,则执行步骤S63,否则终止区块链间的交互;
S63、通过输入公钥签名以及公钥信息,以进行解锁校验,若校验通过,则执行步骤S64,否则终止区块链间的交互;
S64、作为响应方的业务区块链调用自身合约,首先根据交互请求数据的请求数据体,确定本业务链读写集,获得响应数据体;之后输入解锁信息、返回数据签名,并组装成完整数据块,即得到交互响应数据;
S7、与响应方连接的哨兵合约模块探测到交互响应数据,该哨兵合约模块向哨兵链发起数据校验请求及合约外调;
S8、哨兵链根据可信证书列表,对交互响应数据的目标地址进行校验,若检验通过,则继续对交互响应数据进行寻址,得到源地址,并将交互响应数据发送至源地址链,若校验不通过,则终止区块链间的交互;
S9、基于交互请求数据的时效规定,在时效规定范围内,若与请求方连接的哨兵合约模块监听到哨兵链将交互响应数据发送至源地址链,则执行步骤S10,否则该哨兵合约模块向请求方发送请求失败的信息,终止区块链间的交互;
S10、作为请求方的业务区块链接收到交互响应数据,完成区块链间的交互。
本实施例具体是对普通类型区块链1与可编写智能合约类型区块链2之间的交互过程进行说明,在进行交互之前,首先需要完成统一注册,按照本发明提出的方法,各不同的业务区块链可根据自身密码学特性,生成对应的区块链身份证书,并计算公钥地址注册到哨兵链上,从而获得合法身份,也可以由哨兵链颁发业务区块链身份证书及地址信息,配置到各不同的业务区块链,以此实现身份注册。
之后需要在业务区块链网络可达环境下部署哨兵合约,配置相关交互信息,包括交互请求范围、响应合约信息、基础探针等,并由哨兵链全网审批共识,达到哨兵链许可条件后运行哨兵链,此时具备了业务链调用条件。
此外,由于可编写智能合约类型区块链2无法直接通过哨兵合约模块与哨兵链相连接,因此需要对该区块链的合约进行升级,若在实际应用中,业务区块链为特殊类型区块链3,则需部署适配器,本实施例对可编写智能合约类型区块链2的智能合约进行升级,以设置成适配合约,具备以下能力:
地址转换,将公钥信息执行SHA256,获得64位地址;
数据签名,以业务链身份为外调数据签名;
解锁信息验证,对其他业务链响应的数据进行解锁分析,确认响应者身份;
请求/响应数据组装,对需要请求或响应的数据,根据哨兵链要求进行组装。
最后,本实施例的区块链间交互过程具体如图4所示,从请求方业务链1开始以区块链落链的方式请求响应方业务链2,流程中跨链模块即为需要升级的合约功能或适配器模块功能,承担基础合约在访问其他业务链前的数据加解密以及数据组装功能,对于为在指定时效内响应的数据,则通过哨兵合约模块向请求方触发请求失败,以让请求方立即采取后续处理。通过以上的交互流程即可业务区块链间的相互访问,打破区块链间数据壁垒,进一步互联互通。
综上所述,由于现有的区块链间交互方案有限,多由业务系统承担多个区块链间的访问,或通过第三方中间作为区块链间桥梁实现区块链间通讯,存在成本高、效率低、数据容易被篡改、不易推广等缺点。本发明通过部署在区块链上的具有交互功能的哨兵合约模块,结合哨兵链,能够有效地实现区块链间交互,并且能够在多家参与机构对交互程序安全监管的前提下,保障区块链间安全可靠的互联互通,有效地降低交互成本,提高交互效率。
此外,本发明技术方案具有很好的推广性,可以应用于需要区块链间通讯的通用场景,不限需要通讯区块链间的技术差异、业务差异,将例如物联网区块链与供应链金融区块链实现对接,使得物联网数据与供应链数据相互校验,提升融资环境的可信问题。通过本发明可以实现多种区块链安全可行通讯,提供业务覆盖面,加速区块链应用场景落地。
Claims (10)
1.一种基于可信分布式应用的区块链间交互系统,其特征在于,包括分别与哨兵链(5)相互连接的多个哨兵合约模块(4),多个哨兵合约模块(4)分别与多个不同的业务区块链相互连接,所述哨兵合约模块(4)用于探测业务区块链的交互数据是否发生变化,以向哨兵链(5)发出数据校验请求以及合约外调、并将监听的外调结果反馈给业务区块链;
所述哨兵链(5)根据可信证书列表,对业务区块链的交互数据进行校验、寻址,并向寻找得到的地址发送交互数据。
2.根据权利要求1所述的一种基于可信分布式应用的区块链间交互系统,其特征在于,业务区块链分为三种类型:普通类型区块链(1)、可编写智能合约类型区块链(2)以及特殊类型区块链(3),所述普通类型区块链(1)直接通过哨兵合约模块(4)与哨兵链(5)相互连接,所述可编写智能合约类型区块链(2)中设置有适配合约模块(201),所述适配合约模块(201)通过哨兵合约模块(4)与哨兵链(5)相互连接,所述特殊类型区块链(3)连接有适配器(6),所述适配器(6)通过哨兵合约模块(4)与哨兵链(5)相互连接,所述适配合约模块(201)和适配器(6)均用于对交互数据进行数据加解密以及数据组装。
3.根据权利要求1所述的一种基于可信分布式应用的区块链间交互系统,其特征在于,所述交互数据包括交互请求数据和交互响应数据,所述交互请求数据分为头部信息、数据签名段以及请求数据段,所述交互响应数据分为头部信息、解锁信息、数据签名段和响应数据段,所述头部信息包括身份地址、标识段、预留段和校验段,所述身份地址包括源地址和目标地址,所述标识段包括业务标识和数据标志,所述预留段用于扩展性配置,所述校验段包括完整校验数据和加密标志;
所述交互请求数据的数据签名段具体为源地址身份数据签名,所述交互响应数据的数据签名段具体为目标地址身份数据签名;
所述交互请求数据的请求数据段包括目标地址、失效和请求数据体,所述交互响应数据的响应数据段具体为响应数据体;
所述交互响应数据的解锁信息包括目标地址公钥及公钥签名。
4.一种应用如权利要求3所述系统的区块链间交互方法,其特征在于,包括以下步骤:
S1、将不同业务区块链统一注册到哨兵链上,使哨兵链上存储有对应于多个业务区块链的可信证书列表;
S2、对各哨兵合约模块配置相关交互信息,包括交互请求范围、基础探针、合约响应信息以及外调监听信息;
S3、作为请求方的业务区块链生成交互请求数据;
S4、与请求方连接的哨兵合约模块探测到交互请求数据,该哨兵合约模块向哨兵链发起数据校验请求及合约外调;
S5、哨兵链根据可信证书列表,对交互请求数据进行校验,若检验通过,则继续对交互请求数据进行寻址,得到目标地址,并将交互请求数据发送至目标地址链,若校验不通过,则终止区块链间的交互;
S6、作为响应方的业务区块链接收到交互请求数据后,根据自身的可信证书对交互请求数据进行校验,若校验通过,则生成对应的交互响应数据,若校验不通过,则终止区块链间的交互;
S7、与响应方连接的哨兵合约模块探测到交互响应数据,该哨兵合约模块向哨兵链发起数据校验请求及合约外调;
S8、哨兵链根据可信证书列表,对交互响应数据进行校验,若检验通过,则继续对交互响应数据进行寻址,得到源地址,并将交互响应数据发送至源地址链,若校验不通过,则终止区块链间的交互;
S9、基于交互请求数据的时效规定,在时效规定范围内,若与请求方连接的哨兵合约模块监听到哨兵链将交互响应数据发送至源地址链,则执行步骤S10,否则该哨兵合约模块向请求方发送请求失败的信息,终止区块链间的交互;
S10、作为请求方的业务区块链接收到交互响应数据,完成区块链间的交互。
5.根据权利要求4所述的一种区块链间交互方法,其特征在于,所述步骤S1中将不同业务区块链统一注册到哨兵链的具体实现过程包括两种,第一种实现方式为:不同业务区块链根据自身密码学特性,生成对应的区块链身份证书、并计算相应公钥地址注册到哨兵链上,以获得合法身份;
第二种实现方式为:哨兵链主动颁发身份证书及地址信息给不同的业务区块链。
6.根据权利要求4所述的一种区块链间交互方法,其特征在于,所述步骤S3中生成交互请求数据的过程包括以下步骤:
S31、确定读集,并定位写集,写集状态位锁定状态;
S32、输入目标地址,并填写请求信息,该请求信息包括请求体参数列表、签名信息及背书信息;
S33、对目标地址、时效和请求数据段签名,并组装成完整数据块,即得到交互请求数据。
7.根据权利要求4所述的一种区块链间交互方法,其特征在于,所述步骤S5中哨兵链根据可信证书列表,对交互请求数据的源地址进行校验。
8.根据权利要求4所述的一种区块链间交互方法,其特征在于,所述步骤S6具体包括以下步骤:
S61、目标地址链接收到交互请求数据后,首先校验源地址是否在自己可信证书链中,若校验通过,则执行步骤S62,否则终止区块链间的交互;
S62、继续对目标地址进行校验,以验证目标地址是否为本地址,若验真伪是,则执行步骤S63,否则终止区块链间的交互;
S63、通过输入公钥签名以及公钥信息,以进行解锁校验,若校验通过,则执行步骤S64,否则终止区块链间的交互;
S64、作为响应方的业务区块链调用自身合约,以生成交互响应数据。
9.根据权利要求8所述的一种区块链间交互方法,其特征在于,所述步骤S64中生成交互响应数据的具体过程为:
S641、根据交互请求数据的请求数据体,确定本业务链读写集,获得响应数据体;
S642、输入解锁信息、返回数据签名,并组装成完整数据块,即得到交互响应数据。
10.根据权利要求4所述的一种区块链间交互方法,其特征在于,所述步骤S8中哨兵链根据可信证书列表,对交互响应数据的目标地址进行校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010846933.8A CN111950036B (zh) | 2020-08-21 | 2020-08-21 | 一种基于可信分布式应用的区块链间交互系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010846933.8A CN111950036B (zh) | 2020-08-21 | 2020-08-21 | 一种基于可信分布式应用的区块链间交互系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111950036A true CN111950036A (zh) | 2020-11-17 |
CN111950036B CN111950036B (zh) | 2023-11-14 |
Family
ID=73359244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010846933.8A Active CN111950036B (zh) | 2020-08-21 | 2020-08-21 | 一种基于可信分布式应用的区块链间交互系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111950036B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109313753A (zh) * | 2016-04-01 | 2019-02-05 | 摩根大通国家银行 | 用于在私有分布式账本中提供数据隐私的系统和方法 |
WO2019090342A1 (en) * | 2017-11-06 | 2019-05-09 | Velo Holdings Limited | Blockchain system |
US20190156938A1 (en) * | 2017-11-20 | 2019-05-23 | Michael Brunner | System, method and data model for secure prescription management |
CN109874409A (zh) * | 2017-09-12 | 2019-06-11 | 西北大学 | 区块链分发网络 |
CN109918878A (zh) * | 2019-04-24 | 2019-06-21 | 中国科学院信息工程研究所 | 一种基于区块链的工业物联网设备身份认证及安全交互方法 |
WO2020095110A1 (en) * | 2018-11-09 | 2020-05-14 | Velo Holdings Limited | Blockchain with non-turing complete system guards |
US20200177373A1 (en) * | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
US10728044B1 (en) * | 2019-02-22 | 2020-07-28 | Beyond Identity Inc. | User authentication with self-signed certificate and identity verification and migration |
CN111539726A (zh) * | 2020-04-20 | 2020-08-14 | 中国工商银行股份有限公司 | 区块链共识系统及方法 |
CN111881168A (zh) * | 2020-07-28 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种数据管理方法、系统、电子设备及存储介质 |
CN113570350A (zh) * | 2021-06-11 | 2021-10-29 | 交通银行股份有限公司 | 一种基于区块链的票据数字化交互系统及其方法 |
CN114430350A (zh) * | 2022-04-01 | 2022-05-03 | 南京智人云信息技术有限公司 | 基于区块链智能合约的网络安全通信系统 |
-
2020
- 2020-08-21 CN CN202010846933.8A patent/CN111950036B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109313753A (zh) * | 2016-04-01 | 2019-02-05 | 摩根大通国家银行 | 用于在私有分布式账本中提供数据隐私的系统和方法 |
CN109874409A (zh) * | 2017-09-12 | 2019-06-11 | 西北大学 | 区块链分发网络 |
WO2019090342A1 (en) * | 2017-11-06 | 2019-05-09 | Velo Holdings Limited | Blockchain system |
US20190156938A1 (en) * | 2017-11-20 | 2019-05-23 | Michael Brunner | System, method and data model for secure prescription management |
WO2020095110A1 (en) * | 2018-11-09 | 2020-05-14 | Velo Holdings Limited | Blockchain with non-turing complete system guards |
US20200177373A1 (en) * | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
US10728044B1 (en) * | 2019-02-22 | 2020-07-28 | Beyond Identity Inc. | User authentication with self-signed certificate and identity verification and migration |
CN109918878A (zh) * | 2019-04-24 | 2019-06-21 | 中国科学院信息工程研究所 | 一种基于区块链的工业物联网设备身份认证及安全交互方法 |
CN111539726A (zh) * | 2020-04-20 | 2020-08-14 | 中国工商银行股份有限公司 | 区块链共识系统及方法 |
CN111881168A (zh) * | 2020-07-28 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种数据管理方法、系统、电子设备及存储介质 |
CN113570350A (zh) * | 2021-06-11 | 2021-10-29 | 交通银行股份有限公司 | 一种基于区块链的票据数字化交互系统及其方法 |
CN114430350A (zh) * | 2022-04-01 | 2022-05-03 | 南京智人云信息技术有限公司 | 基于区块链智能合约的网络安全通信系统 |
Non-Patent Citations (1)
Title |
---|
ALEX HOFFMAN等: "Decentralized Security Bounty Management on Blockchain and IPFS", 2020 10TH ANNUAL COMPUTING AND COMMUNICATION WORKSHOP AND CONFERENCE (CCWC), pages 241 - 247 * |
Also Published As
Publication number | Publication date |
---|---|
CN111950036B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | A blockchain based new secure multi-layer network model for internet of things | |
CN110535872B (zh) | 在区块链网络中处理数据请求的方法和装置 | |
CN110012015B (zh) | 一种基于区块链的物联网数据共享方法及系统 | |
WO2018112946A1 (zh) | 注册及授权方法、装置及系统 | |
JP2021505097A (ja) | 接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス | |
US20100154040A1 (en) | Method, apparatus and system for distributed delegation and verification | |
US8402511B2 (en) | LDAPI communication across OS instances | |
US9325697B2 (en) | Provisioning and managing certificates for accessing secure services in network | |
US20130173747A1 (en) | System, method and apparatus providing address invisibility to content provider/subscriber | |
CN110381075B (zh) | 基于区块链的设备身份认证方法和装置 | |
CN112702402A (zh) | 基于区块链技术实现政务信息资源共享和交换的系统、方法、装置、处理器及其存储介质 | |
WO2022193984A1 (zh) | 跨链进行数据传输的方法、装置、计算机设备、存储介质和计算机程序产品 | |
CN113515756B (zh) | 基于区块链的高可信数字身份管理方法及系统 | |
Garba et al. | LightLedger: a novel blockchain-based domain certificate authentication and validation scheme | |
CN113271311A (zh) | 一种跨链网络中的数字身份管理方法及系统 | |
CN114866346A (zh) | 一种基于分散式的密码服务平台 | |
CN111835755A (zh) | 物联网设备和物联网业务系统的相互认证方法及其设备 | |
CN112118231B (zh) | 一种基于区块链技术的可信身份管理方法 | |
CN113326529A (zh) | 一种基于可信计算的去中心化架构统一方法 | |
CN113328854A (zh) | 基于区块链的业务处理方法及系统 | |
CN113872986B (zh) | 配电终端认证方法、装置和计算机设备 | |
CN111950036A (zh) | 一种基于可信分布式应用的区块链间交互系统及方法 | |
CN113507370B (zh) | 基于区块链的林业物联网设备授权认证访问控制方法 | |
CN113660632B (zh) | 一种基于区块链的v2x身份管理方法及管理系统 | |
CN114091009A (zh) | 利用分布式身份标识建立安全链接的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |