CN111294339B - 基于Fabric架构的同构联盟链跨链方法及装置 - Google Patents

基于Fabric架构的同构联盟链跨链方法及装置 Download PDF

Info

Publication number
CN111294339B
CN111294339B CN202010048747.XA CN202010048747A CN111294339B CN 111294339 B CN111294339 B CN 111294339B CN 202010048747 A CN202010048747 A CN 202010048747A CN 111294339 B CN111294339 B CN 111294339B
Authority
CN
China
Prior art keywords
chain
cross
initiating
receiving
node
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
Application number
CN202010048747.XA
Other languages
English (en)
Other versions
CN111294339A (zh
Inventor
伍前红
牛俊翔
王申
张盼
何丽
韩天煦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Aisino Corp
Original Assignee
Beihang University
Aisino Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University, Aisino Corp filed Critical Beihang University
Priority to CN202010048747.XA priority Critical patent/CN111294339B/zh
Publication of CN111294339A publication Critical patent/CN111294339A/zh
Application granted granted Critical
Publication of CN111294339B publication Critical patent/CN111294339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Fabric架构的同构联盟链跨链方法及装置,其中,方法包括以下步骤:控制跨链发起链与跨链接收链均在超级链上注册身份信息;在跨链发起链与跨链接收链通过超级链上存储的身份信息确认对方身份后,建立通信通道;在通信通道建立后,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程。该方法结合密码学中的数字签名技术,可以使得同构的两条Fabric联盟链之间在跨链过程中,能够保证跨链过程中两条链上的数据真实性与一致性。

Description

基于Fabric架构的同构联盟链跨链方法及装置
技术领域
本发明涉及信息系统中的区块链技术领域,特别涉及一种基于Fabric架构的同构联盟链跨链方法及装置。
背景技术
区块链是一种去中心化、无需信任的分布式数据账本技术,它通过密码学技术让网络中的所有节点共同拥有、管理和监督数据,系统的运转不接受任何单一节点的控制,从而具有不可伪造、不可篡改、可追溯等特点。区块链通过技术构造全新的信任体系,具有改变人类社会价值传递方式的潜力,并支持与行业应用深度融合,引起信息技术、金融、保险等多个领域的广泛关注。其中,联盟链是一种需要注册许可的区块链,也被成为许可链。联盟链仅限于联盟成员参与,联盟规模可以大到国与国之间,也可以是不同的机构企业之间。联盟链上的读写权限、参与记账权限按联盟规则来制定。整个网络由成员机构共同维护,网络接入一般通过成员机构的网关节点接入,共识过程由预先选好的节点控制。联盟链具有交易速度快、交易成本低等特点,在高可用、高性能、可编程、隐私保护上更有优势,它被认为是“部分去中心”或者是“多中心”的区块链。联盟链让节点数得到了精简,能够使得系统的运行效率更高、成本更低,在单位时间内能够确认的交易数量要比公链大很多,更容易在现实场景中落地。此外,联盟链相对于公有链非常重要的特点就是节点准入控制与国家信息安全标准支持,确保认证准入、制定监管规则符合监管要求,在可信安全的基础上提高交易速度。联盟链技术被广泛地应用在机构间的发票确认、资产交易等B2B场景,是目前工业界落地相对比较成熟的区块链应用。
随着区块链项目的蓬勃发展,现已出现越来越多的、结构不同的链,但几乎大多数项目都是以一条独立链的形态存在,每一条链都有自己的用户群体,链与链之间缺乏价值传递的通道,造成了信息的价值孤岛现象。区块链技术正在被多个主链所形成的独立生态割裂开来,分割的生态无法让区块链的用户连成一个整体,不利于网络效应的发挥。如何实现链与链之间数据的互联互通、如何通过跨链技术提升区块链可扩展性是学术界和工业界关注的重点问题。跨链技术被认为是区块链领域发展的“圣杯”,是打通链与链之间价值传递的障碍、实现区块链性能拓展、功能丰富、生态链接的重要手段,是将链联网构建成继互联网、物联网的下一个基础架构网络关键技术。在实际应用中,区块链跨链技术可实现不同区块链之间的资产转移、实现区块链资产的留置、读取和验证其他链的状态或事件、提升区块链交易处理能力,在电子发票管理、非税票据存证、供应链金融等多个业务领域及不同业务之间的数据协作中起到重要作用。
在联盟链环境中,实现链间的数据交互是一个尚未解决但又急需解决的需求。而现有的联盟链技术中,最具有代表性的就是Linux基金会旗下的HyperledgerFabric项目,Fabric项目具备企业级的网络安全性、可扩展性、保密性等特性,是一种模块化的区块链架构,可实现联盟链的身份管理、隐私保护、数据高效处理、智能合约等功能。具体而言,节点必须经过授权认证后才能加入,从而避免了挖矿资源开销,大幅提高了交易处理效率,满足企业级应用对处理性能的诉求。但是,Fabric即使作为最具代表性的联盟链,其仍然无法支持跨链功能。
因此,以最具代表性的联盟链项目Fabric架构为基础实现联盟链跨链功能,是迫切需要突破的一项关键技术,亟待解决。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于Fabric架构的同构联盟链跨链方法,该方法结合密码学中的数字签名技术,可以使得同构的两条Fabric联盟链之间在跨链过程中,能够保证跨链过程中两条链上的数据真实性与一致性。
本发明的另一个目的在于提出一种基于Fabric架构的同构联盟链跨链装置。
为达到上述目的,本发明一方面实施例提出了一种基于Fabric架构的同构联盟链跨链方法,包括以下步骤:控制跨链发起链与跨链接收链均在超级链上注册身份信息;在所述跨链发起链与所述跨链接收链通过所述超级链上存储的身份信息确认对方身份后,建立通信通道;在所述通信通道建立后,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程。
本发明实施例的基于Fabric架构的同构联盟链跨链方法,在原有联盟链基础上增添超级链来辅助跨链协议的运行,在不改变原有联盟链结构的基础上打破链间壁垒,实现不同联盟链之间的数据互通与信任问题,以使得不同联盟链之间在数据互通的基础上保证原有联盟链的安全性与稳定性。
另外,根据本发明上述实施例的基于Fabric架构的同构联盟链跨链方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案。
进一步地,在本发明的一个实施例中,所述跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案。
进一步地,在本发明的一个实施例中,当所述跨链种类为有指向的跨链状态查询方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,包括:确定所述跨链发起链的发起跨链状态查询请求;在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将所述状态查询请求发送至所述跨链接收链;在跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息,并予以回复,通过验证后,所述跨链接收链节点向所述跨链接收链提交查询提案;控制所述跨链接收链节点返回查询结果给所述跨链发起链节点。
进一步地,在本发明的一个实施例中,当所述跨链种类为无指向的跨链状态查询方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,还包括:确定所述跨链发起链的发起无指向的跨链状态查询请求;在所述跨链发起链节点向所述超级链请求查询拥有查询用户信息的业务链列表及证书信息后,予以回复;在所述跨链发起链节点向所述业务链列表中的所有链各发起一次有指向跨链状态查询协议,且每次协议执行完毕后,所述跨链发起链获得相应的查询结果;整合得到最终查询结果。
进一步地,在本发明的一个实施例中,当所述跨链种类为单链状态的跨链写入方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,还包括:在确定所述跨链发起链的发起单链状态的跨链写入请求;在所述跨链发起链的节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将状态写入请求发送给所述跨链接收链;在所述跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息后,予以回复,且在通过验证后,所述跨链接收链节点向述跨链接收链提交写入提案,完成写入操作;控制所述跨链接收链节点返回写入结果给所述跨链发起链节点。
进一步地,在本发明的一个实施例中,当所述跨链种类为双链状态的跨链写入方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,还包括:确定所述跨链发起链的发起双链状态的跨链写入请求;在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点与所述跨链接收链节点就双链写入问题中双方需要进行的改动达成共识;所述跨链发起链、所述跨链接收链节点生成提交写入提案;所述跨链发起链、所述跨链接收链对己方写入提案进行背书,得到交易背书;所述跨链发起链、所述跨链接收链节点将所述交易背书、签名发送至对方节点;所述跨链发起链、所述跨链接收链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;在预设时间后,所述跨链发起链、所述跨链接收链节点进行一次握手,确认对方按背书要求写入完成。
为达到上述目的,本发明另一方面实施例提出了一种基于Fabric架构的同构联盟链跨链装置,包括:控制模块,用于控制跨链发起链与跨链接收链均在超级链上注册身份信息;建立模块,用于在所述跨链发起链与所述跨链接收链通过所述超级链上存储的身份信息确认对方身份后,建立通信通道;执行模块,用于在所述通信通道建立后,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程。
本发明实施例的基于Fabric架构的同构联盟链跨链装置,在原有联盟链基础上增添超级链来辅助跨链协议的运行,在不改变原有联盟链结构的基础上打破链间壁垒,实现不同联盟链之间的数据互通与信任问题,以使得不同联盟链之间在数据互通的基础上保证原有联盟链的安全性与稳定性。
另外,根据本发明上述实施例的基于Fabric架构的同构联盟链跨链装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案。
进一步地,在本发明的一个实施例中,其中,所述执行模块进一步用于在所述跨链种类为有指向的跨链状态查询方案时,确定所述跨链发起链的发起跨链状态查询请求;在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将所述状态查询请求发送至所述跨链接收链;在跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息,并予以回复,通过验证后,所述跨链接收链节点向所述跨链接收链提交查询提案;控制所述跨链接收链节点返回查询结果给所述跨链发起链节点;或者
所述执行模块进一步用于在所述跨链种类为无指向的跨链状态查询方案时,确定所述跨链发起链的发起无指向的跨链状态查询请求;在所述跨链发起链节点向所述超级链请求查询拥有查询用户信息的业务链列表及证书信息后,予以回复;在所述跨链发起链节点向所述业务链列表中的所有链各发起一次有指向跨链状态查询协议,且每次协议执行完毕后,所述跨链发起链获得相应的查询结果;整合得到最终查询结果;或者
所述执行模块进一步用于在所述跨链种类为单链状态的跨链写入方案时,在确定所述跨链发起链的发起单链状态的跨链写入请求;在所述跨链发起链的节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将状态写入请求发送给所述跨链接收链;在所述跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息后,予以回复,且在通过验证后,所述跨链接收链节点向述跨链接收链提交写入提案,完成写入操作;控制所述跨链接收链节点返回写入结果给所述跨链发起链节点;或者
所述执行模块进一步用于在所述跨链种类为双链状态的跨链写入方案时,确定所述跨链发起链的发起双链状态的跨链写入请求;在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点与所述跨链接收链节点就双链写入问题中双方需要进行的改动达成共识;所述跨链发起链、所述跨链接收链节点生成提交写入提案;所述跨链发起链、所述跨链接收链对己方写入提案进行背书,得到交易背书;所述跨链发起链、所述跨链接收链节点将所述交易背书、签名发送至对方节点;所述跨链发起链、所述跨链接收链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;在预设时间后,所述跨链发起链、所述跨链接收链节点进行一次握手,确认对方按背书要求写入完成。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于Fabric架构的同构联盟链跨链方法的流程图;
图2为根据本发明一个实施例的基于Fabric架构的同构联盟链跨链方案的结构逻辑图;
图3为根据本发明一个实施例的基于Fabric架构的同构联盟链跨链方案的总流程图;
图4为根据本发明一个实施例的有指向的跨链状态查询方案的流程图;
图5为根据本发明一个实施例的单链状态的跨链写入方案的流程图;
图6为根据本发明一个实施例的双链状态的跨链写入方案流程图;
图7为根据本发明实施例的基于Fabric架构的同构联盟链跨链装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于Fabric架构的同构联盟链跨链方法及装置,首先将参照附图描述根据本发明实施例提出的基于Fabric架构的同构联盟链跨链方法。
图1是本发明一个实施例的基于Fabric架构的同构联盟链跨链方法的流程图。
如图1所示,该基于Fabric架构的同构联盟链跨链方法包括以下步骤:
在步骤S101中,控制跨链发起链与跨链接收链均在超级链上注册身份信息。
需要说明的是,如图2所示,本发明实施例的方案包括用户、跨链发起链A(记为A链)、跨链接收链B(记为B链)和超级链四个实体,其中,A链代表跨链方案的发起方,即A链需要主动向B链发起跨链请求;B链与A链架构相同,代表跨链方案的接收方,即B链被动接收来自A链的跨链请求;超级链在方案中作为身份证书存证提供方存在,A链与B链均需从在超级链上登记证书。
在步骤S102中,在跨链发起链与跨链接收链通过超级链上存储的身份信息确认对方身份后,建立通信通道。
可以理解的是,跨链发起链与跨链接收链通过超级链上存储的身份信息来确认对方身份,建立通信通道。例如,如图3所示,按顺序依次为:A链用户发起跨链提案至A链、A链向超级链获取B链证书、A链向B链请求建立通信、B链向超级链查询A链信息、A、B链建立通信。
在步骤S103中,在通信通道建立后,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程。
可以理解的是,通信通道建立后,跨链发起链与跨链接收链根据具体的跨链种类执行对应的跨链方案,完成跨链过程。例如,如图3所示,在通信通道建立后执行跨链方案,A链向用户返回提案结果。
其中,在本发明的一个实施例中,跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案。
可以理解的是,根据跨链需求的不同,跨链方案将具体分为以下四个种类:
(1)有指向的跨链状态查询方案:A链需要跨链从指定的B链上查询所需目标数据。
(2)无指向的跨链状态查询方案:A链需要跨链从所有链上查询符合要求的目标数据。
(3)单链状态的跨链写入方案:A链需要跨链在指定的B链上对目标数据进行写入更新。
(4)双链状态的跨链写入方案:A链与B链需要同步对各自链上的某一数据进行写入更新。
其中,有指向的跨链状态查询方案、无指向的跨链状态查询方案和单链状态的跨链写入方案均仅涉及跨链接收链B上的数据,故不存在数据一致性的问题。而双链状态的跨链写入方案由于涉及A、B两条链上的数据更新,因此需要特别保证双链更新过程中的数据一致性。
进一步地,在本发明的一个实施例中,当跨链种类为有指向的跨链状态查询方案时,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,包括:确定跨链发起链的发起跨链状态查询请求;在跨链发起链节点向超级链请求查询跨链接收链的证书信息后,予以回复,其中,跨链发起链节点将状态查询请求发送至跨链接收链;在跨链接收链节点向超级链请求查询跨链发起链的证书信息,并予以回复,通过验证后,跨链接收链节点向跨链接收链提交查询提案;控制跨链接收链节点返回查询结果给跨链发起链节点。
可以理解的是,A链确定需要发起跨链状态查询请求,目标链为B链;A链节点向超级链请求查询B链的证书信息,超级链予以回复。A链节点将状态查询请求发送给B链;B链节点向超级链请求查询A链的证书信息,超级链予以回复。通过验证后,B链节点向B链提交查询提案;B链节点返回查询结果给A链节点。
具体而言,如图4所示,有指向的状态查询方案的参与方为:某A链用户U,A链(起始链)节点PeersA,B链(目标链)节点PeersB,超级链节点PeersS,具体如下:
步骤11:U向PeersA发起一次有指向的状态查询请求:(G,IdB,Q,SigU)。
其中,表示该查询请求的元组的每一个元素的含义为:G,待查询的数字资产的标识;IdB,目标链B链的标识;Q,关于待查询的数字资产状态的询问,包括目标问题和谓词条件约束等;SigU,U关于此次查询请求的签名。
步骤12:PeersA确认U是在A链注册过的用户,并使用U的公钥pkU对SigU进行验证,确认SigU确实是U使用其自己的身份生成的。PeersA验证上述信息通过后,向PeersS发起关于B链节点证书信息的查询请求:
Figure BDA0002370350550000071
其中,表示该查询请求的元组的每一个元素的含义为:IdB,目标链B链的标识;
Figure BDA0002370350550000072
PeersA关于此次查询请求的签名。
步骤13:Peerss确认A链的证书存在超级链上,并使用PeersA的公钥pkA
Figure BDA0002370350550000073
进行验证,确认
Figure BDA0002370350550000074
确实是PeersA使用其自己的身份生成的。PeersS验证上述信息通过后,向PeersA答复关于B链节点证书信息的查询请求:
Figure BDA0002370350550000075
其中,表示该查询答复的元组的每一个元素的含义为:CertB,B链节点的证书信息,包括B链节点的路由信息和公钥信息等;
Figure BDA0002370350550000076
PeersS关于此次查询答复的签名。
步骤14:PeersA确认超级链的身份信息,并使用PeersS的公钥pks
Figure BDA0002370350550000077
进行验证,确认
Figure BDA0002370350550000078
确实是PeersS使用其自己的身份生成的。PeersA验证上述信息通过后,把从U接收到的状态查询请求附上自己的签名以及U的签名及证书信息后转发给PeersB
Figure BDA0002370350550000079
其中,
Figure BDA00023703505500000710
是PeersA关于此次查询请求的签名;CertU是U的证书信息。
步骤15:PeersB向Peerss发起关于A链节点证书信息的查询请求:
Figure BDA00023703505500000711
其中,表示该查询请求的元组的每一个元素的含义为:IdA,目标链B链的标识;
Figure BDA00023703505500000712
PeersB,关于此次查询请求的签名。
步骤16:PeersS确认B链的证书存在超级链上,并使用PeersB的公钥pkB
Figure BDA00023703505500000815
验证,确认
Figure BDA0002370350550000081
确实是PeersB使用其自己的身份生成的。PeersS验证上述信息通过后,向PeersB答复关于A链节点证书信息的查询请求:
Figure BDA0002370350550000082
其中,表示该查询答复的元组的每一个元素的含义为:CertA,A链节点的证书信息,包括A链节点的路由信息和公钥信息等;
Figure BDA0002370350550000083
PeersS关于此次查询答复的签名。
步骤17:PeersB确认超级链的身份信息,并使用Peerss的公钥pkS
Figure BDA0002370350550000084
进行验证,确认
Figure BDA0002370350550000085
确实是PeersS使用其自己的身份生成的;确认A链的身份信息,并使用PeersA的公钥pkA
Figure BDA0002370350550000086
进行验证,确认
Figure BDA0002370350550000087
确实是PeersA使用其自己的身份生成的。PeersB验证上述信息通过后,通过相关程序,对状态查询请求
Figure BDA0002370350550000088
做出答复:
Figure BDA0002370350550000089
其中,表示该查询答复的元组的每一个元素的含义为:AnsQ,PeersB对G状态询问Q的答复;
Figure BDA00023703505500000810
PeersB关于此次查询答复的签名。
步骤18:PeersA确认B链的身份信息,使用PeersB的公钥pkB验证
Figure BDA00023703505500000811
合法后,将查询答复信息
Figure BDA00023703505500000812
返回给U。U确认A链的身份信息,使用PeersA的公钥pkA验证
Figure BDA00023703505500000813
合法后,接受查询结果AnsQ
其中,
Figure BDA00023703505500000814
是PeersA关于此次查询答复信息的签名。
进一步地,在本发明的一个实施例中,当跨链种类为无指向的跨链状态查询方案时,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,还包括:确定跨链发起链的发起无指向的跨链状态查询请求;在跨链发起链节点向超级链请求查询拥有查询用户信息的业务链列表及证书信息后,予以回复;在跨链发起链节点向业务链列表中的所有链各发起一次有指向跨链状态查询协议,且每次协议执行完毕后,跨链发起链获得相应的查询结果;整合得到最终查询结果。
可以理解的是,A链确定需要发起无指向的跨链状态查询请求;A链节点向超级链请求查询拥有查询用户信息的业务链列表及证书信息,超级链予以回复。A链节点向上述列表中的所有链各发起一次有指向跨链状态查询协议,每次协议执行完毕后,A链获得相应的查询结果。整合可得查询结果。
具体而言,无指向的跨链状态查询方案的参与方为:某T链用户U,T链(起始链)节点PeersT,目标链集合X,目标链X∈X,节点为PeersX。超级链节点PeersS,具体如下:
步骤21:U向PeersT发起一次无指向的状态查询请求:(G,Q,SigU)。
其中,表示该查询请求的元组的每一个元素的含义为:G,待查询的数字资产的标识集合;,关于待查询的数字资产状态的询问,包括目标问题和谓词条件约束等;SigU,U关于此次查询请求的签名。
步骤22:PeersT确认U是在T链注册过的用户,并使用U的公钥pkU对SigU进行验证,确认SigU确实是U使用其自己的身份生成的。PeersT验证上述信息通过后,PeersT验证SigU合法后,向PeersS发起拥有查询用户信息和相应资产信息的业务链列表的查询请求:
Figure BDA0002370350550000091
其中,表示该查询请求的元组的后两个元素的含义为:CertU,U的证书信息;
Figure BDA0002370350550000092
PeersA关于此次查询请求的签名。
步骤23:Peerss确认T链的证书存在超级链上,并使用PeersT的公钥pkT
Figure BDA0002370350550000093
进行验证,确认
Figure BDA0002370350550000094
确实是PeersT使用其自己的身份生成的。PeersS验证上述信息通过后,Peerss验证
Figure BDA0002370350550000095
合法后,向PeersT答复关于拥有查询用户信息和相应资产信息的业务链列表的查询请求:
Figure BDA0002370350550000096
其中,表示该查询请求答复的元组的后两个元素的含义为:CertX,目标链集合X对应的证书集合;
Figure BDA0002370350550000097
Peerss对此次查询请求答复的签名。
步骤24:PeersT确认超级链的身份信息,并使用Peerss的公钥pks
Figure BDA0002370350550000098
进行验证,确认
Figure BDA0002370350550000099
确实是PeersS使用其自己的身份生成的。PeersT验证上述信息通过后,对每一个(X,CertX)∈(X,Certx)发起一次关于(G,Q)的简化的有指向跨链状态查询协议。
每一个X∈X向PeersT返回查询答复
Figure BDA00023703505500000910
其中,表示该查询答复的元组的每一个元素的含义为:AnsQ,X,PeersX对G状态询问Q的答复;
Figure BDA00023703505500000911
PeersX关于此次查询答复的签名。
步骤25:对每一个X∈X,PeersT确认X链的身份信息,使用PeersX的公钥pkX验证
Figure BDA00023703505500000912
合法后,将查询答复信息集合元组
Figure BDA00023703505500000913
返回给U。U确认T链的身份信息,使用PeersT的公钥pkT验证
Figure BDA00023703505500000914
合法后,接受查询结果AnsQ,X
其中,表示该查询答复的元组的每一个元素的含义为:AnsQ,X,所有答复信息AnsQ,X的集合;
Figure BDA00023703505500000915
PeersT关于此次查询答复信息的签名。
进一步地,在本发明的一个实施例中,当跨链种类为单链状态的跨链写入方案时,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,还包括:在确定跨链发起链的发起单链状态的跨链写入请求;在跨链发起链的节点向超级链请求查询跨链接收链的证书信息后,予以回复,其中,跨链发起链节点将状态写入请求发送给跨链接收链;在跨链接收链节点向超级链请求查询跨链发起链的证书信息后,予以回复,且在通过验证后,跨链接收链节点向述跨链接收链提交写入提案,完成写入操作;控制跨链接收链节点返回写入结果给跨链发起链节点。
可以理解的是,A链确定需要发起单链状态的跨链写入请求,目标链为B链;A链节点向超级链请求查询B链的证书信息,超级链予以回复。A链节点将状态写入请求发送给B链;B链节点向超级链请求查询A链的证书信息,超级链予以回复,通过验证后,B链节点向B链提交写入提案,完成写入操作;B链节点返回写入结果给A链节点;
具体而言,如图5所示,单链状态的跨链写入方案的参与方为:某A链用户U,A链(起始链)节点PeersA,B链(目标链)节点PeersB,超级链节点PeersS,具体如下:
步骤31:U向PeersA发起一次单链状态的跨链写入请求:(G,IdB,Δ,SigU)。
其中,表示该查询请求的元组的每一个元素的含义为:G,状态待改动的目标链上数字资产的标识;IdB,目标链B链的标识;Δ,G的状态改变量;SigU,U关于此次写入请求的签名。
步骤32:PeersA确认U是在A链注册过的用户,并使用U的公钥pkU对SigU进行验证,确认SigU确实是U使用其自己的身份生成的。PeersA验证上述信息通过后,向PeersS发起关于B链节点证书信息的查询请求:
Figure BDA0002370350550000101
其中,表示该查询请求的元组的每一个元素的含义为:IdB,目标链B链的标识;
Figure BDA0002370350550000102
PeersA关于此次查询请求的签名。
步骤33:Peerss确认A链的证书存在超级链上,并使用PeersA的公钥pkA
Figure BDA0002370350550000103
进行验证,确认
Figure BDA0002370350550000104
确实是PeersA使用其自己的身份生成的。PeersS验证上述信息通过后,向PeersA答复关于B链节点证书信息的查询请求:
Figure BDA0002370350550000105
其中,表示该查询答复的元组的每一个元素的含义为:CertB,B链节点的证书信息,包括B链节点的路由信息和公钥信息等,
Figure BDA0002370350550000106
PeersS关于此次查询答复的签名。
步骤34:PeersA确认超级链的身份信息,并使用PeersS的公钥pkS
Figure BDA0002370350550000107
进行验证,确认
Figure BDA0002370350550000108
确实是Peerss使用其自己的身份生成的。PeersA验证上述信息通过后,把从U接收到的状态写入请求附上自己的签名以及U的签名及证书信息后转发给PeersB
Figure BDA0002370350550000109
其中,
Figure BDA00023703505500001010
是PeersA关于此次查询请求的签名;CertU是U的证书信息。
步骤35:PeersB向PeersS发起关于A链节点证书信息的查询请求:
Figure BDA00023703505500001011
其中,表示该查询请求的元组的每一个元素的含义为:IdA,目标链B链的标识;
Figure BDA00023703505500001012
PeersB,关于此次查询请求的签名。
步骤36:PeersS确认B链的证书存在超级链上,并使用PeersB的公钥pkB
Figure BDA00023703505500001013
进行验证,确认
Figure BDA00023703505500001014
确实是PeersB使用其自己的身份生成的。PeersS验证上述信息通过后,向PeersB答复关于A链节点证书信息的查询请求:
Figure BDA00023703505500001015
其中,表示该查询答复的元组的每一个元素的含义为:CertA,A链节点的证书信息,包括B链节点的路由信息和公钥信息等;
Figure BDA0002370350550000111
PeersS关于此次查询答复的签名。
步骤37:PeersB确认超级链的身份信息,并使用PeersS的公钥pkS
Figure BDA0002370350550000112
进行验证,确认
Figure BDA0002370350550000113
确实是PeersS使用其自己的身份生成的;确认A链的身份信息,并使用PeersA的公钥pkA
Figure BDA0002370350550000114
进行验证,确认
Figure BDA0002370350550000115
确实是PeersA使用其自己的身份生成的。PeersB验证上述信息通过后,通过相关程序,对状态写入请求
Figure BDA0002370350550000116
进行处理,将G在B链上的原始状态s更改为s+Δ,并将相关的Invoke交易存证返回给PeersA
Figure BDA0002370350550000117
其中,表示该交易存证答复元组的每一个元素的含义为:π,状态写入的Invoke交易集的存证;
Figure BDA0002370350550000118
PeersB关于此次状态写入答复的签名。
步骤38:PeersA确认B链的身份信息,使用PeersB的公钥pkB验证
Figure BDA0002370350550000119
合法性后,将状态写入答复信息
Figure BDA00023703505500001110
返回给U。U确认A链的身份信息,使用PeersA的公钥pkA验证
Figure BDA00023703505500001111
合法后,接受状态写入答复结果AnsQ
其中,
Figure BDA00023703505500001112
是PeersA关于此次状态写入答复信息的签名。
进一步地,在本发明的一个实施例中,当跨链种类为双链状态的跨链写入方案时,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,还包括:确定跨链发起链的发起双链状态的跨链写入请求;在跨链发起链节点向超级链请求查询跨链接收链的证书信息后,予以回复,其中,跨链发起链节点与跨链接收链节点就双链写入问题中双方需要进行的改动达成共识;跨链发起链、跨链接收链节点生成提交写入提案;跨链发起链、跨链接收链对己方写入提案进行背书,得到交易背书;跨链发起链、跨链接收链节点将交易背书、签名发送至对方节点;跨链发起链、跨链接收链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;在预设时间后,跨链发起链、跨链接收链节点进行一次握手,确认对方按背书要求写入完成。
可以理解的是,A链确定需要发起双链状态的跨链写入请求,目标链为B链;A链节点向超级链请求查询B链的证书信息,超级链予以回复。A链节点与B链节点就双链写入问题中双方需要进行的改动达成共识;A、B链节点生成提交写入提案,但暂不向链上提交;A、B链对己方写入提案进行背书,得到交易背书;A、B链节点将交易背书,签名发送至对方节点,A、B链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;一定时间后,A、B链节点进行一次握手,确认对方按背书要求写入完成。
具体而言,如图6所示,双链状态的跨链写入方案的参与方为:某A链用户U,A链(起始链&目标链一)节点PeersA,B链(目标链二)节点PeersB,超级链节点PeersS,具体如下:
步骤41:U向PeersA发起一次双链状态的跨链写入请求:(GAA,GBB,IdB,SigU)。
其中,表示该跨链写入请求的元组的每一个元素的含义为:GA,状态待改动的起始链&目标链一上数字资产的标识;ΔA,GA的状态改变量;GB,状态待改动的目标链二上数字资产的标识;ΔB,GB的状态改变量;IdB,目标链二B链的标识;SigU,U关于此次写入请求的签名。
步骤42:PeersA确认U是在A链注册过的用户,并使用U的公钥pkU对SigU进行验证,确认SigU确实是U使用其自己的身份生成的。PeersA验证上述信息通过并验证GA和ΔA的合法性通过后,向PeersS发起关于B链节点证书信息的查询请求:
Figure BDA0002370350550000121
其中,表示该查询请求的元组的每一个元素的含义为:IdB,目标链B链的标识;
Figure BDA0002370350550000122
PeersA关于此次查询请求的签名。
步骤43:PeersS确认A链的证书存在超级链上,并使用PeersA的公钥pkA
Figure BDA0002370350550000123
进行验证,确认
Figure BDA0002370350550000124
确实是PeersA使用其自己的身份生成的。PeersS验证上述信息通过后,向PeersA答复关于B链节点证书信息的查询请求:
Figure BDA0002370350550000125
其中,表示该查询答复的元组的每一个元素的含义为:CertB,B链节点的证书信息,包括B链节点的路由信息和公钥信息等,
Figure BDA0002370350550000126
PeersS关于此次查询答复的签名。
步骤44:PeersA确认超级链的身份信息,并使用PeersS的公钥pkS
Figure BDA0002370350550000127
进行验证,确认
Figure BDA0002370350550000128
确实是PeetsS使用其自己的身份生成的。PeersA验证上述信息通过后,把从U接收到的状态写入请求附上自己的签名以及U的签名及证书信息后转发给PeersB
Figure BDA0002370350550000129
Figure BDA00023703505500001210
其中,
Figure BDA00023703505500001211
是PeersA关于此次查询请求的签名;CertU是U的证书信息。
步骤45:PeersB向PeersS发起关于A链节点证书信息的查询请求:
Figure BDA00023703505500001212
其中,表示该查询请求的元组的每一个元素的含义为:IdA,A链的标识;
Figure BDA00023703505500001213
PeersB关于此次查询请求的签名。
步骤46:PeersS确认B链的证书存在超级链上,并使用PeersB的公钥pkB
Figure BDA00023703505500001214
进行验证,确认
Figure BDA00023703505500001215
确实是PeersB使用其自己的身份生成的。PeersS验证上述信息通过后,向PeersB答复关于A链节点证书信息的查询请求:
Figure BDA00023703505500001216
其中,表示该查询答复的元组的每一个元素的含义为:CertA,A链节点的证书信息,包括A链节点的路由信息和公钥信息等;
Figure BDA00023703505500001217
PeersS关于此次查询答复的签名。
步骤47:PeersB确认超级链的身份信息,并使用PeersS的公钥pkS
Figure BDA00023703505500001218
进行验证,确认
Figure BDA00023703505500001219
确实是PeersS使用其自己的身份生成的;确认A链的身份信息,并使用PeersA的公钥pkA
Figure BDA00023703505500001220
进行验证,确认
Figure BDA00023703505500001221
确实是PeersA使用其自己的身份生成的。PeersB验证上述信息通过后,通过相关程序,对状态写入请求
Figure BDA00023703505500001222
进行处理,将GB在B链上的原始状态sB更改为sBB,并将相关的Invoke交易存证返回给PeersA
Figure BDA0002370350550000131
其中,表示该交易存证答复元组的每一个元素的含义为:πB,B链状态写入的Invoke交易集的存证(包括生效的交易中的GB和ΔB);
Figure BDA0002370350550000132
PeersB关于此次状态写入答复的签名。
步骤48:PeersA通过相关程序,对状态写入请求
Figure BDA0002370350550000133
进行处理,将GA在A链上的原始状态sA更改为sAA,并将相关的Invoke交易存证返回给PeersB
Figure BDA0002370350550000134
其中,表示该交易存证答复元组的每一个元素的含义为:πA,A链状态写入的Invoke交易集的存证(包括生效的交易中的GB和ΔB);
Figure BDA0002370350550000135
PeersA关于此次状态写入答复的签名。
(步骤47和步骤48无先后顺序,可并行)
步骤49:PeersA确认B链的身份信息,使用PeersB的公钥pkB验证
Figure BDA0002370350550000136
合法并验证状态修改的一致性后,接受双链状态的跨链写入;PeersB确认A链的身份信息,使用PeersA的公钥pkA验证
Figure BDA0002370350550000137
合法并验证状态修改的一致性后,接受双链状态的跨链写入。PeersA将相关的Invoke交易存证返回给U:
Figure BDA0002370350550000138
其中,
Figure BDA0002370350550000139
是PeersA对πA和πB的签名。U确认A链的身份信息,使用PeersA的公钥pkA验证
Figure BDA00023703505500001310
合法后,接受双链状态的跨链写入。
综上,本发明实施例提出的基于Fabric架构的同构联盟链跨链方法,在原有联盟链基础上增添超级链来辅助跨链协议的运行,在不改变原有联盟链结构的基础上打破链间壁垒,实现不同联盟链之间的数据互通与信任问题,以使得不同联盟链之间在数据互通的基础上保证原有联盟链的安全性与稳定性。具体优点包括:(1)跨链身份验证:以上层超级链存证为基准,使得不同联盟链节点之间在通信时能够互相确认对方身份;(2)跨链数据真实性:通过密码学中的数字签名技术,使得能够根据证书实现跨链数据的真实性验证;(3)跨链数据一致性:跨链方案保证跨链双方在正确履行跨链方案的情况下,能够保证跨链过程中双方的数据状态一致;(4)跨链可扩展性:在抽象的业务场景下给出了一种跨链方案,该方案可扩展至任何具体业务下的单链上特定资产的状态的跨链场景下使用。
其次参照附图描述根据本发明实施例提出的基于Fabric架构的同构联盟链跨链装置。
图7是本发明一个实施例的基于Fabric架构的同构联盟链跨链装置的结构示意图。
如图7所示,该基于Fabric架构的同构联盟链跨链装置10包括:控制模块100、建立模块200和执行模块300。
其中,控制模块100用于控制跨链发起链与跨链接收链均在超级链上注册身份信息;建立模块200用于在跨链发起链与跨链接收链通过超级链上存储的身份信息确认对方身份后,建立通信通道;执行模块300用于在通信通道建立后,跨链发起链与跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程。本发明实施例的装置10结合密码学中的数字签名技术,可以使得同构的两条Fabric联盟链之间在跨链过程中,能够保证跨链过程中两条链上的数据真实性与一致性。
进一步地,在本发明的一个实施例中,跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案。
进一步地,在本发明的一个实施例中,其中,执行模块300进一步用于在跨链种类为有指向的跨链状态查询方案时,确定跨链发起链的发起跨链状态查询请求;在跨链发起链节点向超级链请求查询跨链接收链的证书信息后,予以回复,其中,跨链发起链节点将状态查询请求发送至跨链接收链;在跨链接收链节点向超级链请求查询跨链发起链的证书信息,并予以回复,通过验证后,跨链接收链节点向跨链接收链提交查询提案;控制跨链接收链节点返回查询结果给跨链发起链节点;或者
执行模块300进一步用于在跨链种类为无指向的跨链状态查询方案时,确定跨链发起链的发起无指向的跨链状态查询请求;在跨链发起链节点向超级链请求查询拥有查询用户信息的业务链列表及证书信息后,予以回复;在跨链发起链节点向业务链列表中的所有链各发起一次有指向跨链状态查询协议,且每次协议执行完毕后,跨链发起链获得相应的查询结果;整合得到最终查询结果;或者
执行模块300进一步用于在跨链种类为单链状态的跨链写入方案时,在确定跨链发起链的发起单链状态的跨链写入请求;在跨链发起链的节点向超级链请求查询跨链接收链的证书信息后,予以回复,其中,跨链发起链节点将状态写入请求发送给跨链接收链;在跨链接收链节点向超级链请求查询跨链发起链的证书信息后,予以回复,且在通过验证后,跨链接收链节点向述跨链接收链提交写入提案,完成写入操作;控制跨链接收链节点返回写入结果给跨链发起链节点;或者
执行模块300进一步用于在跨链种类为双链状态的跨链写入方案时,确定跨链发起链的发起双链状态的跨链写入请求;在跨链发起链节点向超级链请求查询跨链接收链的证书信息后,予以回复,其中,跨链发起链节点与跨链接收链节点就双链写入问题中双方需要进行的改动达成共识;跨链发起链、跨链接收链节点生成提交写入提案;跨链发起链、跨链接收链对己方写入提案进行背书,得到交易背书;跨链发起链、跨链接收链节点将交易背书、签名发送至对方节点;跨链发起链、跨链接收链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;在预设时间后,跨链发起链、跨链接收链节点进行一次握手,确认对方按背书要求写入完成。
需要说明的是,前述对基于Fabric架构的同构联盟链跨链方法实施例的解释说明也适用于该实施例的基于Fabric架构的同构联盟链跨链装置,此处不再赘述。
根据本发明实施例提出的基于Fabric架构的同构联盟链跨链装置,在原有联盟链基础上增添超级链来辅助跨链协议的运行,在不改变原有联盟链结构的基础上打破链间壁垒,实现不同联盟链之间的数据互通与信任问题,以使得不同联盟链之间在数据互通的基础上保证原有联盟链的安全性与稳定性。具体优点包括:(1)跨链身份验证:以上层超级链存证为基准,使得不同联盟链节点之间在通信时能够互相确认对方身份;(2)跨链数据真实性:通过密码学中的数字签名技术,使得能够根据证书实现跨链数据的真实性验证;(3)跨链数据一致性:跨链方案保证跨链双方在正确履行跨链方案的情况下,能够保证跨链过程中双方的数据状态一致;(4)跨链可扩展性:在抽象的业务场景下给出了一种跨链方案,该方案可扩展至任何具体业务下的单链上特定资产的状态的跨链场景下使用。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (6)

1.一种基于Fabric架构的同构联盟链跨链方法,其特征在于,包括以下步骤:
控制跨链发起链与跨链接收链均在超级链上注册身份信息;
在所述跨链发起链与所述跨链接收链通过所述超级链上存储的身份信息确认对方身份后,建立通信通道;以及
在所述通信通道建立后,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程,所述跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案;
当所述跨链种类为双链状态的跨链写入方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,还包括:
确定所述跨链发起链的发起双链状态的跨链写入请求;
在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点与所述跨链接收链节点就双链写入问题中双方需要进行的改动达成共识;
所述跨链发起链、所述跨链接收链节点生成提交写入提案;
所述跨链发起链、所述跨链接收链对己方写入提案进行背书,得到交易背书;
所述跨链发起链、所述跨链接收链节点将所述交易背书、签名发送至对方节点;
所述跨链发起链、所述跨链接收链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;
在预设时间后,所述跨链发起链、所述跨链接收链节点进行一次握手,确认对方按背书要求写入完成。
2.根据权利要求1所述的方法,其特征在于,当所述跨链种类为有指向的跨链状态查询方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,包括:
确定所述跨链发起链的发起跨链状态查询请求;
在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将所述状态查询请求发送至所述跨链接收链;
在跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息,并予以回复,通过验证后,所述跨链接收链节点向所述跨链接收链提交查询提案;
控制所述跨链接收链节点返回查询结果给所述跨链发起链节点。
3.根据权利要求2所述的方法,其特征在于,当所述跨链种类为无指向的跨链状态查询方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,还包括:
确定所述跨链发起链的发起无指向的跨链状态查询请求;
在所述跨链发起链节点向所述超级链请求查询拥有查询用户信息的业务链列表及证书信息后,予以回复;
在所述跨链发起链节点向所述业务链列表中的所有链各发起一次有指向跨链状态查询协议,且每次协议执行完毕后,所述跨链发起链获得相应的查询结果;
整合得到最终查询结果。
4.根据权利要求3所述的方法,其特征在于,当所述跨链种类为单链状态的跨链写入方案时,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,还包括:
在确定所述跨链发起链的发起单链状态的跨链写入请求;
在所述跨链发起链的节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将状态写入请求发送给所述跨链接收链;
在所述跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息后,予以回复,且在通过验证后,所述跨链接收链节点向述跨链接收链提交写入提案,完成写入操作;
控制所述跨链接收链节点返回写入结果给所述跨链发起链节点。
5.一种基于Fabric架构的同构联盟链跨链装置,其特征在于,包括:
控制模块,用于控制跨链发起链与跨链接收链均在超级链上注册身份信息;
建立模块,用于在所述跨链发起链与所述跨链接收链通过所述超级链上存储的身份信息确认对方身份后,建立通信通道;以及
执行模块,用于在所述通信通道建立后,所述跨链发起链与所述跨链接收链根据跨链种类执行对应的跨链方案,完成跨链过程,所述跨链种类包括有指向的跨链状态查询方案、无指向的跨链状态查询方案、单链状态的跨链写入方案和双链状态的跨链写入方案;所述执行模块进一步用于在所述跨链种类为双链状态的跨链写入方案时,确定所述跨链发起链的发起双链状态的跨链写入请求;在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点与所述跨链接收链节点就双链写入问题中双方需要进行的改动达成共识;所述跨链发起链、所述跨链接收链节点生成提交写入提案;所述跨链发起链、所述跨链接收链对己方写入提案进行背书,得到交易背书;所述跨链发起链、所述跨链接收链节点将所述交易背书、签名发送至对方节点;所述跨链发起链、所述跨链接收链节点收到并验证对方交易提案与背书后,将己方交易提案发送至己方链上进行数据写入上链;在预设时间后,所述跨链发起链、所述跨链接收链节点进行一次握手,确认对方按背书要求写入完成。
6.根据权利要求5所述的装置,其特征在于,其中,
所述执行模块进一步用于在所述跨链种类为有指向的跨链状态查询方案时,确定所述跨链发起链的发起跨链状态查询请求;在所述跨链发起链节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将所述状态查询请求发送至所述跨链接收链;在跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息,并予以回复,通过验证后,所述跨链接收链节点向所述跨链接收链提交查询提案;控制所述跨链接收链节点返回查询结果给所述跨链发起链节点;或者
所述执行模块进一步用于在所述跨链种类为无指向的跨链状态查询方案时,确定所述跨链发起链的发起无指向的跨链状态查询请求;在所述跨链发起链节点向所述超级链请求查询拥有查询用户信息的业务链列表及证书信息后,予以回复;在所述跨链发起链节点向所述业务链列表中的所有链各发起一次有指向跨链状态查询协议,且每次协议执行完毕后,所述跨链发起链获得相应的查询结果;整合得到最终查询结果;或者
所述执行模块进一步用于在所述跨链种类为单链状态的跨链写入方案时,在确定所述跨链发起链的发起单链状态的跨链写入请求;在所述跨链发起链的节点向所述超级链请求查询所述跨链接收链的证书信息后,予以回复,其中,所述跨链发起链节点将状态写入请求发送给所述跨链接收链;在所述跨链接收链节点向所述超级链请求查询所述跨链发起链的证书信息后,予以回复,且在通过验证后,所述跨链接收链节点向述跨链接收链提交写入提案,完成写入操作;控制所述跨链接收链节点返回写入结果给所述跨链发起链节点。
CN202010048747.XA 2020-01-16 2020-01-16 基于Fabric架构的同构联盟链跨链方法及装置 Active CN111294339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010048747.XA CN111294339B (zh) 2020-01-16 2020-01-16 基于Fabric架构的同构联盟链跨链方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010048747.XA CN111294339B (zh) 2020-01-16 2020-01-16 基于Fabric架构的同构联盟链跨链方法及装置

Publications (2)

Publication Number Publication Date
CN111294339A CN111294339A (zh) 2020-06-16
CN111294339B true CN111294339B (zh) 2021-10-15

Family

ID=71024196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010048747.XA Active CN111294339B (zh) 2020-01-16 2020-01-16 基于Fabric架构的同构联盟链跨链方法及装置

Country Status (1)

Country Link
CN (1) CN111294339B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636920A (zh) * 2020-12-10 2021-04-09 浙商银行股份有限公司 一种基于权限管控的同构许可链互联方法
CN112733100A (zh) * 2021-01-07 2021-04-30 浙江大学 一种面向联盟链的跨链访问可信权限管理系统及方法
CN113268767A (zh) * 2021-05-19 2021-08-17 山东浪潮商用系统有限公司 一种基于区块链涉税报告链上存证系统及方法
CN114612242B (zh) * 2022-03-17 2023-06-16 四川大学 基于多价值链协同映射区块链的数据管理方法和装置
WO2024082818A1 (zh) * 2022-10-20 2024-04-25 腾讯科技(深圳)有限公司 基于多区块链的跨链处理方法、装置、设备、系统及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107085810A (zh) * 2017-04-19 2017-08-22 朱皞罡 一种区块链的跨链操作方法及区块链管理系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019103B (zh) * 2018-10-16 2024-02-09 陕西医链区块链集团有限公司 一种基于区块链的跨链系统和跨链实现方法
WO2019072271A2 (en) * 2018-11-16 2019-04-18 Alibaba Group Holding Limited DOMAIN NAME DIAGRAM FOR CROSS CHAIN INTERACTIONS IN BLOCK CHAIN SYSTEMS
CN109831418A (zh) * 2018-12-28 2019-05-31 无锡井通网络科技有限公司 基于证书的可信联盟链构建方法、系统及电子设备
CN110266655B (zh) * 2019-05-30 2021-11-12 中国工商银行股份有限公司 一种基于区块链的跨链互联方法、设备以及系统
CN110223178A (zh) * 2019-06-06 2019-09-10 杭州趣链科技有限公司 一种用于联盟链的跨链系统和跨链方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107085810A (zh) * 2017-04-19 2017-08-22 朱皞罡 一种区块链的跨链操作方法及区块链管理系统

Also Published As

Publication number Publication date
CN111294339A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN111294339B (zh) 基于Fabric架构的同构联盟链跨链方法及装置
CN109871669B (zh) 一种基于区块链技术的数据共享解决方法
CN110288480B (zh) 一种区块链的私密交易方法及装置
CN110769035B (zh) 一种区块链资产发行方法、平台、业务节点及存储介质
CN112418860A (zh) 一种基于跨链技术的区块链高效管理架构及工作方法
CN101193103B (zh) 一种分配和验证身份标识的方法及系统
CN113328997B (zh) 联盟链跨链系统及方法
CN111262860B (zh) 跨链模式下的身份认证方法及装置
CN111371905B (zh) 一种基于云计算的区块链分层共识证明系统与方法
CN112311772B (zh) 基于Hyperledger的跨域证书管理系统及方法
CN108876669B (zh) 应用于多平台教育资源共享的课程公证系统及方法
CN109840767B (zh) 基于区块链技术的多方公平合约存证方法和系统
CN110177109B (zh) 一种基于标识密码和联盟链的双代理跨域认证系统
Zhang et al. Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding
CN113269546B (zh) 一种基于区块链的用户身份证照系统及方法
CN111737352B (zh) 一种基于区块链的供应链信息协同管理方法
CN113850599B (zh) 一种应用于联盟链的跨链交易方法及系统
Abbade et al. Blockchain applied to vehicular odometers
CN113256297B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
Zafar et al. Integration of blockchain and Internet of Things: Challenges and solutions
CN105678151A (zh) 构建可信节点/卫星节点的区块链传输方法和系统
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
CN112884562B (zh) 基于区块链的抵押处理方法、装置及可读存储介质
Liu et al. A blockchain-based cross-domain authentication management system for IoT devices
CN116866340A (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