CN111431903A - 一种跨链中继方法、装置以及计算机可读存储介质 - Google Patents
一种跨链中继方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111431903A CN111431903A CN202010216416.2A CN202010216416A CN111431903A CN 111431903 A CN111431903 A CN 111431903A CN 202010216416 A CN202010216416 A CN 202010216416A CN 111431903 A CN111431903 A CN 111431903A
- Authority
- CN
- China
- Prior art keywords
- node
- relay
- chain
- verifier
- block
- 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
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文涉及区块链安全技术领域,尤其涉及一种跨链中继方法、装置以及计算机可读存储介质。本文提供的方法包括,验证者节点加载主链与侧链的信息;根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。通过上述实施例,可以通过两个时间门限值来合交叉判断作为中继节点的验证者节点是否可用,提高了主链与侧链之间跨链通信数据传输的可靠性。在不引入第三方的中继链的前提下,通过将验证者节点作为中继节点实现中继功能,可以确保跨链通信数据的安全性,避免由于中继链的可靠性低造成区块链信息被篡改或者截取的风险。
Description
技术领域
本文涉及区块链安全技术领域,尤其涉及一种跨链中继方法、装置以及计算机可读存储介质。
背景技术
分布式账本***(DLS),也可称为共识网络和/或区块链网络,使参与的实体能够安全地、不可篡改地存储数据。在不引用任何特定用例的情况,DLS通常被称为区块链网络。
区块链网络的示例类型可包括公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络向所有实体开放以使用DLS,并开放参与共识过程。私有区块链网络针对特定实体提供,该实体集中控制读写权限。联盟区块链网络针对选定的实体组群提供,这些实体组群控制共识过程并包括访问控制层。区块链具有去中心化、反篡改、数据一致性存储、过程透明可追踪等技术优势,其被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。
而在众多条链中,相关资产都是独立的,为了解决不同链之间交易问题,跨链技术随之而生,跨链最基本的意义就是要实现具有价值的数据信息流通,解决不同链之间的具有价值的数据的孤岛问题,通过跨链技术打通组成更大的泛区块链网络,变得越来越有实际意义。例如,有1个独立的供应链区块链和1个独立的商品售卖区块链,2个区块链合起来,才能涵盖一个商品从生产到售卖的整个生命周期。如果通过跨链技术将2个区块链的数据打通实现共享和交换,就能实现一个商品的全生命周期的追溯,以及基于实现全生命周期的数据挖掘等,这将对现实生产具有非常重要的参考价值和指导意义。
目前跨链技术中,使用中继方案最为广泛,而且中继也是相对比较复杂的机制。在众多跨链项目中,作为中继身份的大多是一条独立的区块链,也就是说,在两条独立的区块链之间实现通信,需要通过中继链来进行消息的转发,但是如何保证中继链的可信度是一个难题,而且中继链需要在其他链上获取或者发送数据,这样中继链的可信度更加跨链通信的首要问题。除了安全问题,对于中继链的监管也是一个难题,并且中继链的共识算法等也很难保证符合其他区块链的要求。
如何提高现有技术中跨链通信的数据安全性是亟需解决的问题。
发明内容
为解决现有技术中的技术问题,本文实施例提供了一种跨链中继方法、装置以及计算机可读存储介质,实现了不通过中继链而采用原区块链中的中继节点对主链与侧链之间的跨链通信数据进行传输的目的。
一方面,本文实施例提供了一种跨链中继方法,包括,
验证者节点加载主链与侧链的信息;
根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
另一方面,本文实施例还提供了一种跨链中继装置,该装置位于验证者节点,包括,
加载单元,用于加载主链与侧链的信息;
转发单元,用于根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
另一方面,本文实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
另一方面,本文实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述的方法。
利用本文实施例,在不引入第三方的中继链的前提下,通过将验证者节点作为中继节点实现中继功能,可以确保跨链通信数据的安全性,避免由于中继链的可靠性低造成区块链信息被篡改或者截取的风险。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本文实施例的区块链结构示意图;
图2所示为本文实施例一种跨链中继方法的流程图;
图3所示为本文实施例一种跨链中继动态变更方法的流程图;
图4所示为本文实施例一种跨链中继装置的结构示意图;
图5所示为本文实施例一种中继变更单元的结构示意图;
图6所示为本文实施例一种跨链中继动态变更方法的具体流程图;
图7所示为本文实施例中继模块初始化的流程图;
图8所示为本文实施例一种跨链中继动态变更方法的具体流程图;
图9所示为本文实施例节点的结构示意图。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。一般来说,公有区块链网络支持公开交易。公开交易为公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链。也就是说,对于全局区块链,所有节点都处于完全状态共识。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络内实施共识协议。共识协议的示例包括但不限于工作量证明(POW)、权益证明(POS)和权限证明(POA)。在本文中进一步引用POS作为非限制性示例。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化***,其对节点具有严格限制且节点数量较少。一般来说,私有区块链网络是为特定实体而提供的,该特定实体集中控制读写权限。实体控制哪些节点能够参与到区块链网络中。因此,私有区块链网络通常被称为许可网络,其对被允许参与网络及参与水平(例如,仅在某些交易中)加以限制。可以采用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制许可)。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。一般来说,联盟区块链网络在参与的实体之间是私有的。在联盟区块链网络中,共识过程由授权的节点集控制,一个或多个节点由各自的实体(例如,金融机构、保险公司)操作。例如,十(10)个实体(例如,金融机构、保险公司)的联盟可操作一个联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。因此,联盟区块链网络可被视为与参与的实体相关联的私有网络。在一些示例中,每个实体(节点)必须签名每个区块,以使得该区块有效并被添加到区块链。在一些示例中,至少实体(节点)的子集(例如,至少超过半数个实体)必须签名每个区块,以使得该区块有效并被添加到区块链。
基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
在目前的解决方案下,由于每个区块链都是独立的,一个区块链的节点不能与其他链通信。例如,节点不能从其他区块链读取数据或者与其他区块链交换数据。此外,如果需要复杂的计算逻辑和协议,即使节点不需要来自其他区块链的数据来执行计算,完全在区块链上执行此类计算也会耗费区块链的计算资源和大量的时间。
在本文中参照联盟区块链网络进一步详细描述本文的实施例,联盟区块链网络在参与的实体之间是公开的。然而,可预期的是,本文的实施例可在任何适当类型的区块链网络中实现。
如图1所示为本文实施例的区块链结构示意图,在该图中,包括主链网络100和第一侧链网络200以及第二侧链网络300,还可以包括更多的侧链网络,由于所有的区块链网络都基于互联网,因此有的互联网中的计算机(或服务器)很难用地域或者空间的方式确切的区分其为主链网络100中的节点还是哪个侧链网络中的节点,因此在附图1中以“链”状来描述主链网络和侧链网络,但在真实网络环境中可能更加复杂。
在本文的***环境中,所有的侧链网络200或300均与主链网络100连接并分别可以与主链网络100进行通信(即数据传输),但是第一侧链网络200与第二侧链网络300之间不能进行直接的通信,需通过主链网络100进行“转达”。在主链网络100或者侧链网络200、300中“转达”数据信息时都是通过各自网络中的中继节点完成,例如,第一侧链网络200通过其内部的中继节点与主链网络100中的中继节点通信,将查询、存储等数据信息发送给主链网络100中的中继节点,主链网络中的中继节点将需要发送给第二侧链网络300的数据信息发送给第二侧链网络300的中继节点。
在每一条侧链网络中都保存有自己侧链网络的共享账簿,主链中也保留了主链的共享账簿。
第一种情况,当例如第一侧链网络中的用户与另一个在所述第一侧链网络中的用户进行交易时,第一侧链网络的验证者节点(即可以根据交易数据生成区块的节点)根据交易数据生成区块,并在符合数量要求的验证者节点进行共识验证通过后加入该第一侧链网络的共享账簿中。
第二种情况,当例如第一侧链网络中的用户与主链网络中的用户进行交易时(或者需要在主链网路中存储、查询等交易时),第一侧链网络的验证者节点根据交易数据生成区块,在符合数量要求的验证者节点进行共识验证通过后加入该第一侧链网络的共享账簿中,并且第一侧链网络的中继节点将该交易数据发送给主链网络(此时,主链网络可以通过主链中继节点接收交易数据或者通过其他节点接收交易数据),主链网络根据该交易数据进行后续处理,例如完成交易或者查询、存储等,然后主链网络在生成的区块中包含该交易数据,并加入到主链网络的区块链中。
第三种情况,当例如第一侧链网络中的用户与第二侧链网络中的用户进行交易时(或者需要在该第二侧链网路中存储、查询等交易时),第一侧链网络的验证者节点根据交易数据生成区块,在符合数量要求的验证者节点进行共识验证通过后加入该第一侧链网络的共享账簿中,并且第一侧链网络的中继节点将该交易数据发送给主链网络中的中继节点,主链网络中的中继节点将该交易数据发送到第二侧链网络,第二侧链网络对该交易数据进行后续处理,例如完成交易或者查询、存储等,然后第二侧链生成的区块中包含该交易数据,并加入到第二侧链网络的区块链中。
第四种情况,当例如主链网络中的用户需要与第一侧链网络中的用户进行交易时(或者需要在该第一侧链网路中存储、查询等交易时),主链网络的验证者节点根据交易数据生成区块,在符合数量要求的验证者节点进行共识验证通过后加入主链网络的共享账簿中,并且主链网络的中继节点将交易数据发送给第一侧链网络,第一侧链网络中的中继节点对该交易数据进行后续处理,例如完成交易或者查询、存储等,然后第一侧链生成的区块中包含该交易数据,并加入到第一侧链网络的区块链中。
验证者节点是指区块链网络中可以产生区块以及进行共识验证的节点。
观察者节点是指不生成区块以及不进行共识验证的节点,通常这种节点只是进行区块同步和执行区块等工作的节点,也就是区块链网络中的普通节点。其中,执行区块是在验证者节点生成区块并在区块链网络中进行广播后,该节点接收到生成的区块,执行区块中的交易,将成功执行的交易的执行结果更新到该节点(本地)的共享账簿中。在主链或者侧链中都存在观察者节点以及验证者节点。
中继节点是指可以转发跨链数据的节点,可以为验证者节点。
第一实施例
如图2所示为本文实施例一种跨链中继方法的流程图,在本实施例中无论主链还是侧链的验证者节点都可以为中继节点,某个时间段只存在一个验证者节点为中继节点,但是在主链或者侧链中的每个验证者节点都可以具有中继功能,当某个主链验证者节点或者某个侧链验证者节点为中继节点时都可以按照原区块链(主链或者侧链)的安全机制与其所属的主链节点或者侧链节点进行通信,在主链与侧链之间不会引入新的中继区块链作为跨链信息传输的中介,确保了主链和侧链之间通信的可信度,并且由于主链节点和侧链节点的数据结构或者安全机制的一致性,主链节点与侧链节点之间的通信设计也会变得更加简单和容易实现。
步骤201,验证者节点加载主链与侧链的信息。
在步骤201中,验证者节点在启动时加载主链与侧链的信息。
其中,主链信息包括,主链ID;主链ID可以例如为主链名称+数字串,或者主链ID还可以为字符串组成;主链信息还可以包括节点访问URL,当前验证者节点地址。节点访问URL可以是验证者节点的访问URL也可以是观察者节点的URL,所述节点访问URL为其他节点通过互联网访问该节点的统一标识符地址,当前验证节点地址是指当前验证者节点的ID。
侧链信息包括,侧链ID;侧链ID可以例如为侧链名称+数字串,或者侧链ID还可以为字符串组成;侧链信息还可以包括侧链节点配置的访问URL,其中可以包括侧链所有节点的访问URL也可以是部分节点URL。
步骤202,根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
在步骤202中还包括,从所述验证者节点生成的区块中提取交易数据,将需要跨链的跨链通信数据打包后,由源链向目标链进行传输。其中,源链可以为主链或者侧链,目标链可以为侧链或者主链。
在上述步骤202之后还包括,根据预设时间间隔,将所述中继节点更换为当前产生区块的验证者节点,通过所述更换后的验证者节点继续实现中继功能。
上述步骤可以进一步如图3所示,图3为本文实施例一种跨链中继动态变更方法的流程图,随着中继节点不断的变化,即便在某个短暂的时间段,中继节点不可用,也会在短暂的时间段过后恢复主链与侧链之间的跨链通信,从而可以保证主链和侧链之间的跨链通信不会由于中继节点的宕机或者故障中断。具体包括:
步骤301,当验证者节点产生区块时,获取中继开始时间以及中继节点信息。
步骤302,判断所述中继开始时间与当前产生区块的时间的时间差是否超过预设时间间隔,当超过所述预设时间间隔,则执行步骤303。
步骤303,利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息。
作为本文的一个实施例,在步骤302之中还包括,当没有超过所述预设时间间隔,则保持所述获取的中继开始时间以及中继节点信息不变。
由于中继开始时间以及中继节点信息不变,因此还是通过原有中继节点传输跨链通信数据。
在步骤302之后还包括,将所述中继节点信息中的验证者节点作为中继节点实现中继功能,传输主链与侧链之间的跨链通信数据。
作为本文的一个实施例,在步骤301中还包括,当验证者节点产生区块时,判断所述验证者节点所属区块链的属性,当所述验证者节点所属区块链为侧链,则获取主链的信息;当所述验证者节点所属区块链为主链,则获取侧链的信息。
在本步骤中,所述判断所述验证者节点所属区块链的属性可能是通过读取并解析所述验证者节点的状态位,例如为0或者1的布尔量,其中0可以代表为主链,1代表为侧链,还可以例如为不同的字符串标记该验证者节点所在区块链的属性,例如,master代表为主链,slave1代表第一个侧链,slave2代表为第二个侧链。
在上述步骤中,获取主链的信息中,例如可以获取主链的唯一标识符(ID)以及主链的唯一资源标识符(URL),将两者或者两者的对应关系保存于该验证者节点所在计算机的内存中或者硬盘中;获取侧链的信息中,例如可以获取侧链的ID以及侧链的URL,保存于该验证者节点所在计算机的内存中或者硬盘中。
上述步骤可以在验证者节点生成区块时进行,也可以在验证者节点初始化时进行,即,当该验证者节点的计算机启动时,随着该验证这节点的功能启动时,进行上述根据该验证者节点所属区块链的属性获取相应信息的步骤。
作为本文的一个实施例,在上述步骤301中,获取中继开始时间以及中继节点信息中进一步包括,从当前产生区块的前一个相邻的区块中获取中继开始时间以及中继节点信息。
在本步骤中,可以从前一个相邻的区块的区块头中获取中继开始时间以及中继节点信息。
作为本文的一个实施例,在上述步骤301之后还包括,判断当前产生区块的验证者节点是否与获取到的中继节点信息相同,当相同时,则由所述当前产生区块的验证者节点作为中继节点传输跨链通信数据。
在本步骤中,判断产生区块的验证者节点是否与获取到的中继节点信息相同可以通过产生区块的验证者节点的IP地址与中继节点信息中的IP地址来进行判断,或者还可以通过产生区块的验证者节点的MAC地址与中继节点信息中的MAC地址来进行判断,或者还可以通过其他能够代表节点唯一性的标识来进行判断,例如验证者节点与中继节点信息中的节点唯一标识符(节点ID)。
无论是基于POW、POS或者DPOS的共识算法,当当前产生区块的验证者节点可能与中继开始时间的验证者节点相同,也就是说,在中继开始时间的验证者节点就是中继节点,而当前产生区块的验证者节点(与获取的中继节点信息相同)也将依然还作为中继节点,用来传输跨链通信数据。
作为本文的一个实施例,当当前产生区块的验证者节点与获取到的中继节点信息不相同,则进入步骤302,继续判断所述中继开始时间与当前产生区块的时间的时间差是否超过预设时间间隔。
作为本文的一个实施例,在上述步骤中,当当前产生区块的验证者节点与获取到的中继节点信息不相同时,停止所述当前产生区块的验证者节点传输主链与侧链之间的跨链通信数据的中继功能,也就是说,停止传输跨链通信数据。这样是为了确保区块链(主链或者侧链)中只有一个中继节点在某个时间段内执行中继节点的功能,即传输跨链通信数据,可以减少转发跨链通信数据的重复性,节省带宽资源以及验证者节点的计算资源。
在上述步骤302中还包括,所述预设时间间隔可以为数秒级别或者数分钟级别的任意数值,例如可以为5秒、10秒、15秒、1分钟、2分钟、3分钟等。
在上述步骤301之后还包括,获取至少一个与当前产生区块最相邻的历史区块;判断所述历史区块中是否存在作为所述中继节点的验证者节点的投票信息,当不存在所述作为所述中继节点的验证者节点的投票信息时,则利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息。
每个区块都具有区块链(主链或者侧链)节点对该区块的投票信息,包括该投票节点的地址、赞成或者反对的信息以及该投票节点的签名和时间戳等信息。在本步骤中,可以获取与当前产生区块相邻的三个历史区块,每个历史区块都应当具有包括执行中继功能的验证者节点在内的节点的投票信息,当某个区块中缺少执行中继功能的验证者节点的投票信息,则说明可能该执行中继功能的验证者节点出现故障,不能执行投票功能,同样的中继功能也有可能无法执行,因此在这种情况下,当一个或者多个区块中不具有该执行中继功能的验证者节点的投票信息,则认为该验证者节点无法执行中继功能,在本文的技术方案中,利用当前产生区块的验证者节点以及当前产生区块的时间来更新当前产生区块中的中继节点信息以及所述中继开始时间,并通过当前产生区块的验证者节点实现中继功能,传输跨链通信数据。
上述步骤可以运行于步骤302之前,当所述历史区块存在所述中继节点的投票信息则执行步骤302。
通过上述本文实施例的方法,在不引入第三方的中继链的前提下,通过将验证者节点作为中继节点实现中继功能,可以确保跨链通信数据的安全性,避免由于中继链的可靠性低造成区块链信息被篡改或者截取的风险;并且,通过将区块头中的中继开始时间和中继节点信息不断更新,可以动态的更换中继节点,这样可以保证无论某个时间段中继节点出现故障,都可以在很短的时间内更换到另一个中继节点,这样可以保障主链与侧链之间的跨链通信不会由于中继节点的故障而中断。
第二实施例
如图4所示为本文实施例一种跨链中继装置的结构示意图,在本实施例中可以由主链或者侧链中的验证者节点实现,其中验证者节点可以为计算机或者高性能服务器,或者为其他具有计算能力以及联网通信能力的移动设备,例如手机、平板电脑等。本实施例的装置也可以为运行于验证者节点上的软件程序构成,例如通过节点上的通用芯片构成的功能模块来实现软件模块的功能,从而实现跨链通信数据的中继,可以运行于主链或者侧链的验证者节点,具体包括如下部件:
该装置位于主链和侧链的验证者节点,包括如下部件:
加载单元401,用于加载主链与侧链的信息。
转发单元402,用于根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
所述转发单元402还用于,从所述验证者节点生成的区块中提取交易数据,将需要跨链的跨链通信数据打包后,由源链向目标链进行传输。
还包括中继变更单元403,用于根据预设时间间隔,当所在验证者节点为当前产生区块的验证者节点时,将所述中继节点更换为当前产生区块的验证者节点,继续调用所述加载单元401和转发单元402实现中继功能。
所述中继变更单元403的结构如图5所示,图5为本文实施例一种中继变更单元的结构示意图,通过该中继变更单元可以实现中继动态变更,具体包括:
获取模块501,用于当所述验证者节点产生区块时,获取中继开始时间以及中继节点信息。
时间差判断模块502,用于判断所述中继开始时间与当前产生区块的时间的时间差是否超过预设时间间隔。
更新模块503,用于当超过所述预设时间间隔,则利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息。
作为本文的一个实施例,所述更新模块503,还用于当没有超过所述预设时间间隔,则保持所述获取的中继开始时间以及中继节点信息不变。
作为本文的一个实施例,还包括初始化模块504,用于当验证者节点产生区块时,判断所述验证者节点所属区块链的属性,当所述验证者节点所属区块链为侧链,则获取主链的信息;当所述验证者节点所属区块链为主链,则获取侧链的信息。
作为本文的一个实施例,所述获取模块501进一步用于,获取中继开始时间以及中继节点信息中进一步包括,从当前产生区块的上一个区块中获取中继开始时间以及中继节点信息。
作为本文的一个实施例,所述时间差判断模块502进一步用于,判断当前产生区块的验证者节点是否与获取到的中继节点信息相同,当相同时,则由所述当前产生区块的验证者节点作为中继节点传输跨链通信数据。
作为本文的一个实施例,所述时间差判断模块502进一步用于,当当前产生区块的验证者节点与获取到的中继节点信息不相同,则继续判断所述中继开始时间与当前产生区块的时间的时间差是否超过预设时间间隔。
作为本文的一个实施例,所述时间差判断模块502进一步用于,当当前产生区块的验证者节点与获取到的中继节点信息不相同时,停止所述当前产生区块的验证者节点传输主链与侧链之间的跨链通信数据的中继功能。
作为本文的一个实施例,还包括历史区块获取模块505,用于获取至少一个与当前产生区块相邻的历史区块;
投票信息判断模块506,用于判断所述历史区块中是否存在作为所述中继节点的验证者节点的投票信息;
当不存在所述作为所述中继节点的验证者节点的投票信息,则更新模块503利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息。
通过上述本文实施例的装置,通过在不引入第三方的中继链的前提下,可以确保跨链通信数据的安全性,避免由于中继链的可靠性低造成区块链信息被篡改或者截取的风险;并且,将区块头中的中继开始时间和中继节点信息不断更新,可以动态的更换中继节点,这样可以保证无论某个时间段中继节点出现故障,都可以在很短的时间内更换到另一个中继节点,这样可以保障主链与侧链之间的跨链通信不会由于中继节点的故障而中断。
第三实施例
在本实施例中,源链(例如主链)中的每个验证者节点都具有中继程序(中继模块),该中继模块用来实现跨链通信数据的传输,但是源链中同一个时间段内只有一个验证者节点的中继模块是能够进行跨链通信数据传输的,也就是说在一个时间段内仅有一个验证者节点可以作为中继节点执行中继功能,所有验证者节点的中继模块在启动时获取主链ID以及侧链ID。通过智能合约来执行源链最新的区块,获得区块执行结果的收据,该执行结果的收据中包括了需要进行跨链传输的交易数据识别结果,当激活中继功能的验证者节点接收到该收据后,将需要进行跨链传输的交易数据进行打包形成交易数据包;从跨链收据数据中识别出目标链ID,再根据目标链ID从内存中加载目标链的访问URL,将跨链交易数据包通过访问URL发送给目标链。
第四实施例
如图6所示为本文实施例一种跨链中继动态变更方法的具体流程图,在上述第三实施例具有中继功能的验证者节点的主链或者侧链网络中,本实施例从已有的验证者节点中选择出某个节点作为中继节点来实现主链与侧链之间传输跨链通信数据的中继功能,通过短间隔的中继节点变更,可以解决作为中继节点的验证者节点故障造成跨链通信数据无法传输的问题,主链与侧链之间的通信可以得到保障,具体包括如下步骤:
步骤601,第一验证者节点启动,中继模块进行初始化。
在本步骤中,中继模块还可以在其他时刻初始化,例如根据第一验证者节点产生区块时,中继模块进行初始化。
中继模块进行初始化的过程可以参考附图7,图7为本文实施例中继模块初始化的流程图,包括以下步骤:
步骤701,中继模块根据当前区块链的共享账簿中的信息,判断该第一验证者节点属于主链还是属于侧链,如果主链,则进入步骤702,如果是侧链,则进入步骤703。
步骤702,中继模块获取其他侧链ID以及相应的侧链的URL,并将获得的信息存储于第一验证者节点的内存中。
步骤703,中继模块获取主链ID以及主链的URL,并将获得的信息存储于第一验证者节点的内存中。
步骤602,所述第一验证者节点产生第一个区块。
在本步骤中,当第一验证者节点产生第一个区块后,将该第一验证者节点信息写入到第一个区块的区块头信息中,所述第一验证者节点信息包括第一验证者节点ID,或者第一验证者节点的IP地址,第一验证者节点名称等。并且,在第一个区块的区块头中还具有该第一验证者节点所属区块链网络(主链或者侧链)的中继节点的信息,由于产生的是第一个区块,因此在本步骤中第一个区块的区块头中的中继节点信息为空,或者为事先指定的验证者节点的信息。该中继节点信息用于指明该区块链网络通过哪个验证者节点作为中继节点,来实现传输跨链通信数据的中继功能。
步骤603,判断是否激活中继模块。
第一验证者节点根据所述中继模块中存储的初始化信息,如果初始化信息中具有其他侧链ID以及相应的URL,或者具有主链ID以及相应的URL,则需要激活中继功能,进入步骤604,如果初始化信息中为空时,则不需要激活中继功能,进入步骤605。
步骤604,将所述产生的第一个区块的区块头中的中继节点信息更换为产生该第一区块的第一验证者节点ID。
在本实施例中,由于将产生第一个区块的第一验证者节点ID更换区块头中当前尚为空的中继节点信息,因此,声明了当前以产生第一区块的第一验证者节点作为中继节点实现中继功能。同时,还需要在第一区块的区块头中写入中继开始时间,即,写入当前产生区块的时间,该中继开始时间表示由该验证者节点实现跨链通信数据传输的中继功能的开始时间。从而激活该第一验证者节点作为中继节点实现主链与侧链之间跨链通信数据传输的中继功能。
区块链网络(主链或者侧链)对上述第一个区块进行共识验证,通过共识验证后将该第一区块加入到区块链网络的共享账簿中。
如果有需要跨链传输的交易数据时,可以根据参考上述实施例三,以该第一验证者节点作为中继节点实现主链与侧链之间的跨链通信数据传输的中继功能。
步骤605,退出中继动态变更的方法。
步骤606,第i个验证者节点产生第i个区块。
该第i个验证者节点产生的第i个区块为最新生成的一个区块。
该第i个验证者节点的中继模块获得第i个区块的区块头中的信息,包括中继开始时间,由于第i个验证者节点产生区块的时间在所述预定时间之内,则所述第i个区块的区块头中的中继开始时间为在顺序上与该第i个区块邻近的前一个区块中的中继开始时间相同,在第一次执行本步骤中为第一验证者节点产生第一个区块的时间,也就是第一验证者节点激活中继模块实现跨链通信数据传输的时间,以及中继节点信息,其中中继节点信息为产生前一个区块验证者节点ID,在第一次执行本步骤中为第一验证者节点ID。该第i个区块的区块头中的上述信息获取自前一个相邻的区块。
其中,i为大于等于2的自然数。
步骤607,判断第i个验证者节点ID与中继节点信息是否相同,如果相同,则进入步骤608,否则进入步骤609。
在本步骤中,第i个验证者节点执行上述步骤607。
步骤608,继续激活该第i个验证者节点的中继模块,执行中继功能。
在本实施例中,第i个验证者节点ID与中继节点信息(第一验证者节点ID)相同,也就是说,由于POW或者POS等产生区块的算法,第一验证者节点可能多次产生区块,第一验证者节点产生了第一个区块,经过一段时间别的验证者节点产生多个区块之后,第一验证者节点又产生了上述的第i个区块。
步骤609,判断第i个区块中的中继开始时间与该第i个验证者节点产生区块的时间是否超过第一预设时间间隔,如果超过所述第一预设时间间隔,则进入步骤610,否则进入步骤611。
在本步骤中,如果没有超过第一预设时间间隔,也就是说,第i个验证者节点产生区块的时间与中继开始时间之差还在第一预设时间间隔之内,在该第一预设时间间隔之内可以继续采用第一个验证者节点作为中继节点实现中继功能,当超出该第一预设时间间隔,则需要更换第i个验证者节点作为中继节点实现中继功能。
在本实施例中,所述第一预设时间间隔可以5秒、10秒、20秒,或者其它数秒、数十秒级别的时间段。
步骤610,利用产生第i个区块的时间更新所述第i个区块的区块头中的中继开始时间,并利用当前产生第i个区块的第i个验证者节点的信息更新所述第i个区块的区块头中的中继节点的信息。从而激活该第i个验证者节点的中继模块。
在本步骤中,当更新了第i个区块的区块头中的中继开始时间以及中继节点信息之后,后续产生的区块(例如第i+1个区块)也会获取该第i个区块的区块头中的中继开始时间和中继节点信息,作为该第i+1个区块的区块头中的中继开始时间和中继节点信息。
并且,成为中继节点(激活中继模块)的第i个验证者节点根据上述第三实施例进行跨链通信数据的传输,以该第i个验证者节点作为中继节点实现主链与侧链之间的跨链通信数据传输的中继功能。
通过上述步骤,取消了第一个验证者节点的中继节点的中继功能,并将第i个验证者节点作为中继节点并且实现中继功能,达到了动态变更中继的目的。
步骤611,判断第i个验证者节点中的中继模块是否处于激活状态。
如果处于激活状态,则进入步骤612,否则进入步骤613。
步骤612,停止所述第i个验证者节点中中继模块的激活状态,也就是说,停止所述第i个验证者节点传输主链与侧链之间的跨链通信数据的中继功能,停止传输跨链通信数据。这样可以保证在主链与侧链之间只具有一个可以执行中继功能的验证者节点。
步骤613,在第i+1个验证者节点产生第i+1个区块,并执行上述步骤607-612。
第五实施例
如图8所示为本文实施例一种跨链中继动态变更方法的具体流程图,在上述第三实施例具有中继功能的验证者节点的主链或者侧链网络中,本实施例判断作为中继节点的验证者节点是否还可以进行投票,如果在某个时间段内没有进行投票(即该验证者节点可能处于不可用状态),则变更中继节点为当前产生区块的验证者节点,通过这样的方法可以进一步提高中继动态变更的准确性,即便在前述中继开始时间与当前产生区块的时间之差在预设的门限值之内(即前述预设时间间隔之内),也同样可以排除不可用的验证者节点,及时变更中继节点,保证主链与侧链之间的跨链通信畅通。
在本文实施例的区块链网络中,区块的区块头中会保存有区块链网络中的所有验证者节点对上一个区块的投票信息,其中所述投票信息包括,进行投票的验证者节点地址(或验证者节点ID),赞成或者反对的标识位(例如布尔值),以及该进行投票的验证者节点的签名和时间戳等信息。
具体包括如下步骤:
为了简便说明,本实施例中与第四实施例相同的部分不再赘述,并且默认已经构成区块链,并且在区块的区块头中已经包括了中继开始时间以及中继节点信息,并且区块链网络中具有一个已经激活中继模块的验证者节点。
步骤801,第i个验证者节点产生第i个区块。
该第i个验证者节点产生的第i个区块为区块链网络中最新生成的一个区块。
其中,i为大于等于4的自然数。
步骤802,获取与第i个区块最邻近的上一个历史区块中所有验证者节点的投票信息以及中继节点信息。
在本步骤中,第i个验证者节点从第i-1个区块的区块头中获取中继节点信息,并获取该i-1个区块中的投票信息。所述中继节点信息中包括了作为中继节点实现中继功能的验证者节点ID或该验证者节点的地址。
步骤803,判断作为中继节点的验证者节点是否存在于所述区块的投票信息中,当作为中继节点的验证者节点不存在于投票信息中,说明该作为中继节点的验证者节点可能出现故障,处于不可用状态,则进入步骤804进一步判断该验证者节点的状态;当作为中继节点的验证者节点存在于投票信息中,则说明该作为中继节点的验证者节点还在正常运行,进入步骤806。
步骤804,再获取若干与所述第i个区块最邻近的历史区块的投票信息。
在本步骤中,可以获取第i-2个区块和第i-3个区块,在本实施例中,一共获取了3个与第i个区块最邻近的历史区块(第i-1个区块、i-2个区块和第i-3个区块),还可以获取与当前第i个区块顺序向前的更多个历史区块中的投票信息,例如4或5个区块。
步骤805,判断作为中继节点的验证者节点是否存在于上述若干历史区块的投票信息中,当上述若干历史区块的投票信息中存在作为中继节点的验证者节点,则进入步骤806;当上述若干历史区块的投票信息中不存在作为中继节点的验证者节点,则进入步骤808。
在本步骤中,当上述历史区块(例如i-2和i-3)的投票信息中存在作为中继节点的验证者节点,则说明作为中继节点的验证者节点还可能是正常的;当上述历史区块(例如i-2和i-3)的投票信息中不存在作为中继节点的验证者节点,也就是说,作为中继节点的验证者节点已经连续三个区块不能进行投票,则说明作为中继节点的验证者节点可能存在问题,需要变更其他验证者节点作为中继节点,以保障主链与侧链之间跨链通信数据的传输。
步骤806,判断第i个区块中的中继开始时间与该第i个验证者节点产生区块的时间是否超过第二预设时间间隔,当没有超过所述第二预设时间间隔,则进入步骤807,否则进入步骤808。
在本步骤中,当没有超过第二预设时间间隔,也就是说,第i个验证者节点产生区块的时间与区块头中的中继开始时间之差在第二预设时间间隔之内,在该第二预设时间间隔之内可以继续采用区块头中保存的作为中继节点的验证者节点实现中继功能,当超出该第二预设时间间隔,则需要更换第i个验证者节点作为中继节点实现中继功能。
在本实施例中,所述第二预设时间间隔可以为2分钟、3分钟,或者其它数分钟级别的时间段。
步骤807,继续由中继节点信息中指示的验证者节点执行中继功能。
通过在2分钟内作为中继节点的验证者节点是否还可以进行投票来判断该验证者节点是否可用,如果在上述规定的2分钟内还可以进行投票,则还由该验证者节点上的中继模块来执行中继功能。
步骤808,利用产生第i个产生区块的时间更新所述第i个区块的区块头中的中继开始时间,并利用当前产生第i个区块的第i个验证者节点的信息更新所述第i个区块的区块头中的中继节点的信息。从而激活该第i个验证者节点的中继模块。
并且,成为中继节点(激活中继模块)的第i个验证者节点根据上述第三实施例进行跨链通信数据的传输,以该第i个验证者节点作为中继节点实现主链与侧链之间的跨链通信数据传输的中继功能。
本实施例中的步骤可以运行于第四实施例步骤606之后,也就是说,本实施例中的步骤802-808运行于上述第四实施例步骤607之前;或者,本实施例中的步骤802-808运行于上述第四实施例步骤613跳转回步骤606之前。
通过上述实施例,可以通过两个时间门限值来合交叉判断作为中继节点的验证者节点是否可用,提高了主链与侧链之间跨链通信数据传输的可靠性。在不引入第三方的中继链的前提下,通过将验证者节点作为中继节点实现中继功能,可以确保跨链通信数据的安全性,避免由于中继链的可靠性低造成区块链信息被篡改或者截取的风险;并且,通过将区块头中的中继开始时间和中继节点信息不断更新,可以动态的更换中继节点,这样可以保证无论某个时间段中继节点出现故障,都可以在很短的时间内更换到另一个中继节点,这样可以保障主链与侧链之间的跨链通信不会由于中继节点的故障而中断。
如图9所示为本文实施例节点的结构示意图,在本实施例中描述了侧链网络中的节点以及主链网络中的节点的结构,可以包括中继节点、决策者节点或其他职能节点,所述节点在本实施例中被称为计算设备,计算设备902可以包括一个或多个处理设备904,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算设备902还可以包括任何存储资源906,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储资源906可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储资源都可以使用任何技术来存储信息。进一步地,任何存储资源可以提供信息的易失性或非易失性保留。进一步地,任何存储资源可以表示计算设备902的固定或可移除部件。在一种情况下,当处理设备904执行被存储在任何存储资源或存储资源的组合中的相关联的指令时,计算设备902可以执行相关联指令的任一操作。计算设备902还包括用于与任何存储资源交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。
计算设备902还可以包括输入/输出模块910(I/O),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914))。一个具体输出设备可以包括呈现设备916和相关联的图形用户接口(GUI)918。在其他实施例中,还可以不包括输入/输出模块910(I/O),仅作为网络中的一台计算设备。计算设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。
通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本文实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
验证者节点加载主链与侧链的信息;
根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
并且该计算机设备还可以实现如上述图2至图3、图6至图8中的所有方法。
对应于图2至图3、图6至图8中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中在当电子设备中执行所述指令时,其中的程序使得电子设备执行如图2至图3、图6至图8所示的确定处理器操作的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (10)
1.一种跨链中继方法,其特征在于包括,
验证者节点加载主链与侧链的信息;
根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
2.根据权利要求1所述的方法,其特征在于,在根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能之后还包括,
根据预设时间间隔,将所述中继节点更换为当前产生区块的验证者节点,通过所述更换后的验证者节点继续实现中继功能。
3.根据权利要求2所述的方法,其特征在于,在根据预设时间间隔,将所述中继节点更换为当前产生区块的验证者节点,通过所述更换后的验证者节点继续实现中继功能中进一步包括,
当验证者节点产生区块时,获取中继开始时间以及中继节点信息;
判断所述中继开始时间与当前产生区块的时间的时间差是否超过所述预设时间间隔,当超过所述预设时间间隔,则利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息。
4.根据权利要求3所述的方法,其特征在于,在利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息之后还包括,
将所述中继节点信息中的验证者节点作为中继节点实现中继功能,传输主链与侧链之间的跨链通信数据。
5.根据权利要求3所述的方法,其特征在于,当验证者节点产生区块时,获取中继开始时间以及中继节点信息之后还包括,
判断当前产生区块的验证者节点是否与获取到的中继节点信息相同,当相同时,则由所述当前产生区块的验证者节点作为中继节点传输跨链通信数据。
6.根据权利要求5所述的方法,其特征在于,当当前产生区块的验证者节点与获取到的中继节点信息不相同时,停止所述当前产生区块的验证者节点传输主链与侧链之间的跨链通信数据的中继功能。
7.根据权利要求3所述的方法,其特征在于,在当验证者节点产生区块时,获取中继开始时间以及中继节点信息之后还包括,
获取至少一个与当前产生区块最相邻的历史区块;判断所述历史区块中是否存在作为所述中继节点的验证者节点的投票信息,当不存在所述作为所述中继节点的验证者节点的投票信息时,则利用所述当前产生区块的时间更新所述中继开始时间,并利用所述当前产生区块的验证者节点的信息更新所述中继节点的信息。
8.一种跨链中继装置,其特征在于该装置位于验证者节点,包括,
加载单元,用于加载主链与侧链的信息;
转发单元,用于根据所述主链与侧链的信息,将主链与侧链之间的跨链通信数据进行传输,将所述验证者节点作为中继节点实现中继功能。
9.根据权利要求8所述的装置,其特征在于还包括,
中继变更单元,用于根据预设时间间隔,当所在验证者节点为当前产生区块的验证者节点时,将所述中继节点更换为当前产生区块的验证者节点,继续调用所述加载单元和转发单元实现中继功能。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,该计算机指令被处理器执行时实现上述权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216416.2A CN111431903B (zh) | 2020-03-25 | 2020-03-25 | 一种跨链中继方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216416.2A CN111431903B (zh) | 2020-03-25 | 2020-03-25 | 一种跨链中继方法、装置以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431903A true CN111431903A (zh) | 2020-07-17 |
CN111431903B CN111431903B (zh) | 2022-08-09 |
Family
ID=71549461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010216416.2A Active CN111431903B (zh) | 2020-03-25 | 2020-03-25 | 一种跨链中继方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111431903B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256792A (zh) * | 2020-09-17 | 2021-01-22 | 南京数字星球科技有限公司 | 一种区块链跨链数据交互和验证方法、区块链***及存储介质 |
CN112636987A (zh) * | 2020-12-28 | 2021-04-09 | 杭州趣链科技有限公司 | 一种区块链的跨链网关确定方法、***及终端设备 |
CN112637127A (zh) * | 2020-11-23 | 2021-04-09 | 北京邮电大学 | 一种跨区块链通信方法及装置 |
CN112734432A (zh) * | 2021-03-30 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
CN112801795A (zh) * | 2021-03-08 | 2021-05-14 | 中国工商银行股份有限公司 | 区块链多链管理方法、装置、电子设备及可读存储介质 |
CN112837160A (zh) * | 2020-12-04 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN113052697A (zh) * | 2021-03-10 | 2021-06-29 | 从法信息科技有限公司 | 一种基于可信度的跨链任务执行方法、装置和电子设备 |
CN113763173A (zh) * | 2021-08-25 | 2021-12-07 | 甘肃同兴智能科技发展有限责任公司 | 一种基于区块链的电网交易一体可视化数据共享平台 |
WO2022083399A1 (zh) * | 2020-10-21 | 2022-04-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、计算机设备、计算机可读存储介质以及计算机程序产品 |
CN114531305A (zh) * | 2022-04-23 | 2022-05-24 | 东南大学 | 一种面向以链治链的区块链跨链监管方法 |
CN114997865A (zh) * | 2022-05-18 | 2022-09-02 | 大连理工大学 | 一种基于区块链***的平台交易方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269190A (zh) * | 2018-01-17 | 2018-07-10 | 深圳四方精创资讯股份有限公司 | 基于跨链中继平台的跨链方法及其*** |
CN109726251A (zh) * | 2018-12-28 | 2019-05-07 | 苏州鸿链信息科技有限公司 | 一种基于区块链开展的跨链分布式业务***及方法 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及*** |
CN110288345A (zh) * | 2019-06-26 | 2019-09-27 | 深圳市网心科技有限公司 | 跨链通信方法、装置、主链节点及存储介质 |
CN110311790A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种跨链发送可认证消息的方法和装置 |
US20190340266A1 (en) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN110490562A (zh) * | 2019-07-10 | 2019-11-22 | 布比(北京)网络技术有限公司 | 一种多区块链的跨链数据处理方法和*** |
CN110675148A (zh) * | 2019-09-11 | 2020-01-10 | 杭州秘猿科技有限公司 | 一种验证节点集合的同步方法、***及电子设备 |
-
2020
- 2020-03-25 CN CN202010216416.2A patent/CN111431903B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269190A (zh) * | 2018-01-17 | 2018-07-10 | 深圳四方精创资讯股份有限公司 | 基于跨链中继平台的跨链方法及其*** |
US20190340266A1 (en) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN109726251A (zh) * | 2018-12-28 | 2019-05-07 | 苏州鸿链信息科技有限公司 | 一种基于区块链开展的跨链分布式业务***及方法 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及*** |
CN110288345A (zh) * | 2019-06-26 | 2019-09-27 | 深圳市网心科技有限公司 | 跨链通信方法、装置、主链节点及存储介质 |
CN110311790A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN110490562A (zh) * | 2019-07-10 | 2019-11-22 | 布比(北京)网络技术有限公司 | 一种多区块链的跨链数据处理方法和*** |
CN110675148A (zh) * | 2019-09-11 | 2020-01-10 | 杭州秘猿科技有限公司 | 一种验证节点集合的同步方法、***及电子设备 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256792A (zh) * | 2020-09-17 | 2021-01-22 | 南京数字星球科技有限公司 | 一种区块链跨链数据交互和验证方法、区块链***及存储介质 |
WO2022083399A1 (zh) * | 2020-10-21 | 2022-04-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、计算机设备、计算机可读存储介质以及计算机程序产品 |
US11631080B2 (en) | 2020-11-23 | 2023-04-18 | Beijing University Of Posts And Telecommunications | Cross-chain communication method, device and storage medium thereof |
CN112637127A (zh) * | 2020-11-23 | 2021-04-09 | 北京邮电大学 | 一种跨区块链通信方法及装置 |
CN112837160A (zh) * | 2020-12-04 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN112636987A (zh) * | 2020-12-28 | 2021-04-09 | 杭州趣链科技有限公司 | 一种区块链的跨链网关确定方法、***及终端设备 |
CN112636987B (zh) * | 2020-12-28 | 2022-06-24 | 杭州趣链科技有限公司 | 一种区块链的跨链网关确定方法、***及终端设备 |
CN112801795A (zh) * | 2021-03-08 | 2021-05-14 | 中国工商银行股份有限公司 | 区块链多链管理方法、装置、电子设备及可读存储介质 |
CN112801795B (zh) * | 2021-03-08 | 2024-04-02 | 中国工商银行股份有限公司 | 区块链多链管理方法、装置、电子设备及可读存储介质 |
CN113052697A (zh) * | 2021-03-10 | 2021-06-29 | 从法信息科技有限公司 | 一种基于可信度的跨链任务执行方法、装置和电子设备 |
CN112734432A (zh) * | 2021-03-30 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
CN112734432B (zh) * | 2021-03-30 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
CN113763173A (zh) * | 2021-08-25 | 2021-12-07 | 甘肃同兴智能科技发展有限责任公司 | 一种基于区块链的电网交易一体可视化数据共享平台 |
CN114531305B (zh) * | 2022-04-23 | 2022-07-19 | 东南大学 | 一种面向以链治链的区块链跨链监管方法 |
CN114531305A (zh) * | 2022-04-23 | 2022-05-24 | 东南大学 | 一种面向以链治链的区块链跨链监管方法 |
CN114997865A (zh) * | 2022-05-18 | 2022-09-02 | 大连理工大学 | 一种基于区块链***的平台交易方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111431903B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111431903B (zh) | 一种跨链中继方法、装置以及计算机可读存储介质 | |
US11188874B2 (en) | Block chain-based claim settlement method and apparatus | |
EP3857373B1 (en) | Blockchain-based resource allocation method and apparatus | |
CN111311209B (zh) | 跨区块链的数据处理方法、装置、设备及计算机存储介质 | |
US10659217B2 (en) | Blockchain-based automated user matching | |
CN111414210B (zh) | 基于主链生成侧链的方法、装置及计算机可读存储介质 | |
CN111464518B (zh) | 一种跨链通信数据的发送、验证方法及装置 | |
CN110298755B (zh) | 一种区块链交易方法和装置 | |
US11270388B2 (en) | Blockchain-based data processing method and apparatus | |
CN114445010B (zh) | 一种基于区块链的多式联运***和方法 | |
CN110471982B (zh) | 基于区块链的数据处理方法和装置 | |
US11627122B2 (en) | Inter-system linking method and node | |
CN110708390A (zh) | 基于节点间数据共享的数据处理方法、设备、装置、介质 | |
US20240235860A9 (en) | Multi-blockchain-based cross-chain processing method and apparatus, device, system, and medium | |
CN110458541B (zh) | 基于区块链的对象置换方法及装置 | |
CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
CN111510306B (zh) | 一种基于区块链的离线签名方法及装置 | |
Zhang et al. | Cross-Chain Interoperability and Collaboration for Keyword-Based Embedded Smart Contracts in the Internet of Things | |
US20240235817A9 (en) | Asset transferring method and apparatus based on multiple blockchains, device, medium, and product | |
Scaffino et al. | Alba: The Dawn of Scalable Bridges for Blockchains | |
EP4375850A1 (en) | Multi-blockchain data processing method and apparatus, and device, system and medium | |
WO2024093593A1 (zh) | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
WO2024099023A1 (zh) | 多区块链数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
Bashar | Fair and Efficient Consensus Protocols for Secure Blockchain Applications | |
CN117931933A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200929 Address after: 1-1107, 10-11 / F, building 1, 168 Guang'anmenwai street, Xicheng District, Beijing 100055 Applicant after: Beijing Xinchuang zhichain Technology Co.,Ltd. Address before: 1-1208, 11 / F, building 1, 168 Guang'anmenwai street, Xicheng District, Beijing 100055 Applicant before: BEIJING CHUANGSHI ZHILIAN INFORMATION TECHNOLOGY Research Institute |
|
GR01 | Patent grant | ||
GR01 | Patent grant |