基于跨链中继平台的跨链方法及其系统与流程

文档序号:14912284发布日期:2018-07-10 23:45阅读:538来源:国知局

本发明涉及跨链方法,更具体地说是指基于跨链中继平台的跨链方法及其系统。



背景技术:

目前,区块链技术正处于百花齐放、百家争鸣的时代,各种不同区块链纷纷涌现出来,不同区块链之间的交互操作成为了一个非常重要而又迫切的需求;但是,现有的技术存在以下问题:1、不同区块链数据类型不统一;2、Sdk调用方式差别大,语言协议不统一;3、不同区块链没有提供接口,互相传递数据。

因此,有必要设计一种基于跨链中继平台的跨链方法,实现将不同数据类型统一,使用相同的方法调用区块链平台,不需要理会不同链的接口、参数不一致,不同区块链之间消息通过跨链中继互相传递。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供基于跨链中继平台的跨链方法及其系统。

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

基于跨链中继平台的跨链方法,包括以下步骤:

步骤一,将用户请求发送至业务合约;

步骤二,业务合约判断是否发生跨链交易;若是,则进入步骤三,若不是,则进入步骤六;

步骤三,调用跨链合约,产生事件,将参数传递到跨链中继平台;

步骤四,接收区块链传递过来的事件通知,调用另外一个链的跨链合约,再由跨链合约去调用业务合约完成交易;

步骤五,交易保存一个执行状态,若交易双方的链上交易都成功,则更新状态,若一方执行失败,则回退交易;

步骤六,进入区块链网络平台。

其进一步技术方案为:所述业务合约用于判断是否产生跨链交易,通过查询区块链上的账户列表,并执行具体的业务逻辑。

其进一步技术方案为:所述业务逻辑包括增加或减少账户金额。

其进一步技术方案为:所述跨链合约包括用于接收跨链请求,记录跨链交易的数据、状态,并将产生跨链事件发送到跨链中继平台。

其进一步技术方案为:所述跨链合约还包括用于接收另外一方跨链合约返回的交易执行状态,并更新自身的状态;当另外一方返回的状态为失败,则调用业务合约进行回滚操作。

其进一步技术方案为:所述跨链中继平台采用PBFT算法,选举一个节点作为Leader节点,Leader节点用于实时监听区块链中的事件;当发生跨链交易,Leader节点读取事件的参数,并将参数做一个数字签名,并发送请求到其他节点进行验证,验证节点接收到验证请求,读取区块链对应的此次交易,将交易信息进行hash校验,当校验通过给交易加上签名,并将签名信息返回给leader节点,leader节点收集到一半数量以上的签名,将数据传递到另外一个链的跨链合约,跨链合约记录交易数据,并发送给业务合约执行。

基于跨链中继平台的跨链系统,包括:

业务合约模块,用于判断是否产生跨链交易,并执行业务逻辑;

与所述业务合约模块连接的跨链合约模块,用于产生事件,将参数传递到跨链中继平台;

与所述跨链合约模块连接的跨链中继平台模块,用于实时监听区块链中的事件,当发生跨链交易,读取事件传递的信息,将数据传递至另一个链的跨链合约,记录交易数据,并发送给业务合约执行。

其进一步技术方案为:所述业务合约模块通过查询区块链上的账户列表,并执行具体的业务逻辑;所述业务逻辑包括增加或减少账户金额。

其进一步技术方案为:所述跨链合约模块包括用于接收跨链请求,记录跨链交易的数据、状态,并将产生跨链事件发送到跨链中继平台模块;接收另外一方跨链合约返回的交易执行状态,并更新自身的状态;当另外一方返回的状态为失败,则调用业务合约进行回滚操作;所述跨链合约模块还用于验证跨链中继平台模块调用签名是否合法,签名数是否超过半数,当验证不通过,则拒绝跨链中继平台模块的调用。

其进一步技术方案为:所述跨链中继平台模块部署有若干个节点,当某个节点收到请求的时,同时将请求发送至其他节点做校验,若是校验不通过则不执行交易。

本发明与现有技术相比的有益效果是:通过将用户请求发送至业务合约,业务合约判断是否发生跨链交易;若是产生了跨链的交易则调用跨链合约,跨链合约产生事件,将参数传递到跨链中继平台,接收区块链传递过来的事件通知,调用另外一个链的跨链合约,再由跨链合约去调用业务合约完成交易;很好的将不同数据类型统一,使用相同的方法调用不同区块链平台,不需要理会不同链的接口、参数不一致,实现不同区块链之间消息的互相传递。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

图1为基于跨链中继平台的跨链方法的流程图;

图2为基于跨链中继平台的跨链系统的方框图;

图3为基于跨链中继平台的跨链方法具体实施例的示意图。

10 业务合约模块 20 跨链合约模块

30 跨链中继平台模块

具体实施方式

为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。

如图1到图3所示的具体实施例,如图1所示,本发明公开了基于跨链中继平台的跨链方法,包括以下步骤:

步骤一,将用户请求发送至业务合约;

步骤二,业务合约判断是否发生跨链交易;若是,则进入步骤三,若不是,则进入步骤六;

步骤三,调用跨链合约,产生事件,将参数传递到跨链中继平台;

步骤四,接收区块链传递过来的事件通知,调用另外一个链的跨链合约,再由跨链合约去调用业务合约完成交易;

步骤五,交易保存一个执行状态,若交易双方的链上交易都成功,则更新状态,若一方执行失败,则回退交易;

步骤六,进入区块链网络平台。

其中,业务合约用于判断是否产生跨链交易,通过查询区块链上的账户列表,并执行具体的业务逻辑。

进一步地,业务逻辑包括增加或减少账户金额。

其中,跨链合约包括用于接收跨链请求,记录跨链交易的数据、状态,并将产生跨链事件发送到跨链中继平台。

进一步地,跨链合约还包括用于接收另外一方跨链合约返回的交易执行状态,并更新自身的状态;当另外一方返回的状态为失败,则调用业务合约进行回滚操作。

其中,跨链中继平台采用PBFT算法,选举一个节点作为Leader节点,Leader节点用于实时监听区块链中的事件;当发生跨链交易,Leader节点读取事件的参数,并将参数做一个数字签名,并发送请求到其他节点进行验证,验证节点接收到验证请求,读取区块链对应的此次交易,将交易信息进行hash校验,当校验通过给交易加上签名,并将签名信息返回给leader节点,leader节点收集到一半数量以上的签名,将数据传递到另外一个链的跨链合约,跨链合约记录交易数据,并发送给业务合约执行。

其中,在步骤六中,区块链网络平台为fabric,是hyperlegder下的一种区块链网络平台。

具体地,如图2所示,本发明还公开了基于跨链中继平台的跨链系统,包括:

业务合约模块10,用于判断是否产生跨链交易,并执行业务逻辑;

与业务合约模块10连接的跨链合约模块20,用于产生事件,将参数传递到跨链中继平台;

与跨链合约模块20连接的跨链中继平台模块30,用于实时监听区块链中的事件,当发生跨链交易,读取事件传递的信息,将数据传递至另一个链的跨链合约,记录交易数据,并发送给业务合约执行。

其中,业务合约模块10通过查询区块链上的账户列表,并执行具体的业务逻辑;业务逻辑包括增加或减少账户金额。

其中,跨链合约模块20包括用于接收跨链请求,记录跨链交易的数据、状态,并将产生跨链事件发送到跨链中继平台模块30;接收另外一方跨链合约返回的交易执行状态,并更新自身的状态;当另外一方返回的状态为失败,则调用业务合约进行回滚操作;跨链合约模块20还用于验证跨链中继平台模块30调用签名是否合法,签名数是否超过半数,当验证不通过,则拒绝跨链中继平台模块30的调用。

其中,跨链中继平台模块30部署有若干个节点,当某个节点收到请求的时,同时将请求发送至其他节点做校验,若是校验不通过则不执行交易。

本发明可以运用于多种场景,以下为某一具体场景的使用流程:具体地,如图3所示,基于跨链中继平台的跨链方法的具体实施例示意图,其中Bcos是类似于以太坊的另一种区块链平台。

Bob账户存在于Fabric网络,Al ice账户存在于Bcos网络。

1、Bob向Al ice发起一笔转账;

2、Fabric端业务合约先将Bob的账户上的余额减去,再通过查询自己所在的网络的所有账户发现Al ice不存在于这个网络,所以调用跨链合约,跨链合约记录这次跨链交易内容,包含(Bob→Al ice金额,交易状态(待确认),交易ID)并发起一个事件通知,通过跨链中继发送到BCOS的跨链合约上;

3、BCOS的跨链合约记录这次交易的内容,并记录交易的状态(待确认),然后调用BCOS端的业务合约在Al ice的账户上加上这个金额;

4、若调用业务合约返回的结果为成功,则更新BCOS的跨链合约状态为已确认;

4.1、调用Fabric的跨链合约,修改状态为已确认;

4.2、交易完成;

5、若调用业务合约返回的结果为失败,则更新BCOS的跨链合约状态为失败;

5.1、调用Fabric的跨链合约,修改状态为失败;

5.2、调用Fabric的业务合约,将金额加回;

5.3、交易完成。

综上所述,本发明通过将用户请求发送至业务合约,业务合约判断是否发生跨链交易;若是产生了跨链的交易则调用跨链合约,跨链合约产生事件,将参数传递到跨链中继平台,接收区块链传递过来的事件通知,调用另外一个链的跨链合约,再由跨链合约去调用业务合约完成交易;很好的将不同数据类型统一,使用相同的方法调用不同区块链平台,不需要理会不同链的接口、参数不一致,实现不同区块链之间消息的互相传递。

上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1