基于阈值签名与双哈希链模式的跨链交易回滚方法及装置转让专利
申请号 : CN202210183321.4
文献号 : CN114240439B
文献日 : 2022-05-13
发明人 : 马兆丰 , 段鹏飞 , 张宇青 , 刘霄
申请人 : 北京邮电大学
摘要 :
权利要求 :
1.一种基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,所述方法包括:
从双哈希链模式的区块链网络中获取当前区块的交易数据、当前区块的第一Merkle树根哈希值以及上一区块的哈希值,并基于获取到的所述当前区块的第一Merkle树根哈希值生成Merkle树根哈希值副本数据,基于获取到的当前区块的交易数据、当前区块的第一Merkle树根哈希值、上一区块的哈希值以及生成的Merkle树根哈希值副本数据生成中继链区块;
获取来自交易回滚提案提交者的交易回滚提案,并提交至中继链的各监管节点;
所述中继链的各监管节点基于接收到的所述交易回滚提案进行验证签名得到第一签名结果,并将第一签名结果发送至所述交易回滚提案提交者;
所述交易回滚提案提交者基于接收到的第一签名结果判断是否满足签名数量条件,在满足所述签名数量条件的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名,并将所述交易回滚提案以及所述第一聚合签名提交至所述中继链的排序节点;
所述排序节点基于接收到的所述第一聚合签名验证是否满足交易回滚条件,在满足所述交易回滚条件的情况下,所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行回滚重构,并将回滚重构后的第二Merkle树根哈希值发送至所述中继链的各监管节点;
所述中继链的各监管节点基于接收到的所述第二Merkle树根哈希值进行验证签名得到第二签名结果,并将所述第二签名结果发送至所述排序节点;
所述排序节点基于接收到的第二签名结果判断是否满足签名数量条件,在满足签名数量条件的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名,并基于上一区块的哈希值、交易回滚重构后的交易数据、Merkle树根哈希值副本数据、第二Merkle树根哈希值以及所述第二聚合签名生成新区块,并向所述中继链广播所述新区块,以完成中继链的交易回滚;
所述排序节点基于所述交易回滚提案对相关应用链进行交易回滚。
2.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,所述交易回滚提案提交者为所述中继链上的节点和/或所述应用链上的节点;所述交易回滚提案包括来源链ID信息、目的链ID信息、跨链交易索引、跨链事件发生时间戳以及交易回滚说明。
3.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,在所述排序节点基于所述交易回滚提案对相关应用链进行交易回滚之前,所述方法还包括:
所述排序节点将所述交易回滚提案及所述第一聚合签名发送至相关应用链。
4.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,所述排序节点基于接收到的所述第一聚合签名验证是否满足交易回滚条件,包括:所述排序节点基于接收到的所述第一聚合签名验证所述第一聚合签名中的第一签名结果的数量是否满足签名数量条件。
5.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,中继链的各所述监管节点进行验证签名时所采用的签名算法为BLS签名算法。
6.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,所述交易回滚提案提交者基于接收到的第一签名结果判断是否满足签名数量条件,在满足所述签名数量条件的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名,包括:所述交易回滚提案提交者获取所述第一签名结果的数量以及所述中继链的监管节点的总数量,并计算所述第一签名结果的数量与所述中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;
在所述比值不小于所述预设值的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名。
7.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,所述排序节点基于接收到的第二签名结果判断是否满足签名数量条件,在满足签名数量条件的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名,包括:
所述排序节点获取所述第二签名结果的数量以及所述中继链的监管节点的总数量,并计算所述第二签名结果的数量与所述中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;
在所述比值不小于所述预设值的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名。
8.根据权利要求1所述的基于阈值签名与双哈希链模式的跨链交易回滚方法,其特征在于,所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行回滚重构,包括:
所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行修改或删除,并根据修改或删除后的交易重新构造Merkle树,基于重新构造的所述Merkle树确定第二Merkle树根哈希值。
9.一种基于阈值签名与双哈希链模式的跨链交易回滚系统,该系统包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至8中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任意一项所述方法的步骤。
说明书 :
基于阈值签名与双哈希链模式的跨链交易回滚方法及装置
技术领域
背景技术
链间的互联互通,进而实现业务与价值的链间流转的目的,区块链对跨链交互技术有了实
际的迫切需求,因此,跨链技术随之产生。总而言之,跨链技术是链接区块链的桥梁和枢纽,
是实现价值互联的关键,是区块链向外拓展并打破区块链形成价值孤岛的有利手段。
同链之间资产的自由流通。跨链技术研究的成果,已经在跨链体系结构、跨链数据协同、跨
链资产流通等方面开展了相关的实践应用,并在分布式交易、数字金融创新等领域取得了
一定的进展。众享比特使用Ripple 提出的跨链价值传输的技术协议InterLedger
Protocol,实现了跨链资产转移;Cosmos建立Tendermint开发框架,推出了Cosmos Hub;
Polkadot使用中继链建立了一个可伸缩的异构多链系统。国内对跨链技术的研究与应用也
投入了大量的人力、物力,提出了广泛先进的科研平台。上海软件中心提出一种跨链公证人
评价模型,对收集到的公证人节点信息进行信用计算,保证跨链系统的安全稳定,同时联合
复旦大学、同济大学、万向区块链等研发了区块链跨链操作系统ChainOSX;趣链科技构建了
支持同构与异构区块链间交易的跨链技术示范平台BitXHub。
减少链路之间通信的安全隐患,适用于链接多个异构或同构区块链。中继链中各节点组成
联盟链,可对跨链交易进行监管与审计。目前,Cosmos、Polkadot与BitXHub都属于侧链中继
模式。
结点、自组织、不可篡改、安全可信的分布式账本系统。当中继链上发生跨链交易异常或跨
链交易存在不良数据时,需对链上跨链交易进行回滚。在传统的区块链系统中,交易的执行
会产生大量的状态数据(如状态数据、账户余额、合约状态等),这些数据在产生后会直接写
入区块链底层数据库,效率较低。而当发生了回滚事件时,必须通过重做日志的方式进行世
界状态的回滚,在回滚的区块数目较大时,需要重做的日志数目也会非常庞大,这种回滚交
易的效率非常低。蔡亮等人提出一种区块链状态数据的存储、回滚方法,通过设置检查点与
检查区间的方式,将第一区块的第一状态数据写入第一预写日志中,当第一区块的第一区
块高度为设置的第一稳定检查点时,将临时数据库中的内容持久化到底层数据库中,大大
提高状态数据的正确性,并在回滚的时候可以不用通过删除磁盘重新计算日志的方式生成
新的状态数据,大大提高回滚的效率。对于诸如加密货币等采用工作量证明作为共识算法
的区块链系统,李伟等人通过人为地设置低于当前哈希碰撞难度的回滚难度值,使得回滚
操作能够快速执行,这样节点就能够在不消耗太多算力的情况下使得分叉链条超过原主
链,可以灵活地对回滚过程进行控制。
的区块中某笔交易需要回滚时,若对其后的所有中继链区块进行删除,这无疑会对其余正
常交易的影响较大,从而无法高效地实现对异常交易的精准回滚。目前鲜有适用于中继跨
链模式下的跨链交易回滚方法,而随着当前区块链应用场景需求日益激增和政府的大力支
持,我国已将区块链作为国家新基建信息基础设施的重要组成部分,跨链技术也必将伴随
着区块链技术的深入探索得到不断创新与发展。因此亟需一种能够精准高效实现跨链交易
回滚的方法。
发明内容
根哈希值生成Merkle树根哈希值副本数据,基于获取到的当前区块的交易数据、当前区块
的第一Merkle树根哈希值、上一区块的哈希值以及生成的Merkle树根哈希值副本数据生成
中继链区块;
结果进行聚合得到第一聚合签名,并将所述交易回滚提案以及所述第一聚合签名提交至所
述中继链的排序节点;
的区块中的交易进行回滚重构,并将回滚重构后的第二Merkle树根哈希值发送至所述中继
链的各监管节点;
名,并基于上一区块的哈希值、交易回滚重构后的交易数据、Merkle树根哈希值副本数据、
第二Merkle树根哈希值以及所述第二聚合签名生成新区块,并向所述中继链广播所述新区
块,以完成中继链的交易回滚;
引、跨链事件发生时间戳以及交易回滚说明,交易回滚说明为对该交易回滚操作的原因描
述。
者将接收到的各第一签名结果进行聚合得到第一聚合签名,包括:
值,并判断所述比值是否小于预设值;
果进行聚合得到第二聚合签名,包括:
述比值是否小于预设值;
树确定第二Merkle树根哈希值。
执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上
任一实施例所述方法的步骤。
减小对块中其余跨链交易的影响程度,同时采用阈值签名作为链上各监管方对交易回滚事
件的可信授权证明,实现跨链交易的合法回滚,不影响回滚块中其余跨链交易。另外,该方
法中对回滚操作的聚合签名能够体现回滚操作的合法性,也即跨链交易的回滚操作是代表
系统意志,符合系统利益的,恶意非法的回滚操作将无法完成。
中得到不断创新与发展。
知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的
结构实现到并获得。
附图说明
了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明
实际制造的示例性装置中的其它部件可能变得更大。在附图中:
具体实施方式
不作为对本发明的限定。
其他细节。
名与双哈希链模式的跨链交易回滚方法。该方法首先由中继链节点或应用链节点提交交易
回滚提案并收集各监管节点的回滚交易签名,将签名聚合后发送给排序节点,排序节点构
造双哈希链模式的新区块,并发往各监管节点对原来的区块进行签名验证,随后调用回滚
交易中各参与应用链中的交易回滚合约,最终实现中继链以及应用链上的跨链交易回滚。
签名进行聚合并提交给排序节点,用于后续对跨链交易回滚提案进行验证。
通过则对其进行私钥签名,并将签名返回给提交者;对排序节点发送的重构块交易Merkle
树哈希值进行私钥签名,并将签名返回给排序节点。
并向中继链网络中的各记账节点发送区块以进行同步;对交易回滚提案提交者发送的聚合
签名与回滚提案进行验证,若验证通过则重构交易Merkle树并将Merkle树的根哈希值发往
监管节点请求签名;将监管节点返回的关于Merkle树的根哈希值的签名进行聚合并将聚合
签名写入区块中,重新发布该区块;根据交易回滚提案,构造并发送面向相关应用链的回滚
交易,来对其中相关资产进行回滚操作,从而实现应用链上的交易回滚。
案;聚合监管节点返回的签名并连同交易回滚提案发送给排序节点请求区块重构。
~
Merkle树根哈希值生成Merkle树根哈希值副本数据,基于获取到的当前区块的交易数据、
当前区块的第一Merkle树根哈希值、上一区块的哈希值以及生成的Merkle树根哈希值副本
数据生成中继链区块。
为前一区块哈希值,curdatai为当前区块交易数据,merklerooti为当前区块交易的第一
Merkle树根哈希值,merklerootbki是当前区块交易的第一Merkle树根哈希值的副本,且该
副本在区块生成后就不再变化。
双哈希链模式在区块Bi中增加了一个字段merklerootbki,用以作为存储当前区块交易
Merkle树根哈希值merklerooti的一个副本,且区块生成后merklerootbki就不再变化。
而由于Bi中的Merkle根哈希值的副本merklerootbki保持不变,因此由merklerootbki形成
的第二条哈希链将仍然成立。
戳timestamp以及交易回滚说明rollback proof。此处的交易回滚说明rollback proof是
指对交易回滚操作的原因描述;交易回滚提案中的上述字段被监管节点用来索引具体中继
链区块及跨链交易,从而检验交易回滚提案的有效性与合理性。
名算法为BLS签名算法,不难理解的,此处具体的列举BLS签名算法仅是一种示例,在该步骤
中除采用BLS签名算法之外,也可以采用其他签名算法。
和双线性映射函数。
256
所使用的椭圆曲线有2 个点,而SHA‑256哈希算法的值也恰好是256位,因此可将得到的哈
希值作为点的x值来寻找椭圆曲线上的对应点。对消息求哈希时,为确保能在曲线上找到对
应的点,可在消息体后附加一个数,若对应点寻找失败则累加该数并重新计算。即如果对消
息m的哈希值hash(m||0)没有找到对应点,则持续尝试hash(m||1),hash(m||2)等。
;
第一签名结果进行聚合得到第一聚合签名,并将所述交易回滚提案以及所述第一聚合签名
提交至所述中继链的排序节点。
交易回滚提案与聚合签名aggresig1。
签名结果进行聚合得到第一聚合签名,包括:所述交易回滚提案提交者获取所述第一签名
结果的数量以及所述中继链的监管节点的总数量,并计算所述第一签名结果的数量与所述
中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;在所述比值不小于
所述预设值的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到
第一聚合签名。其中,预设值可为预先设置的小于1的数值,例如五分之三,而若第一签名结
果的数量与所述中继链的监管节点的总数量的比值大于或等于五分之三的情况下,则视为
满足签名数量条件。
安全协议的基础工具之一,在身份认证,防伪防抵赖等方面有着广泛的用途;其本质是m‑
of‑n的签名方式,在知道m个签名的条件下,可以合成唯一一个合法的签名,即任意m个签名
片段的组合都是同一个可验证的签名。探究其数学原理,就是利用m个变量的多项式方程在
m个条件下可解;如果系统中有n>m个条件,任意m个条件都可以得出一个唯一确定的解,若
小于m个条件就不可解。阈值签名的主要流程如下:
点拥有n个共享私钥。以监管节点a为例:
参与者。
全,因此使用BLS签名,可使得节点无需收集私钥片段,只需收集各节点公布的签名信息即
可。
各监管节点对交易s的公开签名如表2所示。
管节点b对各监管节点生成的共享私钥;fc(1)、fc(2)、fc(3)分别指监管节点c对各监管节点
生成的共享私钥。
,节点2的签名片段
。
含回滚交易的区块中的交易进行回滚重构,并将回滚重构后的第二Merkle树根哈希值发送
至所述中继链的各监管节点。
树的根哈希值merklerooti’发送给各监管节点请求签名。其中交易回滚条件指监管节点对
交易回滚提案中的回滚交易签名满足m‑n多重签名方案;即在本发明的一些实施例中,所述
排序节点基于接收到的所述第一聚合签名验证所述第一聚合签名中的第一签名结果的数
量是否满足签名数量条件。排序节点对包含回滚交易的区块中的交易进行回滚重构指排序
节点根据交易回滚提案对回滚交易进行修改或删除,随后对区块中的交易重新构造Merkle
树并获得新的根哈希值merklerooti’作为第二Merkle树根哈希值。
此前请求更新的请求者将发起链上验证者的共识投票过程,若超过一定比例的验证者同意
修改,则区块Bi将被替换为Bi’,原区块Bi将被移除。完成更新后,由于区块Bi’中的数据
curdatai变化为curdatai’,因此虚线所示的哈希链路被破坏,而由merklerootbki形成的实
线哈希链路仍然成立,从而保证了单条区块链的哈希链路完整性。由此可知,在后续共识过
程中,区块数据将按照正常流程进行验证,若出现相邻区块的虚线链接失效,则检查第二条
使用merklerootbki字段的实线链接是否有效,如果有效则表示该区块曾被修改过,否则表
示该区块发生了未经授权的篡改。
二聚合签名,并基于上一区块的哈希值、交易回滚重构后的交易数据、Merkle树根哈希值副
本数据、第二Merkle树根哈希值以及所述第二聚合签名生成新区块,并向所述中继链广播
所述新区块,以完成中继链的交易回滚。
合得到第二聚合签名,包括:所述排序节点获取所述第二签名结果的数量以及所述中继链
的监管节点的总数量,并计算所述第二签名结果的数量与所述中继链的监管节点的总数量
的比值,并判断所述比值是否小于预设值;在所述比值不小于所述预设值的情况下,所述排
序节点将接收到的各第二签名结果进行聚合得到第二聚合签名。此处的预设值也可为预先
设定的小于1的数值。
。随后向
中继链广播新区块,从而完成中继链上交易回滚。其中,签名数量条件指签名数量应满足m‑
n多重签名方案,即假设中继链中存在n个监管节点,排序节点收集的签名数量应至少为m
个;在本步骤中,聚合签名aggresig2的作用是向各记账节点表明该区块中交易回滚的合法
性,即提供可信交易回滚授权证明。
易外,排序节点还将交易回滚提案与聚合签名aggresig1一并发送给相关应用链,以此来表
明交易回滚操作的权威性与可信性。即在排序节点基于所述交易回滚提案对相关应用链进
行交易回滚之前,排序节点还将所述交易回滚提案及所述第一聚合签名发送至相关应用
链。
存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施
例所述方法的步骤。
其余跨链交易的影响程度,并解决了现有中继模式跨链场景中,中继链上跨链交易回滚困
难且回滚代价大的问题。解决了跨链交易回滚事件中缺少监管方可信回滚授权证明的问
题,将各监管方形成的阈值签名记录在回滚区块中,便于跨链交易回滚事务的事后审计,使
得跨链交易回滚结果真实可信。
滚事件的可信授权证明,实现跨链交易的合法回滚,不影响回滚块中其余跨链交易。其安全
性体现在回滚操作的合法性,也即跨链交易的回滚操作是代表系统意志,符合系统利益的,
恶意非法的回滚操作无法完成。
是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每
个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的
范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插
件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代
码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传
输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。
机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软
盘、CD‑ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联
网等的计算机网络被下载。
提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
实施方式的特征。
任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。