本发明专利技术公开了一种区块链交易验证方法、设备及存储介质,属于区块链技术领域。从主链节点获取指定区块高度的交易;从区块头中获取默克尔树根值;对主链及一个以上平行链及其交易进行排序,根据主链交易排序构造主链子根哈希值;根据平行链交易排序构造平行链子根哈希值;根据主链与一个以上平行链排序,通过主链子根哈希值与一个以上平行链子根哈希值构造待验证的默克尔树根值,若所述待验证的默克尔树根值与区块头中的默克尔树根值一致,则验证通过。只需要提供平行链交易所在子merkle树的存在证明即可,不需要一笔一笔验证平行链交易,从而提高平行链数据的拉取和验证效率。
【技术实现步骤摘要】
一种区块链交易验证方法、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种区块链交易验证方法、设备及存储介质。
技术介绍
中国专利技术专利申请,申请公布号:CN109587271A,申请公布日:2019.04.05;公布了一种主链平行链架构系统及区块同步方法、设备和存储介质。中国专利技术专利申请,申请公布号:CN110287196A,申请公布日:2019.09.27;公布了一种区块存储方法、平行链交易获取方法、设备和存储介质,该方法包括:接收用户终端发送的第一平行链交易;打包并执行包含第一平行链交易的第一区块以将第一区块记录到第一主链上,并将第一平行链交易的第一索引存储到数据库中;其中,第一索引用于第一平行链节点获取本平行链交易时,第一主链节点通过第一索引查找对应的第一平行链交易并打包成平行链区块返回给第一平行链节点。该专利技术通过主链节点接收到用户发送的平行链交易后在存储区块时获取该平行链交易的关于该平行链的第一索引,并将第一索引存储在数据库中,使后期平行链节点在获取本平行链交易时可以通过该第一索引查询到对应的平行链交易。如图2为区块链中使用的merkle树以及存在证明,假如一个区块打包了16笔交易,交易tx-A到交易tx-P,对应的hash值为:HA到HP。交易tx-K(绿色节点)为了证明自己存在于该区块中,需要提供自己在merkle树中的分支路径branch(图中的蓝色节点):HL+HIJ+HMNOP+HABCDEFGH数据。通过交易tx-K的hash值Hk和分支路径branch计算出一个新的hash值,如果新的hash值和区块中保存的HABCDEFGHIJKLMNOP值相等,就可以证明交易tx-K存在此区块中。中国专利技术专利申请,申请公布号:CN109410045A,申请公布日:2019.03.01;公布了一种平行链共识方法、设备和存储介质,该方法包括:打包第一平行链的待共识的第一区块的若干信息以生成第一区块信息;将第一区块信息发送至对应的主链节点,以供主链节点将第一区块信息记录到主链上,验证主链所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成共识结果;同步共识结果,将通过验证的第一区块写入第一平行链的方法,解决了平行链的数据不可靠,平行链共识将耗费大量资源的问题。该专利技术中的验证方法如图2所示,仍是按照上述方法完成验证过程。在以上所述平行链架构中,拉取区块中指定名称的平行链所有交易后,为了验证平行链的每笔交易是否在指定区块中,需要获取每笔平行链交易在整个merkle树中的分支路径数据来证明。随着一个区块中交易数量的增加,这些用来证明交易存在的分支路径数据也会随之增加,导致拉取平行链交易数据时,数据量变大,从而占用过多网络带宽以及降低平行链交易验证效率。
技术实现思路
1.专利技术要解决的技术问题为了克服上述技术问题,本专利技术提供了一种区块链交易验证方法、设备及存储介质。在节点挖矿成功打包交易上链时,按照阈值条件对交易排序,使相关交易组装在一起构成一个子merkle树,只需要提供平行链交易所在子merkle树的存在证明即可,不需要一笔一笔验证平行链交易,从而提高平行链数据的拉取和验证效率。2.技术方案为解决上述问题,本专利技术提供的技术方案为:一种默克尔树构造方法,适用于主链节点,包括:对主链及一个以上平行链及其交易进行排序,根据主链交易排序构造主链子根哈希值;根据平行链交易排序构造平行链子根哈希值;根据主链与一个以上平行链排序,通过主链子根哈希值与一个以上平行链子根哈希值构造默克尔树根值。可选地,主链子根哈希值、一个以上平行链子根哈希值均缓存在主链节点本地数据库中。可选地,所述对主链及一个以上平行链交易进行排序,进一步为:按照阈值条件对主链及一个以上平行链排序,按照阈值条件对主链交易进行排序,按照阈值条件对平行链交易进行排序。可选地,所述按照阈值条件对主链及一个以上平行链排序包括:按照主链及一个以上平行链名称字母顺序排序。可选地,所述按照阈值条件对主链交易进行排序,按照阈值条件对平行链交易进行排序,包括按照交易时间顺序对主链交易进行排序,按交易时间顺序对平行链交易进行排序。一种区块头构造方法适用于主链节点,包括:将以上所述的默克尔树根值用于构造区块头。可选地,还包括将一个以上平行链子根哈希值用于构造区块头。一种区块链交易验证方法,适用于平行链节点,包括:从主链节点获取指定区块高度的交易;从所述区块头中获取默克尔树根值;按照权利要求1所述的一种默克尔树构造方法构造待验证的默克尔树根值,若所述待验证的默克尔树根值与区块头中的默克尔树根值一致,则验证通过。一种区块链交易验证方法,适用于平行链节点,包括:从主链节点获取指定区块高度中对应平行链交易,以及所述区块头中的默克尔树根值;获取所述主链节点本地数据库缓存的主链子根哈希值、一个以上平行链子根哈希值;根据平行链交易顺序构造待验证的平行链子根哈希值;根据主链与一个以上平行链排序,通过主链子根哈希值、待验证的平行链子根哈希值与其他平行链子根哈希值构造待验证的默克尔树根值;若所述待验证的默克尔树根值与区块头中的默克尔树根值一致,则验证通过。一种区块链交易验证方法,适用于平行链节点,包括:从主链节点获取指定区块高度中对应平行链交易,以及所述区块头中的对应平行链子根哈希值;根据所述平行链交易排序计算待验证的平行链子根哈希值,若所述待验证的平行链子根哈希值与平行链子根哈希值一致,则验证通过。一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上任一项所述的方法。3.有益效果采用本专利技术提供的技术方案,与现有技术相比,具有如下有益效果:在节点挖矿成功打包交易上链时,按照阈值条件对交易排序,使相关交易组装在一起构成一个子merkle树,只需要提供平行链交易所在子merkle树的存在证明即可,不需要一笔一笔验证平行链交易,从而提高平行链数据的拉取和验证效率。附图说明图1为本专利技术提供的一种默克尔树构造方法的流程图。图2为现有默克尔树的结构示意图。图3为本专利技术提供的一种区块链交易验证方法的流程图。图4为本专利技术提供的另一种区块链交易验证方法的流程图。图5为主链和平行链架构示意图;图6为实施例3中举例的主链和平行链架构示意图;图7为实施例3中区块高度H时主链的默克尔树结构示意图。图8为实施例3中区块高度H时第一平行链的默克尔树结构示意图。图9为实施例3中区块高度H时第二平行链的默克尔树结构示意图。图10为实施例3中区块高度H时第三平行链的默克尔树结构示意图。图11为实施例3中区块高度H时第四平行链的默克尔树结构示意图。图12为实施例3中区块高度H时第五本文档来自技高网...
【技术保护点】
1.一种默克尔树构造方法,其特征在于,适用于主链节点,包括:/n对主链及一个以上平行链及其交易进行排序,根据主链交易排序构造主链子根哈希值;根据平行链交易排序构造平行链子根哈希值;根据主链与一个以上平行链排序,通过主链子根哈希值与一个以上平行链子根哈希值构造默克尔树根值。/n
【技术特征摘要】
1.一种默克尔树构造方法,其特征在于,适用于主链节点,包括:
对主链及一个以上平行链及其交易进行排序,根据主链交易排序构造主链子根哈希值;根据平行链交易排序构造平行链子根哈希值;根据主链与一个以上平行链排序,通过主链子根哈希值与一个以上平行链子根哈希值构造默克尔树根值。
2.根据权利要求1所述的方法,其特征在于,主链子根哈希值、一个以上平行链子根哈希值均缓存在主链节点本地数据库中。
3.根据权利要求1所述的方法,其特征在于,所述对主链及一个以上平行链交易进行排序,进一步为:按照阈值条件对主链及一个以上平行链排序,按照阈值条件对主链交易进行排序,按照阈值条件对平行链交易进行排序。
4.根据权利要求3所述的方法,其特征在于,所述按照阈值条件对主链及一个以上平行链排序包括:按照主链及一个以上平行链名称字母顺序排序。
5.根据权利要求3所述的方法,其特征在于,所述按照阈值条件对主链交易进行排序,按照阈值条件对平行链交易进行排序,包括按照交易时间顺序对主链交易进行排序,按交易时间顺序对平行链交易进行排序。
6.一种区块头构造方法,其特征在于,适用于主链节点,包括:将权利要求1所述的默克尔树根值用于构造区块头。
7.根据权利要求6所述的方法,其特征在于,还包括将一个以上平行链子根哈希值用于构造区块头。
8.一种区块链交易验证方法,其特征在于,适用于平行链节点,包括:
从主链节点获取指定区块高度的交易;从权利要求6所述区块...
【专利技术属性】
技术研发人员:何玉斌,王志文,李斌,曹兢,吴思进,
申请(专利权)人:杭州复杂美科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。