一种区块链之间的跨链方法及主区块链

摘要:

本发明涉及区块链技术领域,尤其涉及一种区块链之间的跨链方法及主区块链。一种区块链之间的跨链方法,在一场跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括:寻找匹配信息;创建触发交易;监控子链判断是否解锁;解锁成功;解锁失败。本发明还公开了一种主区块链,主区块链内包括智能合约模块和监控子链模块。该跨链方法对目标区块链没有特殊要求,可以实现主区块链与其他所有区块链之间的跨链操作;实现了主区块链中的交易T和目标区块链中的交易T'同时执行或者同时不执行的效果;并且主区块链的监控子链模块能够自动触发主区块链中的交易T的解锁过程,实现了跨链操作的自动化。

申请号: CN201810191238.5 专利名称: 一种区块链之间的跨链方法及主区块链 申请(专利权)人: [青岛墨一客区块链有限公司] 发明人: [陈小虎] 其他信息:
1.一种区块链之间的跨链方法,其特征在于,在一次跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括: 寻找匹配信息:主区块链的发送者从地址Am发送信息Ⅰ到地址Bm,以期望目标区块链中有发送者从地址Be发送与信息Ⅰ相匹配的信息Ⅱ到地址Ae;其中,地址Am和地址Ae相当于是一个用户的 两个账户,地址Bm和地址Be相当于是另一个用户的两个账户; 创建触发交易:在主区块链中创建一个基于智能合约的交易T并将交易T公布到主区块链网络上,交易T为定时触发交易;在目标区块链中发送与交易T相匹配的交易T'并公布到目标区块链网络中,交易T中包含信息Ⅰ和唯一标识,交易T'中包含信息Ⅱ和交易T中的唯一标识; 监控子链模块判断是否解锁:监控子链模块监听并获得目标区块链中发送的交易T',监控子链模块判断交易T'是否满足解锁主区块链中的智能合约的条件; 解锁成功:若在约定的交易时间内交易T'被验证成功,验证成功的条件为交易T'中有交易T中的唯一标识,则解锁成功,主区块链中的智能合约被监控子链模块调用并执行交易T; 解锁失败:若超过约定的交易时间或者交易T'验证失败,则解锁失败,交易T被撤销。 2.根据权利要求1所述的一种区块链之间的跨链方法,其特征在于,用于跨链通证兑换,信息Ⅰ为若干个通证B,信息Ⅱ为与所述若干个通证B等价的若干个通证Y。 3.根据权利要求1所述的一种区块链之间的跨链方法,其特征在于,用于跨链信息传递,信息Ⅰ为请求信息,信息Ⅱ为回复信息。 4.根据权利要求1或2所述的一种区块链之间的跨链方法,其特征在于,交易T包括信息:{T(Am→Bm|m),Ae|n,t,Hash(T)}; 其中,T(Am→Bm|m)为主区块链的发送者从地址Am发送m个通证B到地址Bm的信息;Ae|n为发送者希望在目标区块链中获得等价的通证Y的接收地址Ae及通证Y的数量n;t为约定的交易时间;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。 5.根据权利要求1或2所述的一种区块链之间的跨链方法,其特征在于,交易T'包括信息:{Be→Ae|n,Hash(T)}; 其中,Be→Ae|n为目标区块链中有发送者从地址Be发送n个通证Y到地址Ae的信息;Hash(T)为交易T的唯一标识。 6.根据权利要求1或3所述的一种区块链之间的跨链方法,其特征在于,交易T包括信息:{T(Am→Bm|Ⅰ),Ae|Ⅱ,t,Hash(T)}; 其中,T(Am→Bm|Ⅰ)为主区块链的发送者从地址Am发送信息Ⅰ到地址Bm的信息;Ae|Ⅱ为发送者希望在目标区块链中获得与信息Ⅰ相匹配的接收地址Ae及信息Ⅱ;t为约定的交易时间;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。 7.根据权利要求1或3所述的一种区块链之间的跨链方法,其特征在于,交易T'包括信息:{Be→Ae|Ⅱ,Hash(T)}; 其中,Be→Ae|Ⅱ为目标区块链中有发送者从地址Be发送信息Ⅱ到地址Ae的信息;Hash(T)为交易T的唯一标识。 8.根据权利要求1所述的一种区块链之间的跨链方法,其特征在于,监控子链模块判断是否解锁的具体步骤为:监控子链模块的多个节点获得目标区块链发送的交易T',监控子链模块的多个节点之间达成共识后,监控子链模块将交易T'中的信息作为参数解锁调用智能合约。

一种区块链之间的跨链方法及主区块链

技术领域

本发明涉及区块链技术领域,尤其涉及一种区块链之间的跨链方法及主区块链。

背景技术

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链在本质上是一个去中心化的数据库。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次区块链网络交易的信息,用于验证其信息的有效性和生成下一个区块。

跨链操作是指在多个区块链之间进行的操作,跨链操作是将分散着的区块链孤岛连接起来的桥梁。

当前两个区块链通证之间的兑换有两种方式,一种是采用中心化的交易所,用户把各自的货币充值到交易所,交易所在它的系统里面记录每个人的余额,然后兑换就在交易所的平台上面进行,直到用户从交易所取出相应的货币。但是,这种方式存在以下问题:中心化的交易平台的问题是显而易见的,在监管缺失的情况下,中心化交易所可能存在内幕交易、伪造交易、资金挪用等问题,而且,中心化的交易所很容易受到第三方机构的控制。另一种是采用去中心化的方式,用户在线下找到一个可信的有相反需求的其他买家,例如:甲把A通证转给乙,乙把对应的B通证转给甲。这样的办法非常低效,并且,很难找到一个可信的对家,执行的风险也很大。目前,人们尝试着从去中心化的角度来解决这个问题,比较典型的是用闪电网络的方法实现比特币和莱特币之间的跨链,具体做法是用闪电网络的哈希锁定和时间锁定来确保交易信息的安全性,哈希锁定是指通过锁定一个共同密文的哈希值来实现在两个不同区块链中的通证的原子互换。但是上述解决方案存在以下两个问题:(1)需要跨链的每个链都要支持闪电网络,也就是需要具有哈希锁和时间锁的功能。现有的链如果没有这个功能的话,需要进行硬分叉,而硬分叉在很多情况下并不现实;(2)整个交易的过程是个交互手动的过程,用户必须等待另外一个区块链中的密文公布后,才能解锁当前区块链的交易,因此要确保在两个区块链网络中递交合适的信息。如果需要实现自动化的话,会比较麻烦,需要额外的基础设施支持,比如拜占庭容错机制的支持。

目前,区块链技术正处于飞速发展的时期,并逐渐被应用到各行业中,区块链之间的跨链操作是非常重要并且亟待解决的一个问题。

发明内容

针对现有技术存在的上述缺陷,本发明提出了一种新的一种区块链之间的跨链方法。该跨链方法对目标区块链没有特殊要求,可以实现主区块链与其他所有区块链之间的跨链操作;实现了主区块链中的交易T和目标区块链中的交易T'同时执行或者同时不执行的效果;并且主区块链的监控子链模块能够自动触发主区块链中的交易T的解锁过程,实现了跨链操作的自动化。

本发明是采用以下的技术方案实现的:

一种区块链之间的跨链方法,在一次跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括:

寻找匹配信息:主区块链的发送者从地址Am发送信息Ⅰ到地址Bm,以期望目标区块链中有发送者从地址Be发送与信息Ⅰ相匹配的信息Ⅱ到地址Ae;

创建触发交易:在主区块链中创建一个基于智能合约的交易T并将交易T公布到主区块链网络上,交易T为定时触发交易;在目标区块链中发送与交易T相匹配的交易T'并公布到目标区块链网络中,交易T中包含信息Ⅰ和唯一标识,交易T’中包含信息Ⅱ和交易T中的唯一标识;

监控子链模块判断是否解锁:监控子链模块监听并获得目标区块链中发送的交易T’,监控子链模块判断交易T'是否满足解锁主区块链中的智能合约的条件;

解锁成功:若在约定的交易时间内交易T'被验证成功,验证成功的条件为交易T'中有交易T中的唯一标识,则解锁成功,主区块链中的智能合约被监控子链模块调用并执行交易T;

解锁失败:若超过约定的交易时间或者交易T'验证失败,则解锁失败,交易T被撤销。

作为优选,用于跨链通证兑换,信息Ⅰ为若干个通证B,信息Ⅱ为与若干个通证B等价的若干个通证Y。

作为优选,用于跨链信息传递,信息Ⅰ为请求信息,信息Ⅱ为回复信息。

作为优选,交易T包括信息:{T(Am→Bm|m),Ae|n,t,Hash(T)};

其中,T(Am→Bm|m)为主区块链的发送者从地址Am发送m个通证B到地址Bm的信息;Ae|n为发送者希望在目标区块链中获得等价的通证Y的接收地址Ae及通证Y的数量n;t为约定的交易时间;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。

作为优选,交易T'包括信息:{Be→Ae|n,Hash(T)};

其中,Be→Ae|n为目标区块链中有发送者从地址Be发送n个通证Y到地址Ae的信息;Hash(T)为交易T的唯一标识。

作为优选,交易T包括信息:{T(Am→Bm|Ⅰ),Ae|Ⅱ,t,Hash(T)};

其中,T(Am→Bm|Ⅰ)为主区块链的发送者从地址Am发送信息Ⅰ到地址Bm的信息;Ae|Ⅱ为发送者希望在目标区块链中获得与信息Ⅰ相匹配的接收地址Ae及信息Ⅱ;t为约定的交易时间;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。

作为优选,交易T'包括信息:{Be→Ae|n,Hash(T)};

其中,Be→Ae|Ⅱ为目标区块链中有发送者从地址Be发送信息Ⅱ到地址Ae的信息;Hash(T)为交易T的唯一标识。

作为优选,监控子链模块判断是否解锁的具体步骤为:监控子链模块的多个节点获得目标区块链发送的交易T',监控子链模块的多个节点之间达成共识后,监控子链模块将交易T'中的信息作为参数解锁调用智能合约。

一种主区块链,主区块链内包括:

智能合约模块,用于确定性地实现合约的触发执行;

监控子链模块,用于接收目标区块链的交易T'并通过逻辑判断是否调用主区块链内的智能合约以完成交易;

主区块链和监控子链模块均为基于区块链的存储数据的数据库系统,智能合约模块内部署有智能合约。

作为优选,监控子链模块包括多个节点,节点之间达成共识并提供拜占庭容错,监控子链模块的节点同时包含主区块链和目标区块链模块,用于获取主区块链和目标区块链模块的交易信息。

本发明的有益效果是:

(1)本发明的一种区块链之间的跨链方法对目标区块链没有特殊要求,即目标区块链不需要具备闪电网络中的哈希锁和时间锁的功能,目标区块链只需要具有能附加数据信息的交易功能即可,而附加数据信息的交易基本上是每个区块链都具备的功能,主区块链为具备确定性智能合约触发执行功能的区块链,本跨链方法能够实现主区块链与其他所有区块链之间的跨链操作,极大的扩大了区块链技术的应用范围。

(2)本发明的一种区块链之间的跨链方法通过监控子链模块实现了交易的自动触发,只需要目标区块链发送与主区块链公布的交易T相匹配的交易T'到目标区块链网络中,监控子链模块便可以获得交易T’中的信息并通过逻辑判断是否解锁调用主区块链中的智能合约以完成主区块链和目标区块链之间的交易,而现有的跨链操作是一个交互手动的过程,本发明实现了区块链技术的自动化。

(3)本发明的一种区块链之间的跨链方法能够实现主区块链和目标区块链交易执行的同步性,即主区块链和目标区块链可以同时执行交易或者同时不执行交易,而现有技术当中的跨链操作有先后顺序的要求,用户必须等待另外一个区块链中的密文公布后,才能解锁当前区块链的交易,因此要确保在两个区块链网络中递交的信息是合适的之后才能进行交易。

(4)本发明的一种区块链之间的跨链方法除了可以用于通证兑换以外,还可以实现两个区块链之间的信息传递,分别将请求信息和回复信息嵌入到交易T和交易T'中,通过监控子链模块来解锁主区块链中的智能合约,以实现主区块链和目标区块链之间的信息传递。

(5)本发明的一种主区块链包括智能合约模块和监控子链模块,分别用于实现执行交易和调用交易的效果,智能合约模块可执行智能合约,监控子链模块、主区块链以及目标区块链本质上都是基于区块链的存储数据的数据库,监控子链模块用于接收并存储目标区块链发送的交易T'中的信息,监控子链模块的节点同时包含主区块链和目标区块链模块,实时更新接收到的数据;监控子链模块同时用于进行逻辑判断,验证目标区块链发送过来的交易T'中是否含有与主区块链的交易T中的唯一标识相等的标识,若在约定的交易时间内验证通过,则解锁成功,若过了约定的交易时间或者标识验证失败或者没有可验证的标识,则解锁失败。

附图说明

图1是本发明一种区块链之间的跨链方法的流程示意图。

图2是本发明一种区块链之间的跨链方法在进行跨链操作时的结构示意图。

图3是本发明主区块链的系统结构示意图。

图中:101、主区块链;102、智能合约模块;103、监控子链模块;104、监控子链模块上的节点;

201、目标区块链;202、目标区块链上的节点。

具体实施方式

为了使本发明目的、技术方案更加清楚明白,下面结合附图,对本发明作进一步详细说明。

实施例一:

如图1和图2所示,一种区块链之间的跨链方法,用于跨链通证互换,通证即token,在一场跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括:

S1:寻找匹配信息:主区块链的发送者从地址Am发送信息Ⅰ到地址Bm,以期望目标区块链中有发送者从地址Be发送与信息Ⅰ相匹配的信息Ⅱ到地址Ae;这个过程是为了在网络中寻找到匹配交易,确保网络中有可进行交易的通证。本实施例中的信息Ⅰ为若干个通证B,信息Ⅱ为与所述若干个通证B等价的若干个通证Y。地址Am和地址Ae相当于是一个用户两个账户,地址Bm和地址Be相当于是另一个用户的两个账户。寻找匹配交易的过程可以在去中心化的交易所中进行。

S2:创建触发交易:在主区块链中创建一个基于智能合约的交易T并将交易T公布到主区块链网络上,交易T为定时触发交易;在目标区块链中发送与交易T相匹配的交易T'并公布到目标区块链网络中,交易T中包含信息Ⅰ和唯一标识,交易T’中包含信息Ⅱ和交易T中的唯一标识;经过上述寻找匹配信息的过程后,若找到了匹配的信息,交易双方均产生交易的意愿,达成交易的共识后,主区块链的信息发送者会将交易T中的唯一标识告诉目标区块链中的信息发送者,由此,目标区块链发送的交易T’中会包含交易T中的唯一标识。这个过程是为了创建可触发的交易,主区块链中创建了一个基于智能合约的交易T,目标区块链创建了一个与交易T相匹配并能够触发交易T的交易T’,为后续的触发解锁做准备。在将交易T公布到主区块链网络上的同时也会将若干个通证B作为交易的一部分发送到主区块链中的智能合约里作为预备金。

交易T包括信息:{T(Am→Bm|m),Ae|n,t,Hash(T)};

其中,T(Am→Bm|m)为主区块链的发送者从地址Am发送m个通证B到地址Bm的信息;Ae|n为发送者希望在目标区块链中获得等价的通证Y的接收地址Ae及通证Y的数量n;t为约定的交易时间,在时间t后主区块链中的智能合约还没有被解锁调用的话,则解锁失败;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。上述的信息中是假定主区块链发送了m个通证B到了地址Bm。

交易T'包括信息:{Be→Ae|n,Hash(T)};

其中,Be→Ae|n为目标区块链中有发送者从地址Be发送n个通证Y到地址Ae的信息;Hash(T)为交易T的唯一标识。

交易T与交易T'相匹配是指m个通证B与n个通证Y是等价可交换的,比如:按照汇率,1美元可以兑换成6.339人民币。或者是其他交易双方达成的兑换意愿。

S3:监控子链模块判断是否解锁:监控子链模块监听并获得目标区块链中发送的交易T’,监控子链模块判断交易T'是否满足解锁主区块链中的智能合约的条件;其中,监控子链模块判断是否解锁的具体步骤为:监控子链模块的多个节点获得目标区块链发送的交易T',监控子链模块的多个节点之间达成共识后,监控子链模块将交易T'中的信息作为参数解锁调用智能合约,主要是将交易T'中含有的交易T的唯一标识作为参数解锁调用主区块链中的智能合约。

解锁成功需要同时满足三个条件,(1)解锁的过程是在约定的交易时间t内进行的;(2)交易T'含有交易T中的唯一标识。交易T'含有交易T中的唯一标识也就证明了交易是双方在交易意愿的基础上进行的,是安全可靠可进行的交易。目标区块链将交易T的唯一标识嵌入到交易T'的附加数据段部分。

S4:解锁成功:若在约定的交易时间内交易T'被验证成功,验证成功的条件为交易T'中有交易T中的唯一标识,则解锁成功,主区块链中的智能合约被监控子链模块调用并执行交易T;这样主区块链和目标区块链内的交易T和交易T'会同时执行,完成交易是指主区块链中的地址Bm获得m个通证B,目标区块链中的地址Ae获得n个通证Y。

S5:解锁失败:若超过约定的交易时间或者交易T'验证失败,则解锁失败,交易T被撤销。这样主区块链和目标区块链的交易T和交易T'会同时不执行,交易T被撤销是指m个通证B退回到地址Am。

实施例二:

如图1和图2所示,一种区块链之间的跨链方法,实施例二与实施例一的区别在于:实施例一用于跨链通证兑换,实施例二用于跨链信息传递。在一场跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括:

S1:寻找匹配信息:主区块链的发送者从地址Am发送信息Ⅰ到地址Bm,以期望目标区块链中有发送者从地址Be发送与信息Ⅰ相匹配的信息Ⅱ到地址Ae;这个过程是为了在网络中寻找到匹配交易,确保网络中有可进行交易的通证。本实施例中的信息Ⅰ为请求信息,信息Ⅱ为回复信息。

S2:创建触发交易:在主区块链中创建一个基于智能合约的交易T并将交易T公布到主区块链网络上,交易T为定时触发交易;在目标区块链中发送与交易T相匹配的交易T'并公布到目标区块链网络中,交易T中包含信息Ⅰ和唯一标识,交易T’中包含信息Ⅱ和交易T中的唯一标识;经过上述寻找匹配信息的过程后,若找到了匹配的信息,交易双方均产生交易的意愿,达成交易的共识后,主区块链的信息发送者会将交易T中的唯一标识告诉目标区块链中的信息发送者,由此,目标区块链发送的交易T’中会包含交易T中的唯一标识。这个过程是为了创建可触发的交易,主区块链中创建了一个基于智能合约的交易T,目标区块链创建了一个与交易T相匹配并能够触发交易T的交易T’,为后续的触发解锁做准备。

交易T包括信息:{T(Am→Bm|Ⅰ),Ae|Ⅱ,t,Hash(T)};

其中,T(Am→Bm|Ⅰ)为主区块链的发送者从地址Am发送信息Ⅰ到地址Bm的信息;Ae|Ⅱ为发送者希望在目标区块链中获得与信息Ⅰ相匹配的接收地址Ae及信息Ⅱ;t为约定的交易时间,在时间t后主区块链中的智能合约还没有被解锁调用的话,则解锁失败;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。

交易T'包括信息:{Be→Ae|n,Hash(T)};

其中,Be→Ae|Ⅱ为目标区块链中有发送者从地址Be发送信息Ⅱ到地址Ae的信息;Hash(T)为交易T的唯一标识。

S3:监控子链模块判断是否解锁:监控子链模块监听并获得目标区块链中发送的交易T’,监控子链模块判断交易T'是否满足解锁主区块链中的智能合约的条件;其中,监控子链模块判断是否解锁的具体步骤为:监控子链模块的多个节点获得目标区块链发送的交易T',监控子链模块的多个节点之间达成共识后,监控子链模块将交易T'中的信息作为参数解锁调用智能合约。主要是将交易T'中含有的交易T的唯一标识作为参数解锁调用主区块链中的智能合约。

解锁成功需要同时满足三个条件,((1)解锁的过程是在约定的交易时间t内进行的;(2)交易T'含有交易T中的唯一标识。交易T'含有交易T中的唯一标识也就证明了交易是双方在交易意愿的基础上进行的,是安全可靠可进行的交易。目标区块链将交易T的唯一标识嵌入到交易T'的附加数据段部分。

S4:解锁成功:若在约定的交易时间内交易T'验证成功,验证成功的条件为交易T'中有交易T中的唯一标识,则解锁成功,主区块链中的智能合约被监控子链模块调用并执行交易T;这样主区块链和目标区块链内的交易T和交易T'会同时执行,完成交易是指主区块链中的地址Bm获得信息Ⅱ,目标区块链中的地址Ae获得信息Ⅰ。

S5:解锁失败:若超过约定的交易时间或者交易T'验证失败,则解锁失败,交易T被撤销。这样主区块链和目标区块链的交易T和交易T'会同时不执行,交易T被撤销是指信息Ⅰ退回到主区块链中的地址Am,信息Ⅱ退回到目标区块链中的地址Be。

实施例三:

如图3所示,一种主区块链,主区块链101内包括:

智能合约模块102,用于确定性地实现合约的触发执行,智能合约模块102内部署有智能合约;

监控子链模块103,用于接收目标区块链201的交易T'并通过逻辑判断是否调用主区块链内的智能合约以完成交易。主区块链101和监控子链模块103均为基于区块链的存储数据的数据库,监控子链模块103包括多个节点,如图2所示,本实施例中表示为监控子链上的节点104,节点之间达成共识并提供拜占庭容错,监控子链模块103的节点同时包含主区块链和目标区块链模块,用于获取主区块链和目标区块链模块的交易信息,监控子链模块103会实时更新存储的数据。目标区块链201包含多个节点,如图2所示,本实施例中表示为目标区块链上的节点202,监控子链模块上的节点104实现信息的发送和接收。本发明的一种区块链之间的跨链方法对目标区块链201没有要求,所有的区块链都可以作为目标区块链201进行跨链操作。

以上所述仅为本发明的较佳实施例而己,并不以本发明为限制,凡在本发明的精神和原则之内所作的均等修改、等同替换和改进等,均应包含在本发明的专利涵盖范围内。

为了使本发明目的、技术方案更加清楚明白,下面结合附图,对本发明作进一步详细说明。

实施例一:

如图1和图2所示,一种区块链之间的跨链方法,用于跨链通证互换,通证即token,在一场跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括:

S1:寻找匹配信息:主区块链的发送者从地址Am发送信息Ⅰ到地址Bm,以期望目标区块链中有发送者从地址Be发送与信息Ⅰ相匹配的信息Ⅱ到地址Ae;这个过程是为了在网络中寻找到匹配交易,确保网络中有可进行交易的通证。本实施例中的信息Ⅰ为若干个通证B,信息Ⅱ为与所述若干个通证B等价的若干个通证Y。地址Am和地址Ae相当于是一个用户两个账户,地址Bm和地址Be相当于是另一个用户的两个账户。寻找匹配交易的过程可以在去中心化的交易所中进行。

S2:创建触发交易:在主区块链中创建一个基于智能合约的交易T并将交易T公布到主区块链网络上,交易T为定时触发交易;在目标区块链中发送与交易T相匹配的交易T'并公布到目标区块链网络中,交易T中包含信息Ⅰ和唯一标识,交易T’中包含信息Ⅱ和交易T中的唯一标识;经过上述寻找匹配信息的过程后,若找到了匹配的信息,交易双方均产生交易的意愿,达成交易的共识后,主区块链的信息发送者会将交易T中的唯一标识告诉目标区块链中的信息发送者,由此,目标区块链发送的交易T’中会包含交易T中的唯一标识。这个过程是为了创建可触发的交易,主区块链中创建了一个基于智能合约的交易T,目标区块链创建了一个与交易T相匹配并能够触发交易T的交易T’,为后续的触发解锁做准备。在将交易T公布到主区块链网络上的同时也会将若干个通证B作为交易的一部分发送到主区块链中的智能合约里作为预备金。

交易T包括信息:{T(Am→Bm|m),Ae|n,t,Hash(T)};

其中,T(Am→Bm|m)为主区块链的发送者从地址Am发送m个通证B到地址Bm的信息;Ae|n为发送者希望在目标区块链中获得等价的通证Y的接收地址Ae及通证Y的数量n;t为约定的交易时间,在时间t后主区块链中的智能合约还没有被解锁调用的话,则解锁失败;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。上述的信息中是假定主区块链发送了m个通证B到了地址Bm。

交易T'包括信息:{Be→Ae|n,Hash(T)};

其中,Be→Ae|n为目标区块链中有发送者从地址Be发送n个通证Y到地址Ae的信息;Hash(T)为交易T的唯一标识。

交易T与交易T'相匹配是指m个通证B与n个通证Y是等价可交换的,比如:按照汇率,1美元可以兑换成6.339人民币。或者是其他交易双方达成的兑换意愿。

S3:监控子链模块判断是否解锁:监控子链模块监听并获得目标区块链中发送的交易T’,监控子链模块判断交易T'是否满足解锁主区块链中的智能合约的条件;其中,监控子链模块判断是否解锁的具体步骤为:监控子链模块的多个节点获得目标区块链发送的交易T',监控子链模块的多个节点之间达成共识后,监控子链模块将交易T'中的信息作为参数解锁调用智能合约,主要是将交易T'中含有的交易T的唯一标识作为参数解锁调用主区块链中的智能合约。

解锁成功需要同时满足三个条件,(1)解锁的过程是在约定的交易时间t内进行的;(2)交易T'含有交易T中的唯一标识。交易T'含有交易T中的唯一标识也就证明了交易是双方在交易意愿的基础上进行的,是安全可靠可进行的交易。目标区块链将交易T的唯一标识嵌入到交易T'的附加数据段部分。

S4:解锁成功:若在约定的交易时间内交易T'被验证成功,验证成功的条件为交易T'中有交易T中的唯一标识,则解锁成功,主区块链中的智能合约被监控子链模块调用并执行交易T;这样主区块链和目标区块链内的交易T和交易T'会同时执行,完成交易是指主区块链中的地址Bm获得m个通证B,目标区块链中的地址Ae获得n个通证Y。

S5:解锁失败:若超过约定的交易时间或者交易T'验证失败,则解锁失败,交易T被撤销。这样主区块链和目标区块链的交易T和交易T'会同时不执行,交易T被撤销是指m个通证B退回到地址Am。

实施例二:

如图1和图2所示,一种区块链之间的跨链方法,实施例二与实施例一的区别在于:实施例一用于跨链通证兑换,实施例二用于跨链信息传递。在一场跨链操作中存在一个主区块链和一个目标区块链,在主区块链和目标区块链中分别存在至少一个发送者,方法包括:

S1:寻找匹配信息:主区块链的发送者从地址Am发送信息Ⅰ到地址Bm,以期望目标区块链中有发送者从地址Be发送与信息Ⅰ相匹配的信息Ⅱ到地址Ae;这个过程是为了在网络中寻找到匹配交易,确保网络中有可进行交易的通证。本实施例中的信息Ⅰ为请求信息,信息Ⅱ为回复信息。

S2:创建触发交易:在主区块链中创建一个基于智能合约的交易T并将交易T公布到主区块链网络上,交易T为定时触发交易;在目标区块链中发送与交易T相匹配的交易T'并公布到目标区块链网络中,交易T中包含信息Ⅰ和唯一标识,交易T’中包含信息Ⅱ和交易T中的唯一标识;经过上述寻找匹配信息的过程后,若找到了匹配的信息,交易双方均产生交易的意愿,达成交易的共识后,主区块链的信息发送者会将交易T中的唯一标识告诉目标区块链中的信息发送者,由此,目标区块链发送的交易T’中会包含交易T中的唯一标识。这个过程是为了创建可触发的交易,主区块链中创建了一个基于智能合约的交易T,目标区块链创建了一个与交易T相匹配并能够触发交易T的交易T’,为后续的触发解锁做准备。

交易T包括信息:{T(Am→Bm|Ⅰ),Ae|Ⅱ,t,Hash(T)};

其中,T(Am→Bm|Ⅰ)为主区块链的发送者从地址Am发送信息Ⅰ到地址Bm的信息;Ae|Ⅱ为发送者希望在目标区块链中获得与信息Ⅰ相匹配的接收地址Ae及信息Ⅱ;t为约定的交易时间,在时间t后主区块链中的智能合约还没有被解锁调用的话,则解锁失败;Hash(T)为交易T的哈希值,用于对交易T进行唯一标识,可以采用交易T的签名。

交易T'包括信息:{Be→Ae|n,Hash(T)};

其中,Be→Ae|Ⅱ为目标区块链中有发送者从地址Be发送信息Ⅱ到地址Ae的信息;Hash(T)为交易T的唯一标识。

S3:监控子链模块判断是否解锁:监控子链模块监听并获得目标区块链中发送的交易T’,监控子链模块判断交易T'是否满足解锁主区块链中的智能合约的条件;其中,监控子链模块判断是否解锁的具体步骤为:监控子链模块的多个节点获得目标区块链发送的交易T',监控子链模块的多个节点之间达成共识后,监控子链模块将交易T'中的信息作为参数解锁调用智能合约。主要是将交易T'中含有的交易T的唯一标识作为参数解锁调用主区块链中的智能合约。

解锁成功需要同时满足三个条件,((1)解锁的过程是在约定的交易时间t内进行的;(2)交易T'含有交易T中的唯一标识。交易T'含有交易T中的唯一标识也就证明了交易是双方在交易意愿的基础上进行的,是安全可靠可进行的交易。目标区块链将交易T的唯一标识嵌入到交易T'的附加数据段部分。

S4:解锁成功:若在约定的交易时间内交易T'验证成功,验证成功的条件为交易T'中有交易T中的唯一标识,则解锁成功,主区块链中的智能合约被监控子链模块调用并执行交易T;这样主区块链和目标区块链内的交易T和交易T'会同时执行,完成交易是指主区块链中的地址Bm获得信息Ⅱ,目标区块链中的地址Ae获得信息Ⅰ。

S5:解锁失败:若超过约定的交易时间或者交易T'验证失败,则解锁失败,交易T被撤销。这样主区块链和目标区块链的交易T和交易T'会同时不执行,交易T被撤销是指信息Ⅰ退回到主区块链中的地址Am,信息Ⅱ退回到目标区块链中的地址Be。

实施例三:

如图3所示,一种主区块链,主区块链101内包括:

智能合约模块102,用于确定性地实现合约的触发执行,智能合约模块102内部署有智能合约;

监控子链模块103,用于接收目标区块链201的交易T'并通过逻辑判断是否调用主区块链内的智能合约以完成交易。主区块链101和监控子链模块103均为基于区块链的存储数据的数据库,监控子链模块103包括多个节点,如图2所示,本实施例中表示为监控子链上的节点104,节点之间达成共识并提供拜占庭容错,监控子链模块103的节点同时包含主区块链和目标区块链模块,用于获取主区块链和目标区块链模块的交易信息,监控子链模块103会实时更新存储的数据。目标区块链201包含多个节点,如图2所示,本实施例中表示为目标区块链上的节点202,监控子链模块上的节点104实现信息的发送和接收。本发明的一种区块链之间的跨链方法对目标区块链201没有要求,所有的区块链都可以作为目标区块链201进行跨链操作。

以上所述仅为本发明的较佳实施例而己,并不以本发明为限制,凡在本发明的精神和原则之内所作的均等修改、等同替换和改进等,均应包含在本发明的专利涵盖范围内。

个性化你的检索平台
使用键盘键 进行切换