一种共识区块链交易查询验证方法及系统技术方案

技术编号:28295537 阅读:11 留言:0更新日期:2021-04-30 16:19
本发明专利技术提出了一种共识区块链交易查询验证方法及系统,该方法包括:步骤1,服务器接收到客户端发来的交易查询请求时,对所述交易查询请求中的交易进行分解得到分解交易查询请求;步骤2,所述服务器对各所述分解交易查询请求进行分片路由以溯源到对应的共识区块链;步骤3,溯源到的共识区块链对相应的分解交易验证资产锁定或资产释放操作是否已成功,并将验证结果返回给所述服务器;步骤4,所述服务器根据所述验证结果向所述客户端反馈查询结果:若所述交易相关的资产锁定和释放操作全部成功,则反馈交易成功,否则反馈交易失败。本发明专利技术既能够保证交易查询验证的结果准确、高效,又避免了服务器的性能瓶颈。

【技术实现步骤摘要】
一种共识区块链交易查询验证方法及系统
本专利技术涉及共识区块链
,尤其涉及一种共识区块链交易查询验证方法及系统。
技术介绍
整个区块链网络中的节点被人为的划分为多个独立的联盟链系统,即共识区块链或者叫共识单链,在一个高负载、高强度、大容量、可扩展的联盟链系统中,不会减弱共识区块链原本的去中心化和安全性。共识单链内部通过共识算法达成共识,且不与其他共识单链做交互,形成一个单独的闭环,每个共识单链负责自己的部分交易,处理自己的核心数据。实现跨链通信的跨链通信平台整体架构呈现星型模式,跨链通信平台中的服务器则是整个架构的核心,负责与各个共识单链沟通,打通共识单链之间的孤岛。跨链通信平台除开核心部分,其余部分称为共识组,它由多个同质的、地位对等的、功能一致的,并且逻辑上也尽量隔离的共识单链组成。跨链通信平台不关注共识单链内部的实现方式,理论上只要符合联盟链的特征,都可以并行的运行在跨链通信平台架构网络中。多个独立及并行的共识单链隔离的处理工作,只通过跨链通信机制进行共识单链的互联互通,从而分摊全网的吞吐压力和状态维护工作。跨链通信平台采用联盟链做架构,不同于公有链,联盟链的一般具备一个CA机构,它有限的发放节点的读写权限,并且对于签发的证书做背书。在安全性方面,很多对于公有链无法适用的架构方案在联盟链上都可以得到正确的实施和部署,比如公有链需要安全和共识机制来抵御51%攻击,在同等条件下,一般认为公有链必须满足抵御1%的能力,而联盟链通过合理的CA签发背书,无须使用重组、新的共识机制。所以关注基于联盟链的跨链通信平台,其“安全性”的重心在于对其他同质的闭环的机构和组织的互信、互联、互通上,其“去中心化”的中心在于保障其他同质机构和组织的多中心化,在保障“安全性”和“去中心化”不会因为采取的新架构而损失的前提下,需要做到整个系统的性能大幅度提升。另外,联盟链交易确认时间短,交易延时低,联盟链一般不会存在链分叉的情况,所以一旦确认了交易上链,就可以认定交易成功。跨链通信平台采用联盟链还有在应用的考虑,公有链一般是以币为主体做资产所属权的互换,形式单一,而联盟链更侧重于业务实现,比如存证保全业务、商品溯源业务、慈善公益业务、供应链金融等,应用场景广泛并且符合目前发展的需要。设计以非侵入的联盟链为基础的跨链通信平台,主要需要考虑以下几点:(1)分片路由方案。分片方案要求链内交易和跨链交易能够路由到正确的共识区块链上做资产的锁定和释放,并且在资产交易完成后能够被正确的路由到对应共识区块链上做查询。(2)跨链方案。跨链方案使得孤岛的共识区块链之间能够互联互通,跨链交易的双方能够彼此互信,跨链的交易能够被正确执行、查询和验证。因此,在前期已经实现了执行链内交易和跨链交易的情况下,本专利技术主要解决如何对交易进行查询验证的问题。
技术实现思路
本专利技术要解决的技术问题是,提供一种共识区块链交易查询验证方法及系统,如何使得交易能够被正确查询和验证。本专利技术采用的技术方案是,所述共识区块链交易查询验证方法,包括:步骤1,服务器接收到客户端发来的交易查询请求时,对所述交易查询请求中的交易进行分解得到分解交易查询请求;步骤2,所述服务器对各所述分解交易查询请求进行分片路由以溯源到对应的共识区块链;步骤3,溯源到的共识区块链对相应的分解交易验证资产锁定或资产释放操作是否已成功,并将验证结果返回给所述服务器;步骤4,所述服务器根据所述验证结果向所述客户端反馈查询结果:若所述交易相关的资产锁定和释放操作全部成功,则反馈交易成功,否则反馈交易失败。可选的,所述分解交易查询请求包括:交易输入查询请求、交易输出查询请求。可选的,所述步骤1,还包括:所述服务器对交易输入查询请求中的交易输入做双花验证,具体验证方式如下:验证准备步骤:所述服务器事先在内存中以链表的形式将交易记录存储于链表的节点上,链表上的每一个节点称为一个区块,每个区块保存了前一个区块的哈希值、当前区块的merkel树的根节点、生成区块的时间戳、区块包含的交易数目和多个交易信息,每一个交易信息包含交易输入、交易输出、交易的时间戳以及与实际业务有关的附加信息;当前区块的merkel树的根节点指向内存中以merkel树结构存储的各资源的多层哈希值,各不同的资源是连续存储于内存中的,所述服务器在内存中存储有指向各交易资源的指针;验证实施步骤:所述服务器先通过对交易输入查询请求的报文头做哈希得到哈希值确定出指向交易输入的资源的指针,若确定出的指向交易输入的同一资源的指针只有一个,则判定不存在双花交易;若确定出的指向交易输入的同一资源的指针有两个,则进一步判断这两个指针指向merkel树结构中的资源是否为同一个,若是,则判定不存在双花交易,否则判定存在双花交易;所述步骤4还包括:所述服务器根据所述验证结果以及双花验证的结果向所述客户端反馈查询结果:若所述交易相关的资产锁定和释放操作全部成功且不存在双花交易,则反馈交易成功,否则反馈交易失败。可选的,所述步骤3,还包括:溯源到的共识区块链对交易输入查询请求中的交易输入做双花验证。可选的,所述交易输出查询请求的报文头信息包括:处理一资源的最近一次交易的服务器写入的该服务器处理最近一次交易的时间戳;所述交易输入查询请求的报文头信息包括:处理该资源的前一次交易的服务器写入的该服务器处理前一次交易的时间戳;所述步骤2,包括:所述服务器根据分解交易查询请求的报文头信息中的时间戳确定出对应的分片组元信息,基于分片组元信息所提供的哈希空间组成哈希环,采用一致性哈希散列算法将分解交易查询请求路由到对应的共识区块链;所述分片组元信息即为一段时间内共识区块链网络的所有共识区块链信息,一旦某一时段共识区块链数量发生变化,就生成新的与该时段对应的分片组元信息。可选的,采用一致性哈希散列算法将分解交易查询请求路由到对应的共识区块链,包括:对分解交易查询请求的报文头信息做哈希计算得到目标哈希值,根据所述目标哈希值在哈希环中顺时针寻找一个虚拟节点,该虚拟节点的哈希值是大于所述目标哈希值的最近的一个哈希值,若没有比所述目标哈希值大的哈希值,则继续顺时针找到哈希环中的下一个即最小的第一个哈希值对应的虚拟节点;该虚拟节点对应的真实节点即为找到的共识区块链;哈希环是由整个哈希值空间组成的一个虚拟的圆环,虚拟节点的哈希值也在这个圆环中,虚拟节点与真实节点是多对一的关系。可选的,所述分解交易查询请求的报文头信息还至少包括以下之一:写入时间戳的服务器的身份信息;自增序列,所述自增序列用于区分服务器在同一时间戳内所处理的不同资源。本专利技术提供一种共识区块链交易查询验证系统,包括:服务器,用于接收到客户端发来的交易查询请求时,对所述交易查询请求中的交易进行分解得到分解交易查询请求;对各所述分解交易查询请求进行分片路由以溯源到对应的共识区块链;所述共识区块链,用于对相应的分解交易验证资产锁定或资产释放本文档来自技高网
...

【技术保护点】
1.一种共识区块链交易查询验证方法,其特征在于,包括:/n步骤1,服务器接收到客户端发来的交易查询请求时,对所述交易查询请求中的交易进行分解得到分解交易查询请求;/n步骤2,所述服务器对各所述分解交易查询请求进行分片路由以溯源到对应的共识区块链;/n步骤3,溯源到的共识区块链对相应的分解交易验证资产锁定或资产释放操作是否已成功,并将验证结果返回给所述服务器;/n步骤4,所述服务器根据所述验证结果向所述客户端反馈查询结果:若所述交易相关的资产锁定和释放操作全部成功,则反馈交易成功,否则反馈交易失败。/n

【技术特征摘要】
1.一种共识区块链交易查询验证方法,其特征在于,包括:
步骤1,服务器接收到客户端发来的交易查询请求时,对所述交易查询请求中的交易进行分解得到分解交易查询请求;
步骤2,所述服务器对各所述分解交易查询请求进行分片路由以溯源到对应的共识区块链;
步骤3,溯源到的共识区块链对相应的分解交易验证资产锁定或资产释放操作是否已成功,并将验证结果返回给所述服务器;
步骤4,所述服务器根据所述验证结果向所述客户端反馈查询结果:若所述交易相关的资产锁定和释放操作全部成功,则反馈交易成功,否则反馈交易失败。


2.根据权利要求1所述的方法,其特征在于,所述分解交易查询请求包括:交易输入查询请求、交易输出查询请求。


3.根据权利要求2所述的方法,其特征在于,所述步骤1,还包括:
所述服务器对交易输入查询请求中的交易输入做双花验证,具体验证方式如下:
验证准备步骤:所述服务器事先在内存中以链表的形式将交易记录存储于链表的节点上,链表上的每一个节点称为一个区块,每个区块保存了前一个区块的哈希值、当前区块的merkel树的根节点、生成区块的时间戳、区块包含的交易数目和多个交易信息,每一个交易信息包含交易输入、交易输出以及交易的时间戳;当前区块的merkel树的根节点指向内存中以merkel树结构存储的各资源的多层哈希值,所述服务器在内存中存储有指向各交易资源的指针;
验证实施步骤:所述服务器先通过对交易输入查询请求的报文头做哈希得到哈希值确定出指向交易输入的资源的指针,若确定出的指向交易输入的同一资源的指针只有一个,则判定不存在双花交易;若确定出的指向交易输入的同一资源的指针有两个,则进一步判断这两个指针指向merkel树结构中的资源是否为同一个,若是,则判定不存在双花交易,否则判定存在双花交易;
所述步骤4还包括:所述服务器根据所述验证结果以及双花验证的结果向所述客户端反馈查询结果:若所述交易相关的资产锁定和释放操作全部成功且不存在双花交易,则反馈交易成功,否则反馈交易失败。


4.根据权利要求3所述的方法,其特征在于,所述步骤3,还包括:溯源到的共识区块链对交易输入查询请求中的交易输入做双花验证。


5.根据权利要求2所述的方法,其特征在于,所述交易输出查询请求的报文头信息包括:处理一资源的最近一次交易的服务器写入的该服务器处理最近一次交易的时间戳;所述交易输入查询请求的报文头信息包括:处理该资源的前一次交易的服务器写入的该服务器处理前一次交易的时间戳;
所述步骤2,包括:
所述服务器根据分解交易查询请求的报文头信息中的时间戳确定出对应的分片组元信息,基于分片组元信息所提供的哈希空间组成哈希环,采用一致性哈希散列算法将分解交易查询请求路由到对应的共识区块链;
所述分片组元信息即为一段时间内共识区块链网络的所有共识区块链信息,一旦某一时段共识区块链数量有新增,就生成新的与该时段对应的分片组元信息。


6.根据权利要求5所述的方法,其特征在于,采用一致性哈希散列算法将分解交易路由到对应的共识区块链,包括:
对分解交易查询请求的报文头信息做哈希计算得到目标哈希值,根据所述目标哈希值在哈希环中顺时针寻找一个虚拟节点,该虚拟节点的哈希值是大于所述目标哈希值的最近的一个哈希值,若没有比所述目标哈希值大的哈希值,则继续顺时针找到哈希环中的下一个即最小的第一个哈希值对应的虚拟节点;该虚拟节点对应的真实节点即为找到的共识区块链;哈希环是由整个哈希值空间组成的一个虚拟的圆环,虚拟节点的哈希值也在这个圆环中,虚拟节点与真实节点是多对一的关系。


7.根据权利要求5所述的方法,其特征在于,所述分解交易查询请求的报文头信息还至少包括以下之一:
写入时间戳的服务器的身份信息;
自增序列,所述自增序列用于区分服务...

【专利技术属性】
技术研发人员:陈昱晓张朝栋
申请(专利权)人:北京万物智链科技有限公司
类型:发明
国别省市:北京;11

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

1