一种区块链跨链通信中的安全保障方法及系统与流程

文档序号:25048258发布日期:2021-05-14 12:46阅读:360来源:国知局
一种区块链跨链通信中的安全保障方法及系统与流程

1.本发明涉及区块链技术领域,尤其涉及一种区块链跨链通信中的安全保障方法及系统。


背景技术:

2.安全性保障是为防止把区块链的读写权限交予无关用户而采取的安全保障措施。当平台区块链处理客户端发起的跨链交易、跨链验证等操作,并将其传递到区块链时,或者是区块链发送回调消息到平台区块链时,需要做事务的安全性保障以确认该请求的合理性。考虑到恶意节点可能伪造请求,传递虚假或者恶意消息达到攻击区块链、制造“双花”的目的,所以需要区块链对外部请求有识别来源并且验证正确性的能力。
3.验证来源正确性可以使用ca机构做验证,采用这种方式的弊端是引入了一个新的中心化的组织,并且给事务主流程多了一道网络io,这个验证过程极有可能造成整个区块链网络的瓶颈,影响吞吐量。
4.验证来源正确性可以使用ca机构做验证,采用这种方式的弊端是引入了一个新的中心化的组织,并且给事务主流程多了一道网络io,这个验证过程极有可能造成整个区块链网络的瓶颈,影响吞吐量。


技术实现要素:

5.本发明要解决的技术问题是,提供一种区块链跨链通信中的安全保障方法及系统,解决区块链跨链交易的安全控制问题。
6.本发明采用的技术方案是,所述区块链跨链通信中的安全保障方法,平台区块链分别与客户端、以及两个以上的共识区块链交互,所述方法包括:步骤1,所述平台区块链接收到所述客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi;步骤2,所述平台区块链将所述xtxi溯源到对应的共识区块链,所述共识区块链先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作。
7.作为一种可选的技术方案,在步骤2中,所述共识区块链采用原像令牌桶算法对所述xtxi进行合法性验证,包括:所述共识区块链预先存储由所述平台区块链发来的哈希原像文件,所述哈希原像文件中包含一个或多个原像r对应的哈希值;所述平台区块链按照设定的速率生成原像r并放入所述xtxi的报文头,并将所述xtxi发送给所述共识区块链;所述共识区块链从接收到的所述xtxi的报文头中获取原像r,对所述原像r做哈希得到原像r的哈希值,基于该哈希值在本地预先存储的所述哈希原像文件中查找,若命中,则判定所述xtxi是合法的,且验证通过,否则判定所述xtxi是非法的,且验证不通过并将其
驳回;可选的,所述平台区块链根据每日流量确定合适数量的原像以对哈希原像文件进行更新。
8.作为另一种可选的技术方案,在步骤2中,所述共识区块链采用原像令牌桶算法对所述xtxi进行合法性验证,包括:所述共识区块链接收到所述平台区块链发来的哈希原像文件以及所述xtxi的报文,所述哈希原像文件中包含一个或多个原像r对应的哈希值;所述xtxi的报文头中已由所述平台区块链按照设定的速率生成并放入原像r;所述共识区块链从接收到的所述xtxi的报文头中获取原像r,对所述原像r做哈希得到原像r的哈希值,基于该哈希值在接收并存储的所述哈希原像文件中查找,若命中,则判定所述xtxi是合法的,且验证通过,否则判定所述xtxi是非法的,且验证不通过并将其驳回。
9.可选的,所述分解交易还包括:交易输出xtxo;所述方法,还包括:步骤3,所述平台区块链将所述xtxo分配给对应的共识区块链,所述共识区块链先采用原像令牌桶算法对所述xtxo进行合法性验证,若验证通过,则针对所述xtxo涉及的资产执行资产释放操作。
10.可选的,所述方法还包括:步骤4,所述平台区块链通过在本区块链上新增一个区块的方式,将新成功处理的跨链交易记录在该新增的区块中;所述步骤2,还包括:所述平台区块链将所述xtxi溯源到对应的共识区块链之前,先基于本平台区块链中记录的跨链交易对所述xtxi进行双花验证。
11.可选的,所述步骤2,还包括:所述共识区块链对所述xtxi涉及的资产执行资产锁定操作之前,先对所述xtxi进行双花验证。
12.可选的,在步骤2中,所述平台区块链将所述xtxi溯源到对应的共识区块链,包括:所述平台区块链采用一致性哈希散列算法对所述xtxi的报文头信息处理后得到一哈希值,根据所述哈希值找到对应的共识区块链;设所述xtxi涉及资源a,所述xtxi的报文头信息包括:处理资源a的前一次交易的平台区块链写入的处理编号,所述处理编号用于区分平台区块链处理的不同资源;在步骤3中,将所述xtxo分配给对应的共识区块链,包括:所述平台区块链采用一致性哈希散列算法对所述xtxo的报文头信息处理后得到一目标哈希值,根据所述目标哈希值找到对应的共识区块链;设所述xtxo涉及资源b,所述xtxo的报文头信息包括:处理资源b的本次交易的平台区块链写入的处理编号。
13.可选的,根据所述目标哈希值找到对应的共识区块链,包括:根据所述目标哈希值在哈希环中顺时针寻找一个虚拟节点,该虚拟节点的哈希值是大于所述目标哈希值的最近的一个哈希值,若没有比所述目标哈希值大的哈希值,则找哈希环中最小的第一个哈希值对应的虚拟节点;该虚拟节点对应的真实节点即为找到的共识区块链;哈希环是由整个哈希值空间组成的一个虚拟的圆环,虚拟节点的哈希值也在这
个圆环中,虚拟节点与真实节点是多对一的关系。
14.可选的,所述平台区块链和/或所述共识区块链均通过各自的代理网关与外界交互;所述共识区块与其代理网关之间是一对一的关系。
15.所述哈希环中的虚拟节点对应的真实节点为共识区块链对应的代理网关。
16.本发明还提供一种区块链跨链通信中的安全保障系统,包括:平台区块链以及两个以上的共识区块链交互,其中,所述平台区块链,用于接收到客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi;所述平台区块链,还用于将所述xtxi溯源到对应的共识区块链;所述共识区块链,用于当接收到溯源来的所述xtxi时,先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作,并通知所述平台区块链;以及对分配来的所述xtxo执行资产释放操作。
17.可选的,所述分解交易还包括:交易输出xtxo;所述平台区块链,还用于在获知所述共识区块链对所述xtxi涉及的资产执行资产锁定操作之后,将所述xtxo分配给对应的共识区块链;所述共识区块链,还用于先采用原像令牌桶算法对所述xtxo进行合法性验证,若验证通过,则针对所述xtxo涉及的资产执行资产释放操作。
18.可选的,所述平台区块链和/或所述共识区块链均通过各自的代理网关与外界交互;所述共识区块与其代理网关之间是一对一的关系。
19.所述哈希环中的虚拟节点对应的真实节点为共识区块链对应的代理网关。
20.采用上述技术方案,本发明至少具有下列优点:本发明所述区块链跨链通信中的安全保障方法及系统,在恶意节点可能伪造跨链交易请求、传递虚假消息或者恶意消息的情况下,避免共识区块链遭受恶意攻击,同时还能避免“双花”交易,平台区块链在支持共识区块链间实现跨链交易的同时,使得共识区块链对外部请求有识别来源并且验证正确性的能力,从而在极大程度上保障了区块链跨链交易的安全性。另外,平台区块链通过控制在交易请求中放入原像r的速度,比如:按照设定的时间放入原像r,就可以达到对流量削峰填谷的作用。
附图说明
21.图1 为本发明第一实施例的区块链跨链通信中的安全保障方法流程图;图2为本发明第二实施例的区块链跨链通信中的安全保障方法流程图;图3为本发明第三实施例的区块链跨链通信中的安全保障方法流程图;图4为本发明第四实施例的区块链跨链通信中的安全保障方法流程图;图5为本发明第五实施例的区块链跨链通信中的安全保障系统组成示意图。
具体实施方式
22.为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
23.本发明第一实施例,一种区块链跨链通信中的安全保障方法,所述平台区块链分
别与客户端、以及两个以上的共识区块链交互,如图1所示,所述方法包括:步骤1,所述平台区块链接收到所述客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi;步骤2,所述平台区块链将所述xtxi溯源到对应的共识区块链,所述共识区块链先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作;具体的,作为一种可选的技术方案,在所述共识区块链需要响应的xtxi的发送请求较多的情况下,在步骤2中,所述共识区块链采用原像令牌桶算法对所述xtxi进行合法性验证,包括:所述共识区块链预先存储由所述平台区块链发来的哈希原像文件,所述哈希原像文件中包含一个或多个原像r对应的哈希值;优选的,所述平台区块链可以根据每日流量确定合适数量的原像以对哈希原像文件进行更新。
24.所述平台区块链按照设定的速率生成原像r并放入所述xtxi的报文头,将所述xtxi发送给所述共识区块链;所述共识区块链对所述原像r做哈希得到原像r的哈希值,基于该哈希值在本地预先存储的所述哈希原像文件中查找,若命中,则判定所述xtxi是合法的,且验证通过,否则判定所述xtxi是非法的,且验证不通过并将其驳回。
25.作为另一种可选的技术方案,在所述共识区块链需要响应的xtxi的发送请求较少的情况下,在步骤2中,所述共识区块链采用原像令牌桶算法对所述xtxi进行合法性验证,包括:所述共识区块链同时接收到所述平台区块链发来的哈希原像文件以及所述xtxi的报文,所述哈希原像文件中包含一个或多个原像r对应的哈希值;所述xtxi的报文头中已由所述平台区块链按照设定的速率生成并放入原像r;这种方式是每次将哈希原像文件以及所述xtxi的报文一同发送。
26.所述共识区块链从接收到的所述xtxi的报文头中获取原像r,对所述原像r做哈希得到原像r的哈希值,基于该哈希值在接收并存储的所述哈希原像文件中查找,若命中,则判定所述xtxi是合法的,且验证通过,否则判定所述xtxi是非法的,且验证不通过并将其驳回。
27.下面对本发明实施例提出的原像令牌桶算法做进一步的解释说明:原像令牌桶,顾名思义是原像 (preimage) 和令牌桶算法的结合,它兼具安全性控制和流量控制两个功能。将随机生成的原像r做哈希得到原像哈希hash(r),通过这种方式得到的r和hash(r)是一一对应的,并且由于其随机产生、使用哈希算法的特性,在第三方获知hash(r)后,是无法逆向推导出原像r的。利用这一特点,平台区块链会根据业务实际需求生成一系列的原像r形成对应的原像哈希,每次要验证某一个请求的合法性的时候,会将原像r随着请求附送上,当验证原像r与内存中加载的hash(r)匹配时,就能证明该请求的合法性。算法流程是这样的,算法生成原像r和hash(r)的主体被称为上游,上游会将生成的包含hash(r)的文件分发到下游,而将生成的原像r保密,当上游需要发送请求到下游时,会附送上一个原像r,下游根据这个原像r做哈希计算并匹配内存中加载获取的hash(r),如果匹配成功说明该请求的合法性。上游通过控制在交易请求中放入原像r的速度,比如:按照设
定的时间放入原像r,就可以达到对报文流量削峰填谷的作用。
28.在本发明实施例中,平台区块链所发送的原像r以及共识区块链用来判断的原像哈希文件都是在平台区块链里生成的。为了不占用主流程,这些文件都是采用异步并发的方式生成的,并且往往在业务量极小的时间段使用定时任务来生成文件。平台区块链会随机生成n个原像r,并且使用与共识区块链相同的哈希算法生成原像r的哈希原像;然后平台区块链会以共识区块链的名字和顺序序号来分别生成对应的原像和哈希原像,并且之后会把多个哈希原像传输给对应的共识区块链。采用这种方式,不管是平台区块链还是共识区块链,都可以在不占用主流程的情况下获得相应的原像r和哈希原像hash(r)。每次生成多少个原像r是根据过去一段时间内每日流量来决定的,设每k个原像及其哈希原像组成一个原像文件和一个哈希原像文件,并且以对应的共识区块链名加上顺序序号来命名,比如org.block.com.seq1表示共识区块链名为org.block.com,其序号seq1表示该文件是生成的第一个文件。通过这样的方式,每次平台区块链使用了新的原像文件后,只需要在请求头里附带新的seq即可通知到共识区块链也切换新的原像文件。
29.在步骤2中,所述平台区块链将所述xtxi溯源到对应的共识区块链,包括:所述平台区块链采用一致性哈希散列算法对所述xtxi的报文头信息处理后得到一哈希值,根据所述哈希值找到对应的共识区块链;设所述xtxi涉及资源a,所述xtxi的报文头信息包括:处理资源a的前一次交易的平台区块链写入的处理编号,所述处理编号用于区分平台区块链处理的不同资源;可选的,所述分解交易还包括:交易输出xtxo;所述方法还包括:步骤3,所述平台区块链将所述xtxo分配给对应的共识区块链以执行资产释放操作。
30.在步骤3中,将所述xtxo分配给对应的共识区块链,包括:所述平台区块链采用一致性哈希散列算法对所述xtxo的报文头信息处理后得到一目标哈希值,根据所述目标哈希值找到对应的共识区块链;设所述xtxo涉及资源b,所述xtxo的报文头信息包括:处理资源b的本次交易的平台区块链写入的处理编号。
31.进一步的,根据所述目标哈希值找到对应的共识区块链,包括:根据所述目标哈希值在哈希环中顺时针寻找一个虚拟节点,该虚拟节点的哈希值是大于所述目标哈希值的最近的一个哈希值,若没有比所述目标哈希值大的哈希值,则找哈希环中最小的第一个哈希值对应的虚拟节点;该虚拟节点对应的真实节点即为找到的共识区块链;哈希环是由整个哈希值空间组成的一个虚拟的圆环,虚拟节点的哈希值也在这个圆环中,虚拟节点与真实节点是多对一的关系。
32.可选的,为了提高处理效率,所述平台区块链和/或所述共识区块链均通过各自的代理网关与外界交互;所述共识区块与其代理网关之间是一对一的关系。
33.所述哈希环中的虚拟节点对应的真实节点为共识区块链对应的代理网关。
34.本发明第二实施例,一种区块链跨链通信中的安全保障方法,所述平台区块链分别与客户端、以及两个以上的共识区块链交互,如图2所示,所述方法包括:步骤1,所述平台区块链接收到所述客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi和交易输
出xtxo;步骤2,所述平台区块链将所述xtxi溯源到对应的共识区块链,所述共识区块链先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作;步骤3,所述平台区块链将所述xtxo分配给对应的共识区块链,该分配到的共识区块链先采用原像令牌桶算法对所述xtxo进行合法性验证,若验证通过,则针对所述xtxo涉及的资产执行资产释放操作。
35.本发明实施例的技术方案与第一实施例大致相同,区别在于:本发明实施例在步骤3中,还包括:共识区块链先采用原像令牌桶算法对所述xtxo进行合法性验证的步骤。相对于仅针对xtxi进行合法性验证方案来说,进一步保障了跨链交易的安全性。
36.本发明第三实施例,一种区块链跨链通信中的安全保障方法,所述平台区块链分别与客户端、以及两个以上的共识区块链交互,如图3所示,所述方法包括:步骤1,所述平台区块链接收到所述客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi和交易输出xtxo;步骤2,所述平台区块链先基于本平台区块链中记录的跨链交易对所述xtxi进行双花验证,若不存在双花交易,则将所述xtxi溯源到对应的共识区块链,所述共识区块链先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作;步骤3,所述平台区块链将所述xtxo分配给对应的共识区块链以执行资产释放操作。
37.步骤4,所述平台区块链通过在本区块链上新增一个区块的方式,将新成功处理的跨链交易记录在该新增的区块中。
38.本发明实施例的技术方案与第一实施例大致相同,区别在于:本发明实施例在步骤2中,还包括:平台区块链先基于本平台区块链中记录的跨链交易对所述xtxi进行双花验证的步骤,双花验证结合合法性验证,既保证了交易来源的合法性也避免了对双花交易的处理,从两个方面提升了跨链交易的安全性。
39.本发明第四实施例,一种区块链跨链通信中的安全保障方法,所述平台区块链分别与客户端、以及两个以上的共识区块链交互,如图4所示,所述方法包括:步骤1,所述平台区块链接收到所述客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi和交易输出xtxo;步骤2,所述平台区块链先基于本平台区块链中记录的跨链交易对所述xtxi进行双花验证,若不存在双花交易,则将所述xtxi溯源到对应的共识区块链,所述共识区块链先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则执行步骤3;步骤3,所述共识区块链对所述xtxi进行双花验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作;步骤4,所述平台区块链将所述xtxo分配给对应的共识区块链以执行资产释放操作。
40.步骤5,所述平台区块链通过在本区块链上新增一个区块的方式,将新成功处理的跨链交易记录在该新增的区块中。
41.本发明实施例的技术方案与第三实施例大致相同,也是将双花验证结合合法性验证,既保证了交易来源的合法性也避免了对双花交易的处理,从两个方面提升了跨链交易的安全性。本发明实施例的技术方案与第三实施例的区别在于:本发明实施例在平台区块链先基于本平台区块链中记录的跨链交易对所述xtxi进行双花验证之后,溯源到的共识区块链再次对所述xtxi进行双花验证。这里平台区块链处理“双花”交易的流程实际上是一个预处理,预处理是为了加快响应速度,避免不必要的通信和处理开销。
42.本发明第五实施例,一种区块链跨链通信中的安全保障系统,如图5所示,包括:平台区块链100以及两个以上的共识区块链200交互,其中,所述平台区块链100,用于接收到客户端发来的跨链交易请求时,对所述跨链交易请求中的跨链交易进行分解得到分解交易,所述分解交易包括:交易输入xtxi和交易输出xtxo;所述平台区块链100,还用于将所述xtxi溯源到对应的共识区块链200,在获知所述共识区块链200对所述xtxi涉及的资产执行资产锁定操作之后,将所述xtxo分配给对应的共识区块链200;所述共识区块链200,用于当接收到溯源来的所述xtxi时,先采用原像令牌桶算法对所述xtxi进行合法性验证,若验证通过,则针对所述xtxi涉及的资产执行资产锁定操作,并通知所述平台区块链100;以及对分配来的所述xtxo执行资产释放操作。
43.可选的,为了提高处理效率,所述平台区块链100和/或所述共识区块链200均可以通过各自的代理网关与外界交互;所述共识区块与其代理网关之间是一对一的关系。
44.所述哈希环中的虚拟节点对应的真实节点为共识区块链对应的代理网关。
45.本发明实施例中,平台区块链100、共识区块链200的功能可以分别与第一~四实施例中上述二者的功能对应,详细的交互过程见前述四个实施例即可。
46.在工程实现上,上述实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的所述方法可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台设备(可以是基站等网络设备)执行本发明实施例所述的方法。
47.通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1