掌桥专利:专业的专利平台
掌桥专利
首页

一种基于公共节点共识的区块链跨链方法

文献发布时间:2023-06-19 12:25:57


一种基于公共节点共识的区块链跨链方法

技术领域

本发明涉及区块链技术领域,更具体的说是涉及一种基于公共节点共识的区块链跨链方法。

背景技术

联盟链的广泛应用在跨链交易场景遭遇了瓶颈,链交互根据所跨越的区块链底层技术平台的不同可以分为同构链跨链和异构链跨链:同构链之间虽然因为安全机制、共识算法、网络拓扑、区块生成验证逻辑都一致,跨链相对简单,但它们之间的跨链交互仍然存在链上资产的完整性问题。而异构链的跨链交互相对复杂,例如比特币采用POW算法而联盟链Fabric采用传统确定性共识算法,其区块的组成形式和确定性保证机制均有很大不同,直接跨链交互机制不易设计,目前异构链之间的跨链交互一般需要第三方辅助服务辅助跨链交互。但第三方辅助服务的介入,增加了新的代理成本以及安全隐患。

因此,如何提出一种能够解决跨链交易过程中的第三方介入难题的基于公共节点共识的区块链跨链方法是本领域技术人员亟需解决的问题。

发明内容

有鉴于此,本发明提供了一种基于公共节点共识的区块链跨链方法,其目的在于解决现有的针对同构或者异构区块链之间跨链交易的效率、成本和安全问题。

为了实现上述目的,本发明采用如下技术方案:

一种基于公共节点共识的区块链跨链方法,包括以下步骤:

在两个需要进行跨链业务的区块链A链和B链之间设置一个或一个以上的公共节点,并通过一种根据业务投入和产出计算经济性的公共节点部署优化机制,进行动态可自适应的公共节点数量优化;

当跨链业务发生时,A链和B链各自分别进行工作量证明计算,当A链与B链的任意一个公共节点均各自完成工作量证明计算,同时在A链和B链内各自增加一个区块,增加的区块具有两个完成工作量证明的公共节点的签名,增加的区块具有两个公共节点的签名,并且公共节点的权益在自身所处的区块链中进行分配;

在A链和B链增加的区块内写入智能合约;

若A链的任意节点发起跨链交易时,A链发起节点将资产转移至公共节点再转移到交易目标节点,并立刻由公共节点记录跨链交易,在核减发起节点在A链内资产的同时,返给A链的发起节点对应的B链的资产;

若B链的任意节点发起跨链交易时,B链发起节点将资产转移至公共节点再转移到交易目标节点,并立刻由公共节点记录跨链交易,在核减发起节点在B链内资产的同时,返给B链的发起节点对应的A链的资产;

同时在A链和B链内增加一个具有双方工作量证明胜出节点签名的一个区块以记录公共节点对发起节点的资产转移。

优选的,具体跨链交易过程包括:

A链的交易发起节点随机构建一个字符串,并计算出其哈希值h,h=hash(s),A链发起节点将欲交易资产和h发给任意一个公共节点智能合约,并设置条件:若B链任意一个节点能够提供h的原始值s,则从当前公共节点得到和A链发起节点欲交易资产对应比例的B链资产;

B链的交易发起节点随机构建一个字符串,并计算出其哈希值h1,h1=hash(s1),B链发起节点将欲交易资产和h1发给任意一个公共节点智能合约,并设置条件:若A链任意一个节点能够提供h1的原始值s1,则从当前公共节点得到和B链发起节点欲交易资产对应比例的A链资产。

优选的,经济数量下的公共节点完成了跨链业务的无中心化共识记账,经济数量下的公共节点的数量的多少,以工作量证明的成本和跨链业务的收益作为经济约束条件,构建自适应调控机制来实现优化部署。

优选的,公共节点既能够计算A链的工作量证明,又能够计算B链的工作量证明。

优选的,对于A链的总资产整个生命周期不变,对于B链的总资产整个生命周期不变。

优选的,A链和B链上的各个节点均仍遵从原区块链的共识机制。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于公共节点共识的区块链跨链方法,本发明通过对交易双方区块链的公共节点整合,可以在不新增第三方的情况下,公共节点以及交易节点仅凭借自身所在区块链的共识机制,以双方同时竞争记账并在各自区块链新增交易区块上进行双标签签名的方式,实现了低成本、高效率并且安全的跨链交易。公共节点起到了类似银行的作用,可以实时提供发起区块链节点的跨链交易服务。通过双链自身的各自共识机制维护了两个区块链的总资产安全,并可以高效实现资产在两个区块链中的流转。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明提供的一种基于公共节点共识的区块链跨链方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于公共节点共识的区块链跨链方法,包括以下步骤:

在两个需要进行跨链业务的区块链A链和B链之间设置一个或一个以上的公共节点,并通过一种根据业务投入和产出计算经济性的公共节点部署优化机制,进行动态可自适应的公共节点数量优化;

当跨链业务发生时,A链和B链各自分别进行工作量证明计算,当A链与B链的任意一个公共节点均各自完成工作量证明计算,同时在A链和B链内各自增加一个区块,增加的区块具有两个完成工作量证明的公共节点的签名,并且公共节点的权益在自身所处的区块链中进行分配;

在A链和B链增加的区块内写入智能合约;

若A链的任意节点发起跨链交易时,A链发起节点将资产转移至公共节点再转移到交易目标节点,并立刻由公共节点记录跨链交易,在核减发起节点在A链内资产的同时,返给A链的发起节点对应的B链的资产;

若B链的任意节点发起跨链交易时,B链发起节点将资产转移至公共节点再转移到交易目标节点,并立刻由公共节点记录跨链交易,在核减发起节点在B链内资产的同时,返给B链的发起节点对应的A链的资产;

同时在A链和B链内增加一个具有双方工作量证明胜出节点签名的一个区块。

为了进一步实施上述技术方案,具体跨链交易过程包括:

A链的交易发起节点随机构建一个字符串,并计算出其哈希值h,h=hash(s),A链发起节点将欲交易资产和h发给任意一个公共节点智能合约,并设置条件:若B链任意一个节点能够提供h的原始值s,则从当前公共节点得到和A链发起节点欲交易资产对应比例的B链资产;

B链的交易发起节点随机构建一个字符串,并计算出其哈希值h1,h1=hash(s1),B链发起节点将欲交易资产和h1发给任意一个公共节点智能合约,并设置条件:若A链任意一个节点能够提供h1的原始值s1,则从当前公共节点得到和B链发起节点欲交易资产对应比例的A链资产。

为了进一步实施上述技术方案,经济数量下的公共节点完成了跨链业务的无中心化共识记账,经济数量下的公共节点的数量的多少,以工作量证明的成本和跨链业务的收益作为经济约束条件,构建自适应调控机制来实现优化部署。

为了进一步实施上述技术方案,公共节点既能够计算A链的工作量证明,又能够计算B链的工作量证明。

为了进一步实施上述技术方案,对于A链的总资产整个生命周期不变,对于B链的总资产整个生命周期不变。

为了进一步实施上述技术方案,A链和B链上的各个节点均仍遵从原区块链的共识机制。

下面将进一步根据实例来对本发明技术方案进行说明:

现有的主流的区块链跨链技术方案按照其具体的实现方式主要分为三大类,分别是公证人机制、侧链/中继和哈希锁定,公证人机制需要引入第三方,侧链/中继方式需要额外的维护成本和信任,哈希锁定需要一定的时间差。

为解决上述技术问题,如图1所示,本发明提供一种基于公共节点共识的区块链跨链方法。通过在两个区块链之间设置一定的公共节点,并且设置公共节点的合理数量。当A链的某个节点发起交易时,该节点发送给任意公共节点m个A链资产,同时计算h=hash(s),将h值发送给公共节点,并在公共节点形成一个智能合约,即可以提供s值的任意节点可以获取n个B链资产。由于A链发起节点以消耗m个A链资产而获得关于s的智能合约,因此是一种先行支付的行为,避免了诸如hash锁定需要的时间差问题。

如图1所示,由于公共节点能够参与两个区块链的工作量共识竞争,因此无需加入交易双方区块链以外的第三方服务,无论交易双方区块链是否同构,由于本发明在跨链交易过程中,各节点仅需按照自身所在区块链共识机制运行即可,当双方竞争共识胜出节点出现,各自在自身所在区块链新增一个具有两个节点标签的区块。这样本发明避免了第三方的介入以及新增的维护成本和信任。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种基于公共节点共识的区块链跨链方法
  • 一种基于区块链跨链技术的航天数据跨网溯源方法
技术分类

06120113294944