一种对Fabric复杂背书策略在跨链中验证的方法技术

技术编号:38492633 阅读:12 留言:0更新日期:2023-08-15 17:05
本发明专利技术公开了一种对Fabric复杂背书策略在跨链中验证的方法,该方法中Fabric区块链首先将MSP名单、链码ID和背书策略描述注册到跨链网络中,将产生的跨链交易传给中继链,然后中继链解析出交易执行结果和背书节点签名集,生成背书策略解释器,并确认交易执行结果和注册在跨链网络中的链码ID一致,不一致则验证失败,最后背书策略解释器验证签名集。本发明专利技术能够对用户自定义的复杂背书策略进行验证;对Fabric网络用户友好,不需要自己编写验证策略,只需要提交背书策略描述即可;能够防止用户通过不同链码进行恶意攻击。户通过不同链码进行恶意攻击。户通过不同链码进行恶意攻击。

【技术实现步骤摘要】
一种对Fabric复杂背书策略在跨链中验证的方法


[0001]本专利技术属于区块链
,尤其涉及一种对Fabric复杂背书策略在跨链中验证的方法。

技术介绍

[0002]跨链技术指的是通过连接相对独立的区块链系统,实现账本的跨链互操作。在资产交换方面,一些区块链事实上仍处于互相隔离的状态,目前各个区块链应用之间互通壁垒极高,并且资产交换时对交易的验证是个非常巨大的挑战。
[0003]而对Fabric区块链产生的跨链交易的验证尤其是一个难点,Fabric区块链拥有规定的背书节点对交易进行背书,Fabric的背书节点是由多个节点组成的集合,用户可以对这个集合进行自定义的背书策略制定,比如规定必须由哪几个节点背书或者几个节点中的某几个背书。例如Fabric区块链中存在背书节点A,B,C,D,用户可以定义只要任意节点背书成功即使得交易背书成功,也可指定必须有A,B两个节点背书成功才能使得交易背书成功。然而这样自定义的虽然提供了区块链对背书要求的灵活性,但是在跨链交易中对Fabric抛出的交易的背书信息的验证规则的编写提供了极大的障碍,如果针对每一种策略都编写一种对应的验证规则,无论从工作量还是从复杂度来说都是一笔不小的开销。
[0004]通常的跨链验证无法对复杂的背书策略进行验证,只能验证简单的背书策略,比如只能验证由一个节点签名或者由固定几个节点进行签名的交易。一般来说对于默认的Fabric的网络,背书策略是只要背书节点池的任意一个节点对交易做背书,即可以认为交易是有效的,所以简单的背书策略只需要将所有背书节点的证书存入到跨链网络,在验证时只需要遍历这些证书进行验签即可。但是对于复杂的背书策略来说,是无法通过简单的遍历做到的,这也完全无法满足在实际生产中的Fabric复杂背书策略的跨链需求。

技术实现思路

[0005]本专利技术的目的在于针对现有技术的不足,提供一种对Fabric复杂背书策略在跨链中验证的方法。
[0006]本专利技术的目的是通过以下技术方案来实现的:一种对Fabric复杂背书策略在跨链中验证的方法,包括以下步骤:
[0007](1)Fabric区块链将区块链网络中所有的MSP名单、链码ID和背书策略的表达式注册到跨链网络中;
[0008](2)当Fabric区块链产生一笔跨链交易时,将已经上链的该笔交易信息传给跨链网络的中继链,中继链对该交易信息进行背书验证,包括以下子步骤:
[0009](2.1)中继链从交易信息中解析出交易提案的执行结果和背书节点对交易提案的执行结果的签名集合;
[0010](2.2)先对步骤(1)中Fabric区块链注册在跨链网络中的背书策略的表达式进行语义分析拆分成逻辑语法树,然后将逻辑语法树与步骤(1)传入跨链网络的MSP名单进行映
射,生成背书策略解释器;
[0011](2.3)中继链将步骤(2.1)得到的交易提案的执行结果中的链码ID和步骤(1)中Fabric注册在跨链网络中的链码ID进行对比,确认链码ID一致,如不一致则验证失败;
[0012](2.4)将步骤(2.1)得到的背书节点对交易提案的执行结果的签名集合放入步骤(2.2)生成的背书策略解释器中,背书策略解释器查看签名集合的数量是否符合步骤(1)传入的背书策略的表达式,判断签名集合的逻辑是否符合逻辑语法树,并提取步骤(2.2)中与逻辑语法树挂钩的MSP名单中背书策略要求的证书,对签名集合进行验签;如签名集合的签名符合背书策略解释器的要求且验签通过则验证通过,否则验证失败。
[0013]进一步地,所述步骤(2.2)具体为:采用抽象语法树对步骤(1)中Fabric区块链注册在跨链网络中的背书策略的表达式进行语义分析转化成树状数据结构,得到逻辑语法树,然后将逻辑语法树与步骤(1)传入跨链网络的MSP名单进行映射,生成背书策略解释器。
[0014]进一步地,当Fabric区块链中的背书策略更新时,将背书策略的表达式同步更新到跨链网络中,并在每次交易验证时生成新的背书策略解释器。
[0015]本专利技术的有益效果是:本专利技术中Fabric区块链首先将MSP名单、链码ID和背书策略描述注册到跨链网络中,将产生的跨链交易传给中继链,然后中继链解析出交易执行结果和背书节点签名集,生成背书策略解释器,并确认交易执行结果和注册在跨链网络中的链码ID一致,最后背书策略解释器验证签名集;本专利技术具有以下特点:
[0016]1、本专利技术能够对用户自定义的复杂背书策略进行验证;
[0017]2、本专利技术对Fabric网络用户友好,不需要自己编写验证策略,只需要提交背书策略描述即可;
[0018]3、本专利技术能够防止用户通过不同链码进行恶意攻击。
附图说明
[0019]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为Fabric注册到跨链网络的注册阶段示意图;
[0021]图2为Fabric复杂验证规则验证流程图。
具体实施方式
[0022]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0023]本专利技术一种对Fabric复杂背书策略在跨链中验证的方法,包括以下步骤:
[0024](1)如图1所示,在Fabric区块链注册到跨链网络的注册阶段,Fabric区块链将区块链网络中所有机构的MSP名单、用来发送跨链交易的链码ID和背书策略描述一起注册到跨链网络中。
[0025]其中,Fabric的MSP名单需要包含Fabric区块链网络中所有机构的MSP名单,在生成背书策略时需要将多个机构的MSP名单组合起来,而不是只以单一机构的MSP名单作为背书策略的输入源。
[0026](2)如图2所示,当Fabric区块链产生一笔跨链交易时,将已经上链的该笔交易信息传给跨链网络的中继链,中继链对该交易信息进行背书验证,包括以下子步骤:
[0027](2.1)中继链从交易信息中解析出交易提案的执行结果和背书节点对交易提案的执行结果的签名集合。
[0028](2.2)对步骤(1)中Fabric区块链注册在跨链网络中的背书策略描述进行编译,结合注册在跨链网络中的MSP名单生成背书策略解释器,具体为:先对背书策略描述进行语义分析,拆分成逻辑语法树,比如用抽象语法树(Abstract Syntax Tree,AST),将背书策略表达式转化成树状数据结构,然后将逻辑语法树与步骤(1)传入跨链网络的MSP名单进行挂钩。
[0029]需本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对Fabric复杂背书策略在跨链中验证的方法,应用于中继链,所述中继链为跨链网络中用于接收跨链交易的交易信息的区块链,其特征在于,包括:当接收到Fabric区块链发送的所述交易信息时,对所述交易信息进行解析,以获取所述交易信息对应的交易提案的执行结果和所述执行结果对应的签名集合;若第一链码ID与所述执行结果中的第二链码ID一致,则获取所述Fabric区块链预先注册的第一表达式;所述第一链码ID和所述第一表达式由所述Fabric区块链预先注册在所述中继链中;所述第一表达式用于表示所述Fabric区块链对应的背书策略;对所述第一表达式进行语义分析以生成对应的逻辑语法树,并基于所述逻辑语法树和所述Fabric区块链对应的MSP名单生成第一背书策略解释器;所述MSP名单为所述Fabric区块链预先注册在所述中继链中用于进行交易验证的名单;基于所述第一背书策略解释器判断所述签名集合是否符合所述逻辑语法树,并判断所述签名集合是否满足所述逻辑语法树对应的证书;所述逻辑语法树对应的证书为所述第一背书策略解释器从逻辑语法树对应的所述MSP名单中提取出的背书策略要求的证书;若所述签名集合符合所述逻辑语法树且所述签名集合满足所述逻辑语法树对应的证书,则判定所述交易信息验证成功。2.根据权利要求1所述的方法,其特征在于,所述对所述表达式进行语义分析以生成对应的逻辑语法树,并基于所述逻辑语法树和所述Fabric区块链对应的MSP名单生成第一背书策略解释器,包括:基于预设的抽象语法树将所述表达式转化为树状数据结构,并生成所述逻辑语法树;所述抽象语法树用于对所述表达式进行语法分析;将所述逻辑语法树与所述MSP名单进行映射,并生成所述第一背书策略解释器。3.根据权利要求1所述的方法,其特征在于,所述对所述表达式进行语义分析以生成对应的逻辑语法树,并基于所述逻辑语法树和所述Fabric区块链对应的MSP名单生成第一背书策略解释器,包括:接收所述Fabric区块链上传的第二表达式;所述第二表达式为所述Fabric区块链在对所述背书策略进行更新时发送的;基于所述第二表达式生成对应的第二背书策略解释器,并基于所述第二背书策略解释器判断所述签名...

【专利技术属性】
技术研发人员:李伟邱炜伟张帅汪小益
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1