CN116155624B - 针对异构联盟链的跨链方法、装置及系统 - Google Patents
针对异构联盟链的跨链方法、装置及系统 Download PDFInfo
- Publication number
- CN116155624B CN116155624B CN202310415333.XA CN202310415333A CN116155624B CN 116155624 B CN116155624 B CN 116155624B CN 202310415333 A CN202310415333 A CN 202310415333A CN 116155624 B CN116155624 B CN 116155624B
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- link
- alliance
- user
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012795 verification Methods 0.000 claims abstract description 55
- 230000007246 mechanism Effects 0.000 claims abstract description 49
- 230000009977 dual effect Effects 0.000 claims abstract description 34
- 238000004891 communication Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 14
- 238000007726 management method Methods 0.000 description 69
- 230000006870 function Effects 0.000 description 31
- 230000003993 interaction Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 18
- 239000003999 initiator Substances 0.000 description 13
- 239000000306 component Substances 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004873 anchoring Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种针对异构联盟链的跨链方法、装置及系统,方法包括:调用自身唯一所属的源联盟链对应的身份管理模块,对当前向源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证;将通过双重身份认证的跨链用户发出的将跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证;基于预设的跨链调用机制将通过访问权限验证的跨链调用请求转发至外部联盟链。本申请能够有效提高异构联盟链之间进行跨链的便捷性和效率,并能够提高联盟链跨链的灵活性;还能够有效提高针对异构联盟链的跨链过程的安全性及可靠性。
Description
技术领域
本申请涉及联盟链技术领域,尤其涉及针对异构联盟链的跨链方法、装置及系统。
背景技术
高效通用的跨链技术是实现万链互联的关键。跨链,顾名思义,就是通过某些技术让价值跨过链与链之间的障碍,使得原本存储在特定联盟链上的价值转换为另一条链上的价值,从而实现价值的流通。跨链技术能够连通分散的联盟链生态孤岛,成为联盟链整体向外拓展的桥梁纽带。跨链的目的是在未来连接所有联盟链系统,建立独立平行链之间信息传输的桥梁,达到联盟链真正地实现去中心化数据共享的目的。
目前,跨链技术主要包括四种,分别为:公证人机制、哈希时间锁定、侧链或中继模式以及分布式私钥控制。然而,由于异构联盟链平台有着各自的SDK、智能合约框架、密码算法和交互逻辑,因此,现有的针对联盟链的跨链技术中,开发者不得不针对性地学习每一种联盟链平台的API和调用逻辑,做定制化开发。当两个异构联盟链平台存在跨链需求时,需要重新学习对方平台的 API 和调用逻辑,这不仅是对开发者精力和成本的巨大浪费,也是跨链落地难的一个重要原因;同时,现有的针对联盟链的跨链技术也无法保证跨链过程的安全性及可靠性。
发明内容
鉴于此,本申请实施例提供了针对异构联盟链的跨链方法、装置及系统,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种针对异构联盟链的跨链方法,包括:
调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证;
将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证;
基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链。
在本申请的一些实施例中,还包括:
接收自身所属的源联盟链对应的身份管理模块发出的所述源联盟链中的跨链用户的身份证明,其中,所述身份管理模块预先接收自身所属的源联盟链中的一联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户的身份标识及公私钥对以得到跨链账户,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户成为跨链用户,而后生成并发出该跨链用户对应的身份证明;
将所述源联盟链的跨链用户的身份证明发送至外部联盟链,以使外部联盟链对应的跨链身份管理模块存储所述源联盟链的跨链用户的身份证明。
在本申请的一些实施例中,所述调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证,包括:
获取自身唯一所属的源联盟链中的跨链用户经联盟链应用发送至所述源联盟链的跨链调用请求,并将该跨链用户确定为当前的跨链用户;
调用所述源联盟链对应的身份管理模块分别对该跨链用户的链上账户和跨链账户进行正确性认证;
若所述跨链用户通过所述正确性认证,则判断所述跨链账户和所述链上账户之间是否相互关联,若是,则判定所述跨链用户通过双重身份认证。
在本申请的一些实施例中,所述将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证,包括:
将通过双重身份认证的跨链用户发出的所述跨链调用请求发送至预设的治理链,以使该治理链采用预设的基于属性的访问控制机制验证所述跨链调用请求是否具备针对所述外部联盟链的访问权限,并返回对应的验证结果;
接收所述治理链返回的所述验证结果。
在本申请的一些实施例中,所述跨链调用机制包括:基于智能合约的三阶段提交协议;
相对应的,所述基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链,包括:
若所述跨链调用请求通过访问权限验证,则采用基于智能合约的三阶段提交协议将所述跨链调用请求转发至所述外部联盟链,以在该外部联盟链中的跨链用户响应所述跨链调用请求之后,自该外部联盟链获取该跨链调用请求的调用结果数据。
在本申请的一些实施例中,还包括:
接收外部联盟链的跨链核心路由转发的该外部联盟链中的一跨链用户发出的针对所述源联盟链的跨链调用请求;
自针对所述源联盟链的跨链调用请求中获取该外部联盟链的跨链用户的身份标识;
调用所述源联盟链对应的身份管理模块中预存储的所述外部联盟链的跨链用户的身份标识对应的身份证明,并基于该身份证明对所述外部联盟链的跨链用户进行链上和跨链的双重身份认证;
若所述外部联盟链的跨链用户通过双重身份认证,则调用所述源联盟链上的智能合约,并将针对所述源联盟链的跨链调用请求转发至该跨链调用请求指定的所述源联盟链中的跨链用户,以使该跨链用户进行调用所述源联盟链上的智能合约的响应,并使得所述源联盟链在执行所述智能合约后返回针对所述源联盟链的跨链调用请求对应的调用结果数据;
将针对所述源联盟链的跨链调用请求对应的调用结果数据发送至所述外部联盟链的跨链核心路由。
本申请的第二个方面提供了一种针对异构联盟链的跨链装置,包括:
身份管理模块,用于调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证;
访问控制模块,用于将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证;
跨链调用模块,用于基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链。
本申请的第三个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的针对异构联盟链的跨链方法。
本申请的第四个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的针对异构联盟链的跨链方法。
本申请的第五个方面提供了一种针对异构联盟链的跨链系统,包括:
跨链核心路由,用于执行所述的针对异构联盟链的跨链方法,其中,各个所述跨链核心路由和异构的各个联盟链之间为一一对应的关系,且每个所述联盟链中的跨链核心路由均与所述治理链之间通信连接;
跨链身份管理模块,与属于同一源联盟链的跨链核心路由之间通信连接,用于对所述跨链用户进行链上和跨链的双重身份认证,以及接收自身所属的源联盟链中的联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户及公私钥对,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户具备跨链用户的身份,而后生成并发出该跨链用户对应的身份证明;所述跨链身份管理模块还用于接收并存储外部联盟链的跨链用户的身份证明。
本申请提供的针对异构联盟链的跨链方法,通过设置独立于自身唯一所属的源联盟链的身份管理模块及治理链等,能够使得源联盟链在无需增加外部联盟链的数据的基础上,即能够实现针对异构联盟链的跨链过程,能够有效节省人力成本及时间成本等;且通过身份管理模块对跨链用户进行链上和跨链的双重身份认证,能够有效提高跨链用户的身份认证的可靠性及有效性,进而能够保证跨链数据交互的安全性和可靠性;通过采用治理链对该跨链调用请求进行针对外部联盟链的访问权限验证,能够有效实现针对访问控制的有效性及可靠性;通过基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链,能够使得源联盟链在无需增加外部联盟链的数据的基础上,即能够实现跨链调用请求的调用转发,能够有效提高异构联盟链之间进行跨链的便捷性和效率,并能够提高联盟链跨链的灵活性;还能够有效提高针对异构联盟链的跨链过程的安全性及可靠性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的针对异构联盟链的跨链方法中的第一种流程示意图。
图2为本申请一实施例中的针对异构联盟链的跨链方法中的第二种流程示意图。
图3为本申请中的针对异构联盟链的跨链方法的数据交互过程采用的数据交互框架及数据流示意图。
图4为本申请中的针对异构联盟链的跨链方法中的身份管理流程示意图。
图5为本申请中的采用ABAC(基于属性的访问控制机制验证)进行跨链访问权限验证的逻辑框图。
图6为本申请中的针对异构联盟链的跨链方法中的异构联盟链跨链调用事务机制的执行流程示意图。
图7为本申请另一实施例中的针对异构联盟链的跨链装置的结构示意图。
图8为本申请再一实施例中的针对异构联盟链的跨链系统的总架构示意图。
图9为本申请应用实例中的异构联盟链跨链系统框架图。
图10为本申请应用实例中的跨链核心路由接入联盟链流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
近年来,区块链行业经历了高速发展,诞生许多形态各异的底层技术平台,基于这些平台建设的区块链应用百花齐放。随着应用生态本身的发展壮大,越来越多应用在既有用户和价值积累基础上,为追求更大的网络效应,产生了与其他应用实现交互、建立关联的外延需求,于是整个区块链生态需要一个更加开放、易于协作、多方共赢的交互环境。由于目前区块链平台技术实现上存在多维异构性,在应用和数据上存在“孤岛效应”,无论是基于不同平台或者同一个平台构建的不同应用,都难以便捷地跨平台联通协作,区块链生态要向下一阶段演化需要“超越平台、链接应用”的创新性解决方案。
区块链项目的蓬勃发展,不可避免地引出了一个问题:链与链之间如何实现互联互通,以及链联网(Internet of blockchains)能否成为继互联网、物联网的下一个基础网络架构,为了应对这一挑战,旨在搭建链与链之间可信交互渠道的跨链技术逐渐成为学术界和工业界关注的焦点,学者们普遍认同高效通用的跨链技术是实现万链互联的关键。跨链,顾名思义,就是通过某些技术让价值跨过链与链之间的障碍,使得原本存储在特定区块链上的价值转换为另一条链上的价值,从而实现价值的流通。跨链技术能够连通分散的区块链生态孤岛,成为区块链整体向外拓展的桥梁纽带。跨链的目的是在未来连接所有区块链系统,建立独立平行链之间信息传输的桥梁,达到区块链真正地实现去中心化数据共享的目的。
跨链技术主要包括四种,分别为:公证人机制,哈希时间锁定,侧链/中继模式以及分布式私钥控制。公证人机制是中心化的跨链模式,跨链的区块链双方通过可信的第三方来建立信任;哈希时间锁定模式严格依赖于智能合约的执行,两条区块链必须在规定时间内收到解锁信息,然后发送资产;侧链技术的核心原理在于通过双向锚定,实现资产在主侧链间安全流转。中继模式也称为侧链模式,指的是采用第三方媒介充当客户链的中继器,该第三方媒介可以是单一的中继应用程序,也可以是一群中继节点,它可将跨链子交易的区块中继至相应的区块链上;分布式私钥控制利用分布式私钥生成和控制技术来生成原始链的锁定账户,之后将对应资产映射到交易区块链中,核心在于分布式控制权的管理。
然而,由于异构联盟链平台有着各自的SDK(软件开发工具包)、智能合约框架、密码算法和交互逻辑,开发者不得不针对性地学习每一种联盟链平台的API(应用程序编程接口)和调用逻辑,做定制化开发。当两个异构联盟链平台存在跨链需求时,需要重新学习对方平台的API和调用逻辑,这不仅是对开发者精力和成本的巨大浪费,也是跨链落地难的一个重要原因。
基于此,本申请提供一种针对异构联盟链的跨链方式,能够在联盟链外部将异构联盟链架构进行接入,完成可信跨链调用。
具体通过下述实施例进行详细说明。
本申请实施例提供一种针对异构联盟链的跨链方法,参见图1,可以由针对异构联盟链的跨链装置执行的所述针对异构联盟链的跨链方法具体包含有如下内容:
步骤100:调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证。
在本申请的一个或多个实施例中,所述针对异构联盟链的跨链装置可以为一种跨链核心路由,即可以为存在跨链需求的用户所在的联盟链配置至少一个跨链核心路由,但每个跨链核心路由仅服务于一个联盟链,这个联盟链可以称之为该跨链核心路由的源联盟链。也就是说,在本申请实施中,所述源联盟链是指执行所述针对异构联盟链的跨链方法的跨链核心路由唯一服务的联盟链,跨链核心路由独立设置在其唯一服务的源联盟链之外。可以理解的是,所述跨链核心路由也是路由的一种,但为了区分联盟链应用场景中的其他路由,因此将其称之为跨链核心路由。
另外,身份管理模块也独立设置在其唯一服务的源联盟链之外。
其中,所述源联盟链和所述外部联盟链为异构的多个联盟链中的任意两个。
所述跨链调用请求至少包含有:跨链用户的用户身份信息、外部联盟链地址以及调用目标数据类型等等。
接收所述外部联盟链中的跨链核心路由转发的联盟链用户提供的针对所述跨链调用请求的调用结果数据,并将该调用结果数据发送至所述跨链用户对应的联盟链应用中,以使该跨链用户自所述联盟链应用获取所述调用结果数据。
在本申请的一个或多个实施例中,所述联盟链用户是指联盟链中的用户节点对应的链下用户,所述跨链用户是指能够在不同的联盟链之间进行跨链数据调用的联盟链用户,一个联盟链用户可以具备跨链用户的身份,也可以不具备跨链用户的身份,但一个跨链用户同时也必须是一个联盟链用户。
在本申请的一个或多个实施例中,发出跨链调用请求的联盟链用户必须是跨链用户,可以称为跨链发起用户,而响应该跨链调用请求的联盟链用户也需要具备跨链用户的身份。所述联盟链用户也可以称之为链下用户。
在一种举例中,一个联盟链用户接收到跨链调用请求时,其自身也必须具备跨链用户的身份,这样能够保证跨链数据交互的可靠性和安全性,具体可以根据实验应用需求选取。
也就是说,联盟链跨链操作的行为主体是链下的用户,首先需要确定每条联盟链的归属,即链下用户拥有哪些链,而每条联盟链上又存在着很多链账户,这造成了跨链身份管理的复杂度的提高。基于此,本申请的上述步骤100通过提出一个统一管理链上链下用户的异构联盟链跨链身份管理方法,动态支持联盟链的实际拥有者对链下账户和链上身份的管理,使得各个跨链机构的账户可以独立维护,将链上链下身份进行关联,并可以进行统一认证,保证链上和链下身份的合法和可信。
步骤200:将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证。
在步骤200中,跨链核心路由将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证。
基于共识机制和密码学技术,不同的联盟链架构建立了一套内部安全机制,但是在面对跨联盟链交互时会突破联盟链的安全边界,所以在保证了跨链用户和链上身份的可信之后,如何保证异构联盟链跨链调用的安全和合法是另一个问题。因此,本申请的步骤200通过提出一种异构联盟链跨链访问控制机制,由治理链来实现。
步骤300:基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链。
在步骤300中,跨链核心路由基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链。
可以理解的是,由于现有跨链技术由于不同的联盟链事件机制千差万别,功能参差不齐,甚至有的联盟链不支持事件机制,使得现有的跨链调用技术通用性不足。并且,访问控制机制虽然保证了跨链调用的可信性,但是为了跨链调用完全正确执行,还需要保证跨链交易的事务性。所以还需要一种跨链事务机制保证多个联盟链上的操作要么全部执行完毕,要么全部执行失败。基于此,本申请的步骤300通过提出一种跨链调用机制,以基于智能合约的事件方式调用并保证跨链调用的事务性。
从上述描述可知,本申请实施例提供的针对异构联盟链的跨链方法,通过设置独立于自身唯一所属的源联盟链的身份管理模块及治理链等,能够使得源联盟链在无需增加外部联盟链的数据的基础上,即能够实现针对异构联盟链的跨链过程,能够有效节省人力成本及时间成本等;且通过身份管理模块对跨链用户进行链上和跨链的双重身份认证,能够有效提高跨链用户的身份认证的可靠性及有效性,进而能够保证跨链数据交互的安全性和可靠性;通过采用治理链对该跨链调用请求进行针对外部联盟链的访问权限验证,能够有效实现针对访问控制的有效性及可靠性;通过基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链,能够使得源联盟链在无需增加外部联盟链的数据的基础上,即能够实现跨链调用请求的调用转发,能够有效提高异构联盟链之间进行跨链的便捷性和效率,并能够提高联盟链跨链的灵活性;还能够有效提高针对异构联盟链的跨链过程的安全性及可靠性。
为了进一步提高针对异构联盟链的跨链的可靠性及有效性,在本申请实施例提供的一种可以由跨链核心路由执行的针对异构联盟链的跨链方法中,参见图2,所述针对异构联盟链的跨链方法中的步骤100之前还具体包含有如下内容:
步骤010:接收自身所属的源联盟链对应的身份管理模块发出的所述源联盟链中的跨链用户的身份证明,其中,所述身份管理模块预先接收自身所属的源联盟链中的一联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户的身份标识及公私钥对以得到跨链账户,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户成为跨链用户,而后生成并发出该跨链用户对应的身份证明。
步骤020:将所述源联盟链的跨链用户的身份证明发送至外部联盟链,以使外部联盟链对应的跨链身份管理模块存储所述源联盟链的跨链用户的身份证明。
为了进一步说明上述步骤010至步骤300,本申请实施例还提供一种针对异构联盟链的跨链方法的详细数据交互流程,其数据交互框架及数据流如图3所示,具体包含有如下内容:
跨链发起者可以通过已经部署的联盟链应用发起跨链调用请求,经过身份认证和权限认证,转发到目标联盟链上,在跨链接收者接收到跨链请求后,调用目标联盟链的对应合约完成响应,并将跨链调用结果进行返回。其中,源联盟链可以采用应用链1,作为目标联盟链的外部联盟链可以采用应用链2。
主要包括11个步骤:
步骤1. 跨链发起者和跨链响应者需要在其各自所属的联盟链对应的跨链身份管理模块(如第一跨链身份管理模块和第二跨链身份管理模块)进行链下身份注册,生成对应的公私钥和数字证书以成为跨链账户;
其中,代表跨链账户的身份标识,为了便于区别说明,在本申请中,将跨链发起者的跨链账户的身份标识写为/>。/>是用户名,/>是用户密码,/>是验证码,/>是指数字证书注册函数。
可以理解的是,同一个用户节点即可以是跨链发起者,也可以是跨链响应者,具体根据实际应用需求确定,但通常情况下,一个跨链发起者以及其提出的跨链调用请求所指向的另一个跨链响应者分属于不同的用户节点。
步骤2. 跨链发起者通过联盟链应用异步发起跨链调用请求,开始跨链调用;
其中,代表跨链交易请求,/>是生成跨链请求函数,/>是源联盟链的智能合约名称,该源联盟链是指发起跨链交易请求的跨链发起者所在的联盟链;/>是调用智能合约参数,/>是目标联盟链,/>是目标联盟链的智能合约名称,/>是跨链账户注册的标识;在当前场景中,/>尤其指跨链发起者的跨链账户的身份标识。
可以理解的是,本例中的步骤时序仅为举例,并非在每次执行步骤2之前都要执行步骤1,步骤1仅需在新用户首次注册时执行即可。
步骤3. 联盟链应用调用应用链1上已经存在的业务合约;
代表源联盟链(如应用链1)的智能合约执行结果,/>是执行智能合约函数,/>是智能合约中的函数名称。
步骤4. 源联盟链的跨链核心路由(如第一跨链核心路由)从身份管理模块(如第一跨链身份管理模块)获取跨链发起者拥有的链上账户,并使用私钥对交易进行签名;
其中,代表数字签名函数,/>是联盟链交易,/>是链上账户私钥。
步骤5. 源联盟链(如应用链1)通过源联盟链的跨链核心路由(如第一跨链核心路由)将跨链调用请求发送到异构联盟链跨链系统的核心模块;
其中,代表路由和联盟链之间消息发送函数,/>是源联盟链,是源联盟链的跨链核心路由(如第一跨链核心路由);
步骤6. 异构联盟链跨链系统的核心模块(治理链)与源联盟链的跨链身份管理模块(如第一跨链身份管理模块)对跨链发起者的身份和权限进行验证,判断其是否有权限对目标联盟链进行跨链进行调用。权限验证通过后,第一跨链核心路由将跨链调用请求转发至目标联盟链的跨链核心路由(如第二跨链核心路由);
其中,代表跨链权限函数,/>是权限判定结果,/>是目标联盟链的跨链核心路由(如第二跨链核心路由),/>代表跨链核心路由间消息发送函数。
步骤7. 目标联盟链的跨链核心路由(如第二跨链核心路由)开始调用目标联盟链(如应用链2)上的目标智能合约,并通知对端跨链用户(即:跨链响应者);
其中,代表跨链核心路由对联盟链发送跨链交易函数。
步骤8. 跨链响应者接收到跨链调用请求后也通过联盟链应用进行响应,同意对目标智能合约的调用;
其中,代表目标联盟链(如应用链2)的智能合约执行结果。
步骤9. 目标智能合约执行后,目标联盟链(如应用链2)将结果返回给目标联盟链的跨链核心路由(如第二跨链核心路由);
其中,代表消息回调函数。
步骤10. 目标联盟链的跨链核心路由(如第二跨链核心路由)将调用结果返回给源联盟链的跨链核心路由(第一跨链核心路由),再回调至源联盟链(如应用链1);
步骤11. 由联盟链应用将跨链调用结果通知跨链发起者,跨链调用结束。
其中,代表跨链交易响应,/>是生成跨链响应函数,/>是通知函数。
为了进一步提高跨链身份认证的可靠性及有效性,在本申请实施例提供的一种针对异构联盟链的跨链方法中,参见图2,所述针对异构联盟链的跨链方法中的步骤100还具体包含有如下内容:
步骤110:获取自身唯一所属的源联盟链中的跨链用户经联盟链应用发送至所述源联盟链的跨链调用请求,并将该跨链用户确定为当前的跨链用户。
步骤120:调用所述源联盟链对应的身份管理模块分别对该跨链用户的链上账户和跨链账户进行正确性认证。
步骤130:若所述跨链用户通过所述正确性认证,则判断所述跨链账户和所述链上账户之间是否相互关联,若是,则判定所述跨链用户通过双重身份认证。
举例来说,参见图4,为了解决链上链下身份的绑定和认证问题,以进一步说明上述步骤110至步骤130,本申请还提供一种针对异构联盟链的跨链方法中的身份管理流程,主要包含以下8个步骤:
步骤1.链下用户(以跨链发起者为例)通过身份管理模块注册跨链身份,生成公私钥对;
其中,代表跨链账户身份生成函数,/>是跨链账户公钥,/>是跨链账户私钥。
步骤2.链下用户将自身在联盟链中的链上账户添加至跨链身份下,包括公私钥和账户地址;
其中,代表链上账户添加函数,/>是跨链账户名称,/>是跨链账户公钥,/>是跨链账户私钥,/>是链上账户地址。
步骤3. 身份管理模块根据跨链身份和链上账户生成身份证明,并发送给第一跨链核心路由;
其中,代表跨链账户身份证明,/>是跨链账户身份证明生成函数,/>是联盟链类型。
步骤4. 第一跨链核心路由将跨链身份证明数据共享给第二跨链核心路由;
步骤5. 链下用户用跨链身份向第一跨链核心路由发起跨链请求,第一跨链核心路由调用身份管理模块验证跨链身份是否存在;
步骤6. 身份管理模块验证跨链身份(即跨链账户)和链上账户的正确性,通过后验证身份证明数据,核验跨链身份是否拥有该链账户以及该链上账户是否属于跨链身份;
其中,代表验证签名函数;&&是在编程中使用的一种符号,表示逻辑(条件)与。
步骤7. 身份管理模块全部验证通过后对跨链请求放行;
步骤8. 第一跨链核心路由将跨链请求转发至第二跨链核心路由,继续执行跨链操作。
为了进一步提高跨链访问权限验证的可靠性及有效性,在本申请实施例提供的一种针对异构联盟链的跨链方法中,参见图2,所述针对异构联盟链的跨链方法中的步骤200还具体包含有如下内容:
步骤210:将通过双重身份认证的跨链用户发出的所述跨链调用请求发送至预设的治理链,以使该治理链采用预设的基于属性的访问控制机制验证所述跨链调用请求是否具备针对所述外部联盟链的访问权限,并返回对应的验证结果;
步骤220:将接收所述治理链返回的所述验证结果。
举例来说,参见图5,采用ABAC(基于属性的访问控制机制验证)进行跨链访问权限验证的具体方式如下:
基于ABAC(基于属性的访问控制)和联盟链的跨链访问控制机制,主要包括5个核心部分,分别是策略执行点 (policy enforcement point,PEP)、属性权威(attributeauthority,AA)、策略管理点(pointadministration point,PAP)、策略决策点(policydecision point, PDP)以及策略信息点(policy information point,PIP)。
其中,AA由治理链来担任,属性信息在联盟链中存储,保证属性信息的真实可信;PAP、PDP和PIP分别由PAP Contract(策略管理点智能合约)、PDP contract(策略决策点智能合约)和PIP Contract(策略信息点智能合约)这3种智能合约来承担,智能合约部署在联盟链网络中,联盟链中的节点可以调用合约来实现相应的权限功能;联盟链节点作为PEP,接收跨链访问请求并执行策略判定结果。
举例来说,PIP Contract是策略信息合约。策略信息点PIP用于提供实体的各种属性和属性关系,包括跨链身份信息、跨链核心路由信息和联盟链信息。
PAP Contract是策略管理合约。策略管理点PAP用于管理访问控制策略。PAP根据PDP所提供的AAR(基于属性的访问控制请求)查询符合要求的访问控制策略,并将这些访问控制策略整合为策略集发送回PDP进行策略判决。PAP中的访问控制策略可通过跨链核心路由进行配置。
PDP Contract是策略判定合约。策略判定点PDP用于对访问控制策略的判定,最终结果为允许访问Permit或者拒绝访问Refuse。当AAR中的属性和属性值分别满足某一策略中的属性和属性值的谓词或约束时,称此访问请求满足该策略,即属性相同且属性值符合策略谓词或约束条件,最终根据策略的判定结果为“Permit”(通过)或“Refuse”(未通过)。否则,当AAR中所提供的属性信息不足或存在不满足策略中属性谓词或约束的,最终结果为“Unknown”(不确定)。在本申请中,对判定为“Unknown”的跨链请求最终以Refuse为授权结果。
基于此,一次完整的异构联盟链跨链访问控制流程举例的步骤如下:
步骤1. 当治理链收到第一跨链核心路由发来的跨链访问请求,分析后根据访问请求中的实体属性生成AAR,并将AAR发送给 PDP Contract。
步骤2. PDP Contract收到AAR后,首先向PIP Contract发起获取资源请求者的属性信息的请求,然后向PAP Contract发起获取该资源的访问控制策略的请求。
步骤3. PDP Contract将访问控制策略和跨链访问请求中的属性进行对比,并将判决结果发送给治理链。
步骤4. 治理链将权限访问的判决结果返回给第一跨链核心路由,如果是“Permit”(通过),即可将跨链请求转发到对应的第二跨链核心路由。
为了进一步提高跨链调用的可靠性及有效性,在本申请实施例提供的一种针对异构联盟链的跨链方法中,所述跨链调用机制包括:基于智能合约的三阶段提交协议;参见图2,所述针对异构联盟链的跨链方法中的步骤300还具体包含有如下内容:
步骤310:若所述跨链调用请求通过访问权限验证,则采用基于智能合约的三阶段提交协议将所述跨链调用请求转发至所述外部联盟链,以在该外部联盟链中的跨链用户响应所述跨链调用请求之后,自该外部联盟链获取该跨链调用请求的调用结果数据。
举例来说,参见图6,针对异构联盟链的跨链方法中的异构联盟链跨链调用事务机制的执行流程如下:
异构联盟链跨链调用事务机制,使用基于智能合约的三阶段提交协议来保证跨链事务的一致性,三阶段提交协议具备高可靠性、通用性强等优势,可以支持异构联盟链跨链的场景。三阶段提交协议将事务的提交过程分为三个阶段来处理,分别是准备阶段和提交阶段,其中涉及到四个接口,分别是确认(CanCommit)、准备(PreCommit)、提交(Commit)和回滚(Rollback)。具体的步骤如下:
步骤1. 跨链账户通过第一跨链核心路由开启跨链事务;
步骤2. 在治理链中记录此次跨链事务;
步骤3. 第一跨链核心路由调用确认(CanCommit)接口,确认联盟链1是否准备就绪;
步骤4. 第一跨链核心路由调用确认(CanCommit)接口,确认第二跨链核心路由是否准备就绪;
步骤5. 第二跨链核心路由调用确认(CanCommit)接口,确认联盟链2是否准备就绪;
步骤6. 第一跨链核心路由调用准备(PreCommit)接口,确认应用链1是否可以返回ack(确认字符)响应;
步骤7. 第一跨链核心路由调用准备(PreCommit)接口,确认第二跨链核心路由是否可以返回ack响应;
步骤8. 第二跨链核心路由调用准备(PreCommit)接口,确认应用链2是否可以返回ack响应;
步骤9. 第一跨链核心路由调用应用链1的相关业务智能合约,生成一个交易;
步骤10 第一跨链核心路由向第二跨链核心路由发起跨链调用;
步骤11. 第二跨链核心路由调用应用链2的相关业务智能合约,生成一个交易;
步骤12. 所有智能合约的调用操作结束后,第一跨链核心路由调用提交(Commit)接口,提交应用链1上的交易;
步骤13. 第一跨链核心路由调用提交(Commit)接口,提交第二跨链核心路由的执行结果;
步骤14. 第二跨链核心路由调用提交(Commit)接口,提交应用链2上的交易;
步骤15. 在治理链中记录此次跨链事务的最终状态。
跨链调用三阶段提交协议中的协调工作由跨链核心路由负责,跨链事务的状态会记录在中继链中,在确认阶段,跨链核心路由会对参与此次跨链的所有资源进行确认,避免阻塞;在准备阶段,跨链核心路由会向参与此次跨链调用的所有资源发起准备请求,在所有资源都准备完成后,再向全体资源发送提交请求。确认、准备或提交阶段中,如果任一资源返回失败或者超时,跨链核心路由会向全体参与跨链事务的资源发起事务回滚请求,放弃本次事务,所有资源恢复到事务开始之前的状态。
为了进一步提高跨链调用的全面性、可靠性及有效性,在本申请实施例提供的一种针对异构联盟链的跨链方法中,所述跨链调用机制包括:基于智能合约的三阶段提交协议;参见图2,所述针对异构联盟链的跨链方法中还可以具体包含有如下内容:
步骤400:接收外部联盟链的跨链核心路由转发的该外部联盟链中的一跨链用户发出的针对所述源联盟链的跨链调用请求;
步骤500:自针对所述源联盟链的跨链调用请求中获取该外部联盟链的跨链用户的身份标识。
可以理解的是,在前述的跨链核心路由自身所在的源联盟链中的用户发出跨链调用请求时,跨链调用请求指定的外部联盟链即为目标联盟链,而在步骤500中,当角色置换时,跨链核心路由自身所在的源联盟链当前则成为外部联盟链的目标联盟链。
步骤600:调用所述源联盟链对应的身份管理模块中预存储的所述外部联盟链的跨链用户的身份标识对应的身份证明,并基于该身份证明对所述外部联盟链的跨链用户进行链上和跨链的双重身份认证。
步骤700:若所述外部联盟链的跨链用户通过双重身份认证,则调用所述源联盟链上的智能合约,并将针对所述源联盟链的跨链调用请求转发至该跨链调用请求指定的所述源联盟链中的跨链用户,以使该跨链用户进行调用所述源联盟链上的智能合约的响应,并使得所述源联盟链在执行所述智能合约后返回针对所述源联盟链的跨链调用请求对应的调用结果数据。
步骤800:将针对所述源联盟链的跨链调用请求对应的调用结果数据发送至所述外部联盟链的跨链核心路由。
从软件层面来说,本申请还提供一种用于执行所述针对异构联盟链的跨链方法中全部或部分内的针对异构联盟链的跨链装置,参见图7,所述针对异构联盟链的跨链装置具体包含有如下内容:
身份管理模块10,用于调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证;
访问控制模块20,用于将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证;
跨链调用模块30,用于基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链。
本申请提供的针对异构联盟链的跨链装置的实施例具体可以用于执行上述实施例中的针对异构联盟链的跨链方法的实施例的处理流程,其功能在此不再赘述,可以参照上述针对异构联盟链的跨链方法实施例的详细描述。
所述针对异构联盟链的跨链装置进行针对异构联盟链的跨链的部分可以在服务器中执行,而在另一种实际应用情形中,也可以所有的操作都在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,针对异构联盟链的跨链的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
从上述描述可知,本申请实施例提供的针对异构联盟链的跨链装置,通过设置独立于自身唯一所属的源联盟链的身份管理模块及治理链等,能够使得源联盟链在无需增加外部联盟链的数据的基础上,即能够实现针对异构联盟链的跨链过程,能够有效节省人力成本及时间成本等;且通过身份管理模块对跨链用户进行链上和跨链的双重身份认证,能够有效提高跨链用户的身份认证的可靠性及有效性,进而能够保证跨链数据交互的安全性和可靠性;通过采用治理链对该跨链调用请求进行针对外部联盟链的访问权限验证,能够有效实现针对访问控制的有效性及可靠性;通过基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链,能够使得源联盟链在无需增加外部联盟链的数据的基础上,即能够实现跨链调用请求的调用转发,能够有效提高异构联盟链之间进行跨链的便捷性和效率,并能够提高联盟链跨链的灵活性;还能够有效提高针对异构联盟链的跨链过程的安全性及可靠性。
基于前述的针对异构联盟链的跨链方法的实施例,本申请还提供一种针对异构联盟链的跨链系统,参见图8,所述针对异构联盟链的跨链系统具体包含有如下内容:
跨链核心路由,用于执行前述实施例提及的针对异构联盟链的跨链方法,其中,各个所述跨链核心路由和异构的各个联盟链之间为一一对应的关系,且每个所述联盟链中的跨链核心路由均与所述治理链之间通信连接。
跨链身份管理模块,与属于同一源联盟链的跨链核心路由之间通信连接,用于对所述跨链用户进行链上和跨链的双重身份认证,以及接收自身所属的源联盟链中的联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户及公私钥对,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户具备跨链用户的身份,而后生成并发出该跨链用户对应的身份证明;所述跨链身份管理模块还用于接收并存储外部联盟链的跨链用户的身份证明。
为了进一步说明本方案,本申请还提供一种应用如图9所示的异构联盟链跨链系统框架实现的针对异构联盟链的跨链方法的具体应用实例,探寻可信融合连通所需的“最小化”抽象设计,充分考虑跨链交互的安全、扩展和可用性问题,以实现异构联盟链跨链过程中的异构联盟链接入、跨链权限管理、跨链身份管理和跨链调用,异构联盟链跨链系统架构由五个关键部分组成。
(1)最底层是多条异构联盟链的应用链和一条治理链,也是跨链系统的基础,需要由有跨链需求的各方提前部署好。
(2)将联盟链接入跨链系统的是跨链核心路由模块,主要包括三个核心组件,分别是联盟链连接件、联盟链资源管理组件和跨链可信验证组件;
(3)身份管理模块是管理链上链下用户身份的模块,需要由异构联盟链的各方独立部署。该模块负责管理跨链身份信息,支持用户的注册、验证和密钥管理等功能。
(4)跨链调用模块是跨链系统的核心部分,支持多个联盟链按照其业务需求,通过统一的调用方式进行发起跨链交易和接收交易回执,支持跨链调用功能。
(5)访问控制模块是基于属性来设置、分配和控制跨链用户的权限,保证跨链调用的合法性。
具体实施方式如下:
1.异构联盟链组网部署
在异构联盟链跨链系统中,首先需要有至少两条异构联盟链,且两条异构联盟链之间是存在跨链需求,本方法还要求各条联盟链必须要部署在公网,可以暴露相应的ip地址和端口号支持跨链核心路由的接入,与此同时两条联盟链已经部署完成需要跨链的业务智能合约,才可以完成跨链调用。
2.跨链核心路由模块
该模块下主要包括三个组件,一是联盟链连接件,主要负责连接异构联盟链;二是联盟链资源管理模块,主要负责调用异构联盟链的SDK(软件开发工具包)接口,与联盟链进行交互;三是跨链可信验证组件,提供路由网络互联的功能,可以同步和转发跨链消息并对跨链请求和交易进行验证。
参见图10,将一条联盟链接入跨链核心路由的具体步骤如下:
步骤1. 联盟链拥有者获取联盟链中的链配置文件、链上账户数字证书、联盟链SDK配置等文件,并读取其中的相关属性;
步骤2. 联盟链拥有者填写跨链核心路由中的联盟链配置文件,包括联盟链名称、联盟链类型、联盟链节点信息、联盟链SDK配置文件位置和相关属性等;
步骤3. 第一跨链核心路由第一跨链核心路由通过加载配置文件后与联盟链进行连接;
步骤4. 跨链核心路由同步获取联盟链上的相关信息,如区块高度、交易和智能合约等信息;
步骤5. 联盟链拥有者通过跨链核心路由发起对联盟链的操作;
步骤6. 第一跨链核心路由第一跨链核心路由通过调用联盟链SDK的RPC(远程过程调用)接口,发起调用,并将结果返回给用户;
步骤7. 第一跨链核心路由第一跨链核心路由和第二跨链核心路由第二跨链核心路由间共享已经接入的联盟链信息。
3.身份管理模块
异构联盟链跨链交互中发起跨链操作的是链下用户,而跨链交易需要使用链上账户进行签名,所以需要两种角色分别代表链下身份和链上身份;又因为联盟链中身份是属于某一机构或组织的,链下用户也应该是属于该机构或组织的,并且是一对多的关系,所以每个链下用户可以持有一条链的多个链上账户,而链上账户只可以属于某一个链下用户。首先将一个联盟链的链下用户和链上身份进行了绑定,然后还需要两个账户进行互签名来证明两者之间的关系,其中使用到的算法是国密算法SM2,数字签名和验签算法流程如下。
(1)密钥生成
步骤1. 用随机数发生器产生整数;
步骤2.为基点,计算点/>= (/>,/>) = [/>]/>;
步骤3. 密钥对是( ,/>),其中/>为私钥,/>为公钥。
(2)数字签名
椭圆曲线系统参数包括有限域的规模/>;定义椭圆曲线/>的方程的两个元素/>、∈/>;/>上的基点/>=(/>,/>),其中/>和/>是/>中的两个元素;/>的阶数/>及其它可选项(如阶数/>的余因子/>等),/>是消息摘要长度为v比特的密码杂凑函数,mod n是模n运算。
用户A的密钥对包括其私钥和公式/> = [/>]/>= (/>,/>)。作为签名者的用户A具有长度为/>比特的可辨别标识/>,记/>是由整数/>转换而成的两个字节。首先签名者和验证者都需要用密码杂凑函数求得用户A的杂凑值/>:
设待签名的链上账户公钥为,为了获取消息/>的数字签名/>,作为签名者的用户A应实现以下运算步骤:
步骤1. 计算哈希值;
步骤2. 计算;
步骤3. 用随机数发生器产生随机数;
步骤4. 计算椭圆曲线点;
步骤5. 计算,若r= 0或r+k=n则返回步骤3;
步骤6. 计算,若/>则返回步骤3;
步骤7. 得到消息的签名为/>。
(3)签名验证
为了检验收到的消息及其数字签名/>,作为验证者的用户/>应实现以下运算步骤:
步骤1. 检验是否成立,若不成立则验证不通过;
步骤2. 检验是否成立,若不成立则验证不通过;
步骤3. 计算 ;
步骤4. 计算;
步骤5. 计算,若/>,则验证不通过;
步骤6. 计算椭圆曲线点(;
步骤7. 计算,检验/>是否成立,若成立则验证通过;否则验证不通过。
4.跨链调用模块
该模块的主要功能是利用智能合约的执行,基于三阶段提交的事务机制,完成联盟链之间的数据交换。业务智能合约还需加入相关方法的rollback函数,并且需要根据异构联盟链支持的智能合约语言和规范进行单独编写,并且需要部署在每条联盟链中。而跨链事务需要记录在治理链上,其中跨链事务的核心属性包括跨链事务ID、跨链账户、调用的智能合约和相关方法、以及跨链事务状态等,负责管理跨链事务状态的为跨链事务管理合约,如下表1所示。
表1 跨链事务管理合约
跨链用户发起跨链调用算法伪代码如表2所示:
表2
5.访问控制模块
访问控制模块主要负责核验两条联盟链间是否满足权限要求可以进行跨链调用并管理跨链账户对联盟链智能合约的访问权限,支撑访问控制模块功能的是治理链上的三个智能合约,如下表3所示。
(1)权限属性合约负责将跨链账户的多个链上账户和联盟链中部署的多个智能合约进行注册,为权限管理合约提供相关属性。
表3 权限属性合约
(2)参见表4,权限管理合约负责将链上账户和智能合约进行绑定,绑定后跨链账户才可以调用智能合约或者对智能合约发起跨链调用。
表4 权限管理合约
(3)参见表5,权限判定合约负责检查跨链账户是否有权限访问对应的智能合约,如果是属于跨链账户的智能合约则可以直接调用合约相关方法。
表5 权限判定合约
本申请应用实例提出支持异构联盟链跨链的交互系统及方法,利用联盟链跨链核心路由器对异构联盟链进行接入,并负责跨链消息的转发和跨链远程调用;利用联盟链跨链身份管理器对公私钥进行管理、签名和验证。该方法主要利用三种协议实现异构联盟链跨链交互过程中的跨链身份管理、跨链数据验证和跨链调用。核心协议分别为异构联盟链跨链身份认证机制、异构联盟链跨链可信验证机制和基于智能合约的异构联盟链跨链调用机制。具体效果如下:
(1)技术创新方面
1)设计支持联盟链的异构联盟链跨链交互模型
针对异构联盟链不同的底层架构互联互通难的问题,本申请提出了一种支持联盟链的异构联盟链跨链模型,不需要调整原有联盟链的内部机制,实现对异构联盟链的便捷接入和可靠操作,使得跨链用户可以简单高效地通过原有的联盟链应用发起跨链请求,经过权限认证从而完成对目标联盟链的跨链调用。
2)提出支持联盟链的异构联盟链跨链核心方法
本申请提出一种异构联盟链跨链核心方法,其中包含三种机制,分别是异构联盟链跨链身份认证机制、异构联盟链跨链可信验证机制和异构联盟链跨链调用机制,对链上链下用户进行统一管理和认证、对异构联盟链的共识、区块和交易进行验证并通过智能合约和事务机制完成跨链调用。
3)实现支持联盟链的异构联盟链跨链交互方案
根据通用的跨链需求,面对联盟链应用生态中互联互通的诸多挑战,本申请从异构联盟链跨链系统的架构设计开始深层次思考,以两种主流的开源联盟链架构Hyperledger Fabric(是Hyperledger中的一个区块链项目,包含一个账本,使用智能合约并且是一个通过所有参与者管理交易的系统)和FISCO BCOS(金融版区块链底层平台)为基础,基于跨链模型和跨链方法,充分考虑跨链交互的安全、扩展和可用性问题,实现一个异构联盟链跨链系统,使得异构联盟链可以简单、高效、安全、可信地接入和互相调用。
(2)实际应用方面
联盟链从技术层面看是去中心化数据库和分布式账本,从商业层面看是价值网络。联盟链要想获得大规模的商业应用,不仅需要实现平台间的信息互联,更需要实现联盟链应用之间的信息互联。目前已有联盟链系统支持保险、征信、资产证券化、知识产权和注册等商业场景,未来会有更多领域建立其自身联盟链平台。跨链技术将带来不同场景的整合,塑造更具前景和活力的商业模式。
1)打通产业链上中下游
如在农产品的产业链中,商品从生产到销售需要经过原材料的种植、收集,经过加工、仓储、物流、零售等诸多环节才能提供到消费者面前。其中涉及到上中下游的各个环节以及众多参与方,出于成本、性能和数据等角度考虑,无法把整个产业链中全部参与方加入到一个联盟链网络中。但是通过跨链技术,可以让上中下游分别各自构建联盟链联盟并连接起来,形成相关数据的互联互通。
在农产品溯源场景中,用户既可以从下游的联盟链联盟中获取农产品的供销流转数据,还可以从中游的联盟链联盟中获取加工环节的信息,又可以从上游的联盟链联盟中获取生产种植的原材料情况,跨链技术为用户提供了全链路的农产品信息,增加了用户的认可度。中上游的环节还可以通过下游的供销数据来动态调整生产网络,减小了数据存储负担,提升了产业效能。
2)跨地域取证
联盟链多中心和不可篡改的特性,天然吻合存证场景,甚至可以把联盟链本身视为一个天然的存证平台,因而联盟链存证应用非常广泛。各地存证链在地域上、业务上是分离的。各城市司法机构的案件和证据,常规情况下没有交集,彼此数据无法互通互信,当面临一些需要异地取证、联合举证或是联合决策等的场景时,不仅需要耗费大量人力和时间在多地进行数据验证和比对,还需要引入一个中心化的可信机构来进行协调。若是涉及的存证链使用的底层框架不同,那要进行异地取证或是联合举证就更加困难。
针对这类场景,联盟链跨链技术可以提供有效解决方案,帮助相关机构一键从不同地区的多条链中同时取证,并且保证证据的可信和完备。
3)数字资产交换
联盟链天然具有金融属性,不同的联盟链中可能存在相同用户的不同账户,随着运行时间的增加,链上的数字资产价值增加,但是联盟链之间存在安全边界的隔离,要想实现不同应用链之间的数字资产可以安全可信地自由交换,必须使用跨链技术,以跨链事务的方式通过锚定联盟链上的相关资产进行互换,如果需要更高安全级别,可以在跨链交换中加入加密算法来增强私密性和安全性。
本申请实施例还提供了一种电子设备,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的针对异构联盟链的跨链方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。所述电子设备可自所述无线多媒体传感器网络中的传感器接收实时运动数据,并自所述视频采集装置接收原始视频序列。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的针对异构联盟链的跨链方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的针对异构联盟链的跨链方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的针对异构联盟链的跨链方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述针对异构联盟链的跨链方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种针对异构联盟链的跨链方法,其特征在于,包括:
调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证;
将通过双重身份认证的跨链用户发出的所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证;
基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链;
接收自身所属的源联盟链对应的身份管理模块发出的所述源联盟链中的跨链用户的身份证明,其中,所述身份管理模块预先接收自身所属的源联盟链中的一联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户的身份标识及公私钥对以得到跨链账户,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户成为跨链用户,而后生成并发出该跨链用户对应的身份证明;
将所述源联盟链的跨链用户的身份证明发送至外部联盟链,以使外部联盟链对应的跨链身份管理模块存储所述源联盟链的跨链用户的身份证明;
其中,所述调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证,包括:
获取自身唯一所属的源联盟链中的跨链用户经联盟链应用发送至所述源联盟链的跨链调用请求,并将该跨链用户确定为当前的跨链用户;
调用所述源联盟链对应的身份管理模块分别对该跨链用户的链上账户和跨链账户进行正确性认证;
若所述跨链用户通过所述正确性认证,则判断所述跨链账户和所述链上账户之间是否相互关联,若是,则判定所述跨链用户通过双重身份认证。
2.根据权利要求1所述的针对异构联盟链的跨链方法,其特征在于,所述将通过双重身份认证的跨链用户发出的将所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证,包括:
将通过双重身份认证的跨链用户发出的所述跨链调用请求发送至预设的治理链,以使该治理链采用预设的基于属性的访问控制机制验证所述跨链调用请求是否具备针对所述外部联盟链的访问权限,并返回对应的验证结果;
接收所述治理链返回的所述验证结果。
3.根据权利要求1所述的针对异构联盟链的跨链方法,其特征在于,所述跨链调用机制包括:基于智能合约的三阶段提交协议;
相对应的,所述基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链,包括:
若所述跨链调用请求通过访问权限验证,则采用基于智能合约的三阶段提交协议将所述跨链调用请求转发至所述外部联盟链,以在该外部联盟链中的跨链用户响应所述跨链调用请求之后,自该外部联盟链获取该跨链调用请求的调用结果数据。
4.根据权利要求1至3任一项所述的针对异构联盟链的跨链方法,其特征在于,还包括:
接收外部联盟链的跨链核心路由转发的该外部联盟链中的一跨链用户发出的针对所述源联盟链的跨链调用请求;
自针对所述源联盟链的跨链调用请求中获取该外部联盟链的跨链用户的身份标识;
调用所述源联盟链对应的身份管理模块中预存储的所述外部联盟链的跨链用户的身份标识对应的身份证明,并基于该身份证明对所述外部联盟链的跨链用户进行链上和跨链的双重身份认证;
若所述外部联盟链的跨链用户通过双重身份认证,则调用所述源联盟链上的智能合约,并将针对所述源联盟链的跨链调用请求转发至该跨链调用请求指定的所述源联盟链中的跨链用户,以使该跨链用户进行调用所述源联盟链上的智能合约的响应,并使得所述源联盟链在执行所述智能合约后返回针对所述源联盟链的跨链调用请求对应的调用结果数据;
将针对所述源联盟链的跨链调用请求对应的调用结果数据发送至所述外部联盟链的跨链核心路由。
5.一种针对异构联盟链的跨链装置,其特征在于,用于执行下述内容:
调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证;
所述针对异构联盟链的跨链装置还包括:
访问控制模块,用于将通过双重身份认证的跨链用户发出的所述跨链调用请求发送至预设的治理链,以使该治理链对该跨链调用请求进行针对外部联盟链的访问权限验证;
跨链调用模块,用于基于预设的跨链调用机制,在所述源联盟链之外将通过访问权限验证的所述跨链调用请求转发至所述外部联盟链;
所述针对异构联盟链的跨链装置还用于执行下述内容:
接收自身所属的源联盟链对应的身份管理模块发出的所述源联盟链中的跨链用户的身份证明,其中,所述身份管理模块预先接收自身所属的源联盟链中的一联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户的身份标识及公私钥对以得到跨链账户,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户成为跨链用户,而后生成并发出该跨链用户对应的身份证明;
将所述源联盟链的跨链用户的身份证明发送至外部联盟链,以使外部联盟链对应的跨链身份管理模块存储所述源联盟链的跨链用户的身份证明;
其中,所述调用自身唯一所属的源联盟链对应的身份管理模块,在所述源联盟链之外,对当前向所述源联盟链发出针对外部联盟链的跨链调用请求的跨链用户进行链上和跨链的双重身份认证,包括:
获取自身唯一所属的源联盟链中的跨链用户经联盟链应用发送至所述源联盟链的跨链调用请求,并将该跨链用户确定为当前的跨链用户;
调用所述源联盟链对应的身份管理模块分别对该跨链用户的链上账户和跨链账户进行正确性认证;
若所述跨链用户通过所述正确性认证,则判断所述跨链账户和所述链上账户之间是否相互关联,若是,则判定所述跨链用户通过双重身份认证。
6.一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的针对异构联盟链的跨链方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的针对异构联盟链的跨链方法。
8.一种针对异构联盟链的跨链系统,其特征在于,包括:
跨链核心路由,用于执行权利要求1至4任一项所述的针对异构联盟链的跨链方法,其中,各个所述跨链核心路由和异构的各个联盟链之间为一一对应的关系,且每个所述联盟链中的跨链核心路由均与治理链之间通信连接;
跨链身份管理模块,与属于同一源联盟链的跨链核心路由之间通信连接,用于对所述跨链用户进行链上和跨链的双重身份认证,以及接收自身所属的源联盟链中的联盟链用户发送的跨链身份注册请求,并生成该联盟链用户的跨链账户及公私钥对,将所述公私钥对中的私钥分发至发出所述联盟链用户,再将该联盟链用户在所述源联盟链中的链上账户关联至该跨链账户中,使得该联盟链用户具备跨链用户的身份,而后生成并发出该跨链用户对应的身份证明;所述跨链身份管理模块还用于接收并存储外部联盟链的跨链用户的身份证明。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310415333.XA CN116155624B (zh) | 2023-04-18 | 2023-04-18 | 针对异构联盟链的跨链方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310415333.XA CN116155624B (zh) | 2023-04-18 | 2023-04-18 | 针对异构联盟链的跨链方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116155624A CN116155624A (zh) | 2023-05-23 |
CN116155624B true CN116155624B (zh) | 2023-07-18 |
Family
ID=86360372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310415333.XA Active CN116155624B (zh) | 2023-04-18 | 2023-04-18 | 针对异构联盟链的跨链方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116155624B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115774728A (zh) * | 2023-02-15 | 2023-03-10 | 湖南大学 | 基于预言机的联盟链跨链操作方法、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651724A (zh) * | 2020-04-28 | 2021-04-13 | 北京邮电大学 | 跨链交互方法、装置和系统 |
CN112055002B (zh) * | 2020-08-24 | 2022-07-19 | 杭州云象网络技术有限公司 | 一种基于公共治理链的跨链网络监管方法 |
CN112733100A (zh) * | 2021-01-07 | 2021-04-30 | 浙江大学 | 一种面向联盟链的跨链访问可信权限管理系统及方法 |
CN115708119A (zh) * | 2021-08-20 | 2023-02-21 | 华为云计算技术有限公司 | 跨链交易系统、方法、设备及存储介质 |
CN113850599B (zh) * | 2021-12-01 | 2022-02-15 | 南京金宁汇科技有限公司 | 一种应用于联盟链的跨链交易方法及系统 |
CN114615095B (zh) * | 2022-05-12 | 2022-09-09 | 北京邮电大学 | 区块链跨链数据处理方法、中继链、应用链及跨链网络 |
-
2023
- 2023-04-18 CN CN202310415333.XA patent/CN116155624B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115774728A (zh) * | 2023-02-15 | 2023-03-10 | 湖南大学 | 基于预言机的联盟链跨链操作方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116155624A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114615095B (zh) | 区块链跨链数据处理方法、中继链、应用链及跨链网络 | |
US12086799B2 (en) | Method and system for zero-knowledge and identity based key management for decentralized applications | |
Fernández-Caramés et al. | A Review on the Use of Blockchain for the Internet of Things | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
CN110933108B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
CN109768988B (zh) | 去中心化物联网安全认证系统、设备注册和身份认证方法 | |
Chattaraj et al. | Block-CLAP: Blockchain-assisted certificateless key agreement protocol for internet of vehicles in smart transportation | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN110569674B (zh) | 基于区块链网络的认证方法及装置 | |
CN110599095B (zh) | 基于区块链网络的危废处理方法及区块链网络的节点 | |
CN109617699A (zh) | 一种密钥生成方法、区块链网络服务平台及存储介质 | |
CN110597911A (zh) | 一种区块链网络的证书处理方法、装置、电子设备及存储介质 | |
KR20220011165A (ko) | 컴퓨터 구현 시스템 및 방법 | |
CN114205136A (zh) | 一种基于区块链技术的交通数据资源共享方法及系统 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN113239375B (zh) | 基于区块链的隐私要素数据共享系统、方法、计算机设备及介质 | |
Dwivedi et al. | Smart contract and IPFS-based trustworthy secure data storage and device authentication scheme in fog computing environment | |
Elkhalil et al. | An efficient heterogeneous blockchain-based online/offline signcryption systems for internet of vehicles | |
Ren et al. | Blockchain-based trust establishment mechanism in the internet of multimedia things | |
CN112837023A (zh) | 机构的业务协同平台、方法、装置及电子设备 | |
CN116015856A (zh) | 基于区块链数字身份的数据流转方法及装置 | |
Kumar et al. | Ultra-lightweight blockchain-enabled RFID authentication protocol for supply chain in the domain of 5G mobile edge computing | |
Yang et al. | UCBIS: An improved consortium blockchain information system based on UBCCSP | |
Sun et al. | A Novel Block-chain based secure cross-domain interaction Approach for intelligent transportation systems | |
CN114172655A (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 |