CN114240439A - 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 - Google Patents
基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 Download PDFInfo
- Publication number
- CN114240439A CN114240439A CN202210183321.4A CN202210183321A CN114240439A CN 114240439 A CN114240439 A CN 114240439A CN 202210183321 A CN202210183321 A CN 202210183321A CN 114240439 A CN114240439 A CN 114240439A
- Authority
- CN
- China
- Prior art keywords
- signature
- chain
- transaction
- rollback
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于阈值签名与双哈希链模式的跨链交易回滚方法及装置,该方法包括:生成中继链区块;将交易回滚提案提交至中继链的各监管节点;各监管节点进行验证签名,将第一签名结果发送至交易回滚提案提交者;判断是否满足签名数量条件,若满足,得到第一聚合签名,将交易回滚提案及第一聚合签名提交至中继链的排序节点;若第一聚合签名满足交易回滚条件,则对相关区块中的交易进行回滚重构,将回滚重构后的第二Merkle树根哈希值发送至各监管节点;各监管节点基于第二Merkle树根哈希值进行验证签名,将第二签名结果发送至排序节点;若第二签名结果满足签名数量条件,得到第二聚合签名,并生成新区块,向中继链广播新区块;对相关应用链进行交易回滚。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于阈值签名与双哈希链模式的跨链交易回滚方法及装置。
背景技术
随着区块链网络的迅猛发展,各种区块链项目之间的融合需求日益增长,区块链技术对跨链交互的诉求越来越突出。为了实现不同行业区块链项目的有机融合,达到区块链间的互联互通,进而实现业务与价值的链间流转的目的,区块链对跨链交互技术有了实际的迫切需求,因此,跨链技术随之产生。总而言之,跨链技术是链接区块链的桥梁和枢纽,是实现价值互联的关键,是区块链向外拓展并打破区块链形成价值孤岛的有利手段。
目前主流的跨链机制有公证人机制、侧链/中继、哈希锁定、分布式私钥控制、公证人+侧链混合机制等,以上核心技术均在不同程度上解决了区块链跨链交互问题,实现了不同链之间资产的自由流通。跨链技术研究的成果,已经在跨链体系结构、跨链数据协同、跨链资产流通等方面开展了相关的实践应用,并在分布式交易、数字金融创新等领域取得了一定的进展。众享比特使用Ripple 提出的跨链价值传输的技术协议InterLedgerProtocol,实现了跨链资产转移;Cosmos建立Tendermint开发框架,推出了Cosmos Hub;Polkadot使用中继链建立了一个可伸缩的异构多链系统。国内对跨链技术的研究与应用也投入了大量的人力、物力,提出了广泛先进的科研平台。上海软件中心提出一种跨链公证人评价模型,对收集到的公证人节点信息进行信用计算,保证跨链系统的安全稳定,同时联合复旦大学、同济大学、万向区块链等研发了区块链跨链操作系统ChainOSX;趣链科技构建了支持同构与异构区块链间交易的跨链技术示范平台BitXHub。
中继是一种能够自行检验交易数据且具有可扩展性的跨链技术,作为跨链操作层,中继链通过收集应用链之间的数据状态进行自我验证,负责跨链消息的验证与转发,可减少链路之间通信的安全隐患,适用于链接多个异构或同构区块链。中继链中各节点组成联盟链,可对跨链交易进行监管与审计。目前,Cosmos、Polkadot与BitXHub都属于侧链中继模式。
区块链是一种不可篡改的分布式账本,是以密码学算法为基础,基于特定的共识机制,通过构建以块为单位的时序化的链式数据结构,采用P2P网络进行数据同步的一种多结点、自组织、不可篡改、安全可信的分布式账本系统。当中继链上发生跨链交易异常或跨链交易存在不良数据时,需对链上跨链交易进行回滚。在传统的区块链系统中,交易的执行会产生大量的状态数据(如状态数据、账户余额、合约状态等),这些数据在产生后会直接写入区块链底层数据库,效率较低。而当发生了回滚事件时,必须通过重做日志的方式进行世界状态的回滚,在回滚的区块数目较大时,需要重做的日志数目也会非常庞大,这种回滚交易的效率非常低。蔡亮等人提出一种区块链状态数据的存储、回滚方法,通过设置检查点与检查区间的方式,将第一区块的第一状态数据写入第一预写日志中,当第一区块的第一区块高度为设置的第一稳定检查点时,将临时数据库中的内容持久化到底层数据库中,大大提高状态数据的正确性,并在回滚的时候可以不用通过删除磁盘重新计算日志的方式生成新的状态数据,大大提高回滚的效率。对于诸如比特币、以太坊等采用工作量证明作为共识算法的区块链系统,李伟等人通过人为地设置低于当前挖矿难度的回滚难度值,使得回滚操作能够快速执行,这样节点就能够在不消耗太多算力的情况下使得分叉链条超过原主链,可以灵活地对回滚过程进行控制。
然而,上述区块链交易回滚方式是以区块粒度进行的交易回滚。在采用中继模式的跨链场景中,应用链间的所有跨链交易均由中继链进行验证、转发及存储;当某区块高度的区块中某笔交易需要回滚时,若对其后的所有中继链区块进行删除,这无疑会对其余正常交易的影响较大,从而无法高效地实现对异常交易的精准回滚。目前鲜有适用于中继跨链模式下的跨链交易回滚方法,而随着当前区块链应用场景需求日益激增和政府的大力支持,我国已将区块链作为国家新基建信息基础设施的重要组成部分,跨链技术也必将伴随着区块链技术的深入探索得到不断创新与发展。因此亟需一种能够精准高效实现跨链交易回滚的方法。
发明内容
有鉴于此,本发明提供了一种基于阈值签名与双哈希链模式的跨链交易回滚方法及装置,以解决现有技术中存在的一个或多个问题。
根据本发明的一个方面,本发明公开了一种基于阈值签名与双哈希链模式的跨链交易回滚方法,所述方法包括:
从双哈希链模式的区块链网络中获取当前区块的交易数据、当前区块的第一Merkle树根哈希值以及上一区块的哈希值,并基于获取到的所述当前区块的第一Merkle树根哈希值生成Merkle树根哈希值副本数据,基于获取到的当前区块的交易数据、当前区块的第一Merkle树根哈希值、上一区块的哈希值以及生成的Merkle树根哈希值副本数据生成中继链区块;
获取来自交易回滚提案提交者的交易回滚提案,并提交至中继链的各监管节点;
所述中继链的各监管节点基于接收到的所述交易回滚提案进行验证签名得到第一签名结果,并将第一签名结果发送至所述交易回滚提案提交者;
所述交易回滚提案提交者基于接收到的第一签名结果判断是否满足签名数量条件,在满足所述签名数量条件的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名,并将所述交易回滚提案以及所述第一聚合签名提交至所述中继链的排序节点;
所述排序节点基于接收到的所述第一聚合签名验证是否满足交易回滚条件,在满足所述交易回滚条件的情况下,所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行回滚重构,并将回滚重构后的第二Merkle树根哈希值发送至所述中继链的各监管节点;
所述中继链的各监管节点基于接收到的所述第二Merkle树根哈希值进行验证签名得到第二签名结果,并将所述第二签名结果发送至所述排序节点;
所述排序节点基于接收到的第二签名结果判断是否满足签名数量条件,在满足签名数量条件的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名,并基于上一区块的哈希值、交易回滚重构后的交易数据、Merkle树根哈希值副本数据、第二Merkle树根哈希值以及所述第二聚合签名生成新区块,并向所述中继链广播所述新区块,以完成中继链的交易回滚;
所述排序节点基于所述交易回滚提案对相关应用链进行交易回滚。
在本发明的一些实施例中,所述交易回滚提案提交者为所述中继链上的节点和/或所述应用链上的节点;所述交易回滚提案包括来源链ID信息、目的链ID信息、跨链交易索引、跨链事件发生时间戳以及交易回滚说明,交易回滚说明为对该交易回滚操作的原因描述。
在本发明的一些实施例中,在所述排序节点基于所述交易回滚提案对相关应用链进行交易回滚之前,所述方法还包括:
所述排序节点将所述交易回滚提案及所述第一聚合签名发送至相关应用链。
在本发明的一些实施例中,所述排序节点基于接收到的所述第一聚合签名验证是否满足交易回滚条件,包括:
所述排序节点基于接收到的所述第一聚合签名验证所述第一聚合签名中的第一签名结果的数量是否满足签名数量条件。
在本发明的一些实施例中,中继链的各所述监管节点进行验证签名时所采用的签名算法为BLS签名算法。
在本发明的一些实施例中,所述交易回滚提案提交者基于接收到的第一签名结果判断是否满足签名数量条件,在满足所述签名数量条件的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名,包括:
所述交易回滚提案提交者获取所述第一签名结果的数量以及所述中继链的监管节点的总数量,并计算所述第一签名结果的数量与所述中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;
在所述比值不小于所述预设值的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名。
在本发明的一些实施例中,所述排序节点基于接收到的第二签名结果判断是否满足签名数量条件,在满足签名数量条件的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名,包括:
所述排序节点获取所述第二签名结果的数量以及所述中继链的监管节点的总数量,并计算所述第二签名结果的数量与所述中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;
在所述比值不小于所述预设值的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名。
在本发明的一些实施例中,所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行回滚重构,包括:
所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行修改或删除,并根据修改或删除后的交易重新构造Merkle树,基于重新构造的所述Merkle树确定第二Merkle树根哈希值。
根据本发明的另一方面,还公开了一种基于阈值签名与双哈希链模式的跨链交易回滚系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施例所述方法的步骤。
根据本发明的又一方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
该基于阈值签名与双哈希链模式的跨链交易回滚方法,采用双哈希链模式的中继链区块结构,能够实现交易粒度的交易回滚,并能够对中继链上的跨链交易实现精准回滚,减小对块中其余跨链交易的影响程度,同时采用阈值签名作为链上各监管方对交易回滚事件的可信授权证明,实现跨链交易的合法回滚,不影响回滚块中其余跨链交易。另外,该方法中对回滚操作的聚合签名能够体现回滚操作的合法性,也即跨链交易的回滚操作是代表系统意志,符合系统利益的,恶意非法的回滚操作将无法完成。
另外,通过实现对跨链交易的精准有效回滚操作,监管方或权威机构能够对跨链场景中的跨链交易进行有效审计与治理,进而能够推动跨链技术在区块链技术的深入探索中得到不断创新与发展。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本发明一实施例的基于阈值签名与双哈希链模式的跨链交易回滚方法的流程示意图。
图2为本发明一实施例的实施跨链交易回滚的操作示意图。
图3为本发明一实施例的基于双哈希链模式的可修改区块链的模型参考图。
图4为本发明一实施例的基于阈值签名与双哈希链模式的跨链交易回滚方法的时序示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在此,需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含/具有”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
为了解决现有中继模式跨链场景中,中继链上跨链交易回滚困难且回滚代价大,以及交易回滚事件中缺少监管方可信回滚授权证明的问题,本发明提供了一种基于阈值签名与双哈希链模式的跨链交易回滚方法。该方法首先由中继链节点或应用链节点提交交易回滚提案并收集各监管节点的回滚交易签名,将签名聚合后发送给排序节点,排序节点构造双哈希链模式的新区块,并发往各监管节点对原来的区块进行签名验证,随后调用回滚交易中各参与应用链中的交易回滚合约,最终实现中继链以及应用链上的跨链交易回滚。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
该方法所涉及的角色主要包括以下四类:交易回滚提案提交者、监管节点、排序节点及应用链。
交易回滚提案提交者对跨链交易进行审计并能够对异常交易提出交易回滚请求,向中继链上的监管节点及排序节点提出跨链交易回滚提案,能够对各监管节点返回的交易签名进行聚合并提交给排序节点,用于后续对跨链交易回滚提案进行验证。
监管节点是中继跨链场景中部署于中继链上的节点,承担监管者的角色,对跨链交易进行治理授权;对交易回滚提案提交者发送的提案合法性及有效性进行检验,若检验通过则对其进行私钥签名,并将签名返回给提交者;对排序节点发送的重构块交易Merkle树哈希值进行私钥签名,并将签名返回给排序节点。
排序节点是中继跨链场景中部署于中继链上提供跨链交易共识服务的节点,中继跨链系统中的所有跨链交易都会在排序节点中进行排序,然后根据一定的规则生成区块,并向中继链网络中的各记账节点发送区块以进行同步;对交易回滚提案提交者发送的聚合签名与回滚提案进行验证,若验证通过则重构交易Merkle树并将Merkle树的根哈希值发往监管节点请求签名;将监管节点返回的关于Merkle树的根哈希值的签名进行聚合并将聚合签名写入区块中,重新发布该区块;根据交易回滚提案,构造并发送面向相关应用链的回滚交易,来对其中相关资产进行回滚操作,从而实现应用链上的交易回滚。
应用链是中继跨链场景中连接到中继链的区块链网络实体,负责承载不同应用场景下的具体应用的业务合约逻辑;对涉及本应用链的跨链交易向监管节点提出交易回滚提案;聚合监管节点返回的签名并连同交易回滚提案发送给排序节点请求区块重构。
图1为本发明一实施例的基于阈值签名与双哈希链模式的跨链交易回滚方法的流程示意图,如图1所示,该交易回滚方法包括步骤S10~S80。
步骤S10:从双哈希链模式的区块链网络中获取当前区块的交易数据、当前区块的第一Merkle树根哈希值以及上一区块的哈希值,并基于获取到的所述当前区块的第一Merkle树根哈希值生成Merkle树根哈希值副本数据,基于获取到的当前区块的交易数据、当前区块的第一Merkle树根哈希值、上一区块的哈希值以及生成的Merkle树根哈希值副本数据生成中继链区块。
在该步骤中,中继链采用双哈希链模式,即中继链区块B i 可被记为: ,其中,prehash i 为前一区块哈希值,curdata i 为当前区块交易数据,merkleroot i 为当前区块交易的第一Merkle树根哈希值,merklerootbk i 是当前区块交易的第一Merkle树根哈希值的副本,且该副本在区块生成后就不再变化。
其中,双哈希链模式仍然保留单条区块链,但通过扩展区块结构、使得相邻两个区块之间保留两条哈希链接,从而形成两条哈希链路(参考图3),故名双哈希链模式。技术上,双哈希链模式在区块B i 中增加了一个字段merklerootbk i ,用以作为存储当前区块交易Merkle树根哈希值merkleroot i 的一个副本,且区块生成后merklerootbk i 就不再变化。
进一步的,若当中继链区块B i 中的交易数据curdata i 被修改后,则生成的新区块记为B i ’, B i ’的Merkle树根哈希值将会发生变化,从而破坏了区块之间哈希链路的链接性;然而由于B i 中的Merkle根哈希值的副本merklerootbk i 保持不变,因此由merklerootbk i 形成的第二条哈希链将仍然成立。
步骤S20:获取来自交易回滚提案提交者的交易回滚提案,并提交至中继链的各监管节点。
所述交易回滚提案提交者为所述中继链上的节点和/或所述应用链上的节点,且交易回滚提案包括来源链ID信息、目的链ID信息、跨链交易索引index、跨链事件发生时间戳timestamp以及交易回滚说明rollback proof。此处的交易回滚说明rollback proof是指对交易回滚操作的原因描述;交易回滚提案中的上述字段被监管节点用来索引具体中继链区块及跨链交易,从而检验交易回滚提案的有效性与合理性。
步骤S30:所述中继链的各监管节点基于接收到的所述交易回滚提案进行验证签名得到第一签名结果,并将第一签名结果发送至所述交易回滚提案提交者。
在该步骤中,如图2所示,由中继链的监管节点对交易回滚提案进行验证并签名,并随后将签名发送给交易回滚提案提交者。其中所述监管节点进行验证签名时所采用的签名算法为BLS签名算法,不难理解的,此处具体的列举BLS签名算法仅是一种示例,在该步骤中除采用BLS签名算法之外,也可以采用其他签名算法。
具体的,BLS签名算法是一种可以实现签名聚合与密钥聚合的算法(即可以将多个密钥聚合成一把密钥,将多个签名聚合成一个签名),其基于的数学原理主要包括曲线哈希和双线性映射函数。
例如,在ECDSA签名算法和Schnorr签名算法中,对消息进行哈希计算后,哈希值结果是数字;而BLS签名算法则是将哈希值结果对应到椭圆曲线上的一个点。例如,比特币所使用的椭圆曲线有2256个点,而SHA-256哈希算法的值也恰好是256位,因此可将得到的哈希值作为点的x值来寻找椭圆曲线上的对应点。对消息求哈希时,为确保能在曲线上找到对应的点,可在消息体后附加一个数,若对应点寻找失败则累加该数并重新计算。即如果对消息m的哈希值hash(m||0)没有找到对应点,则持续尝试hash(m||1),hash(m||2)等。
假设pk代表私钥,P(P=pk*G)代表公钥,G为椭圆曲线的生成点,m代表要签名的信息,则BLS签名方案如下:
签名阶段:先对消息m求曲线哈希hash(m),再将获得的结果(曲线坐标点)乘以私钥pk即可,得签名S=pk*hash(m)。
步骤S40:所述交易回滚提案提交者基于接收到的第一签名结果判断是否满足签名数量条件,在满足所述签名数量条件的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名,并将所述交易回滚提案以及所述第一聚合签名提交至所述中继链的排序节点。
在该步骤中,交易回滚提案提交者收集各监管节点返回的回滚交易签名,待满足签名数量条件时,将签名进行聚合得到聚合签名aggresig 1,并向中继链中的排序节点提交交易回滚提案与聚合签名aggresig 1。
示例性的,交易回滚提案提交者基于接收到的第一签名结果判断是否满足签名数量条件,在满足所述签名数量条件的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名,包括:所述交易回滚提案提交者获取所述第一签名结果的数量以及所述中继链的监管节点的总数量,并计算所述第一签名结果的数量与所述中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;在所述比值不小于所述预设值的情况下,所述交易回滚提案提交者将接收到的各第一签名结果进行聚合得到第一聚合签名。其中,预设值可为预先设置的小于1的数值,例如五分之三,而若第一签名结果的数量与所述中继链的监管节点的总数量的比值大于或等于五分之三的情况下,则视为满足签名数量条件。
具体的,签名数量条件指签名数量应满足m-n阈值签名方案,即假设中继链中共存在n个监管节点,交易回滚提交者收集的签名数量应至少为m个。阈值签名协议是多方信息安全协议的基础工具之一,在身份认证,防伪防抵赖等方面有着广泛的用途;其本质是m-of-n的签名方式,在知道m个签名的条件下,可以合成唯一一个合法的签名,即任意m个签名片段的组合都是同一个可验证的签名。探究其数学原理,就是利用m个变量的多项式方程在m个条件下可解;如果系统中有n>m个条件,任意m个条件都可以得出一个唯一确定的解,若小于m个条件就不可解。阈值签名的主要流程如下:
(1)每个监管节点生成一组私钥,即m阶多项式的参数:
(2)每个监管节点对其他监管节点x=1,2,…,n生成多个多项式的值(比如使用监管节点的编号),生成后使用非对称公钥加密后传递给相对应的监管节点,使得每个监管节点拥有n个共享私钥。以监管节点a为例:
(4)每个监管节点可验证收到的f r (x)是否正确,以节点a为例,验证方法为:
(5)若所有监管节点的验证无误,则每个监管节点达成一致,在本地获得的密钥信息如表1所示。其中,共享私钥也称为成员密钥,以证明监管节点是阈值签名系统中的合法参与者。
表1节点本地密钥信息表
基于上述流程,某节点收集私钥片段只需大于m个,即可创建一个聚合私钥(m-of- n)来对系统中需要多方控制的事务进行签名授权。但私钥片段的共享会极大威胁系统安全,因此使用BLS签名,可使得节点无需收集私钥片段,只需收集各节点公布的签名信息即可。
采用BLS签名算法的阈值签名协议具体的做法如下:
(1)首先每个监管节点对于交易s计算其曲线哈希hash(s)。
表2各节点公开签名信息表
在表2中的分别指各监管节点的私钥;g指椭圆曲线生成元; f a (1)、f a (2)、f a (3)分别指监管节点a对各监管节点生成的共享私钥;f b (1)、f b (2)、f b (3)分别指监管节点b对各监管节点生成的共享私钥;f c (1)、f c (2)、f c (3)分别指监管节点c对各监管节点生成的共享私钥。
由于:
可得到:
进而通过对两节点签名片段进行签名聚合,可得出交易s的全局签名sig,即:
通过上述方法,则可采用BLS签名算法的阈值签名协议得出全局签名sig作为聚合签名aggresig 1。
步骤S50:所述排序节点基于接收到的所述第一聚合签名验证是否满足交易回滚条件,在满足所述交易回滚条件的情况下,所述排序节点基于接收到的交易回滚提案对包含回滚交易的区块中的交易进行回滚重构,并将回滚重构后的第二Merkle树根哈希值发送至所述中继链的各监管节点。
在该步骤中,中继链中的排序节点对步骤S40中的聚合签名aggresig 1进行验证,若满足交易回滚条件,则对包含回滚交易的区块中的交易进行回滚重构,随后将新Merkle树的根哈希值merkleroot i ’发送给各监管节点请求签名。其中交易回滚条件指监管节点对交易回滚提案中的回滚交易签名满足m-n多重签名方案;即在本发明的一些实施例中,所述排序节点基于接收到的所述第一聚合签名验证所述第一聚合签名中的第一签名结果的数量是否满足签名数量条件。排序节点对包含回滚交易的区块中的交易进行回滚重构指排序节点根据交易回滚提案对回滚交易进行修改或删除,随后对区块中的交易重新构造Merkle树并获得新的根哈希值merkleroot i ’作为第二Merkle树根哈希值。
经过该步骤后,则中继链区块B i 被修改并替换为B i ’,B i ’可表示为 。参考图3,此前请求更新的请求者将发起链上验证者的共识投票过程,若超过一定比例的验证者同意修改,则区块B i 将被替换为B i ’,原区块B i 将被移除。完成更新后,由于区块B i ’中的数据curdata i 变化为curdata i ’,因此虚线所示的哈希链路被破坏,而由merklerootbk i 形成的实线哈希链路仍然成立,从而保证了单条区块链的哈希链路完整性。由此可知,在后续共识过程中,区块数据将按照正常流程进行验证,若出现相邻区块的虚线链接失效,则检查第二条使用merklerootbk i 字段的实线链接是否有效,如果有效则表示该区块曾被修改过,否则表示该区块发生了未经授权的篡改。
步骤S60:所述中继链的各监管节点基于接收到的所述第二Merkle树根哈希值进行验证签名得到第二签名结果,并将所述第二签名结果发送至所述排序节点。
在该步骤中,由监管节点对步骤S50中的新Merkle树根哈希值merkleroot i ’进行签名,随后发送给排序节点。各监管节点所采用的签名算法仍然可为BLS签名算法。
步骤S70:所述排序节点基于接收到的第二签名结果判断是否满足签名数量条件,在满足签名数量条件的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名,并基于上一区块的哈希值、交易回滚重构后的交易数据、Merkle树根哈希值副本数据、第二Merkle树根哈希值以及所述第二聚合签名生成新区块,并向所述中继链广播所述新区块,以完成中继链的交易回滚。
在本发明一实施例中,排序节点基于接收到的第二签名结果判断是否满足签名数量条件,在满足签名数量条件的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名,包括:所述排序节点获取所述第二签名结果的数量以及所述中继链的监管节点的总数量,并计算所述第二签名结果的数量与所述中继链的监管节点的总数量的比值,并判断所述比值是否小于预设值;在所述比值不小于所述预设值的情况下,所述排序节点将接收到的各第二签名结果进行聚合得到第二聚合签名。此处的预设值也可为预先设定的小于1的数值。
在该步骤中,排序节点收集各监管节点返回的交易签名,待满足签名数量条件时,将签名聚合得到aggresig 2,并将aggresig 2加入到新区块B i ’中,即此时新区块 。随后向中继链广播新区块,从而完成中继链上交易回滚。其中,签名数量条件指签名数量应满足m-n多重签名方案,即假设中继链中存在n个监管节点,排序节点收集的签名数量应至少为m个;在本步骤中,聚合签名aggresig 2的作用是向各记账节点表明该区块中交易回滚的合法性,即提供可信交易回滚授权证明。
步骤S80:所述排序节点基于所述交易回滚提案对相关应用链进行交易回滚。
排序节点根据交易回滚提案,构造面向相关应用链的回滚交易,来对其中相关资产进行回滚操作,从而实现应用链上的交易回滚(参考图4)。在本步骤中,除构造的回滚交易外,排序节点还将交易回滚提案与聚合签名aggresig 1一并发送给相关应用链,以此来表明交易回滚操作的权威性与可信性。即在排序节点基于所述交易回滚提案对相关应用链进行交易回滚之前,排序节点还将所述交易回滚提案及所述第一聚合签名发送至相关应用链。
对应的,本发明还公开了一种基于阈值签名与双哈希链模式的跨链交易回滚系统,该系统包括处理器和存储器,所述存储器存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施例所述方法的步骤。
另外,该发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
通过上述实施例可以发现,本发明的基于阈值签名与双哈希链模式的跨链交易回滚方法及系统采用双哈希链模式的中继链区块结构,实现交易粒度回滚,从而减小对块中其余跨链交易的影响程度,并解决了现有中继模式跨链场景中,中继链上跨链交易回滚困难且回滚代价大的问题。解决了跨链交易回滚事件中缺少监管方可信回滚授权证明的问题,将各监管方形成的阈值签名记录在回滚区块中,便于跨链交易回滚事务的事后审计,使得跨链交易回滚结果真实可信。
并且,本发明采用双哈希链模式的中继链区块结构,能够实现交易粒度的交易回滚,减小对块中其余跨链交易的影响程度,同时采用阈值签名作为链上各监管方对交易回滚事件的可信授权证明,实现跨链交易的合法回滚,不影响回滚块中其余跨链交易。其安全性体现在回滚操作的合法性,也即跨链交易的回滚操作是代表系统意志,符合系统利益的,恶意非法的回滚操作无法完成。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
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中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210183321.4A CN114240439B (zh) | 2022-02-28 | 2022-02-28 | 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210183321.4A CN114240439B (zh) | 2022-02-28 | 2022-02-28 | 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114240439A true CN114240439A (zh) | 2022-03-25 |
CN114240439B CN114240439B (zh) | 2022-05-13 |
Family
ID=80748193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210183321.4A Active CN114240439B (zh) | 2022-02-28 | 2022-02-28 | 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114240439B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844904A (zh) * | 2022-04-29 | 2022-08-02 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的系统及方法 |
CN116028989A (zh) * | 2023-03-27 | 2023-04-28 | 北京笔新互联网科技有限公司 | 区块链验证方法及装置 |
CN116861390A (zh) * | 2023-08-09 | 2023-10-10 | 之江实验室 | 基于聚合签名的跨区块链批量交易认证方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018149504A1 (en) * | 2017-02-17 | 2018-08-23 | Nokia Technologies Oy | Changing smart contracts recorded in block chains |
CN111258986A (zh) * | 2020-01-17 | 2020-06-09 | 杭州龙纪科技有限公司 | 一种区块链的回滚方法 |
CN112581128A (zh) * | 2020-12-10 | 2021-03-30 | 浙商银行股份有限公司 | 一种具有存在证明的异构许可链价值交换方法 |
CN112633893A (zh) * | 2020-12-28 | 2021-04-09 | 杭州趣链科技有限公司 | 一种区块链的回滚方法及电子设备 |
CN113064759A (zh) * | 2021-04-02 | 2021-07-02 | 浙江永旗区块链科技有限公司 | 一种区块链数据回滚处理方法及其处理系统 |
CN113163011A (zh) * | 2021-04-21 | 2021-07-23 | 深圳壹账通智能科技有限公司 | 区块链中修改数据的方法、系统、设备及存储介质 |
CN113965329A (zh) * | 2021-10-25 | 2022-01-21 | 浙江师范大学 | 一种跨链互操作系统、方法、介质及数据处理终端 |
-
2022
- 2022-02-28 CN CN202210183321.4A patent/CN114240439B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018149504A1 (en) * | 2017-02-17 | 2018-08-23 | Nokia Technologies Oy | Changing smart contracts recorded in block chains |
CN111258986A (zh) * | 2020-01-17 | 2020-06-09 | 杭州龙纪科技有限公司 | 一种区块链的回滚方法 |
CN112581128A (zh) * | 2020-12-10 | 2021-03-30 | 浙商银行股份有限公司 | 一种具有存在证明的异构许可链价值交换方法 |
CN112633893A (zh) * | 2020-12-28 | 2021-04-09 | 杭州趣链科技有限公司 | 一种区块链的回滚方法及电子设备 |
CN113064759A (zh) * | 2021-04-02 | 2021-07-02 | 浙江永旗区块链科技有限公司 | 一种区块链数据回滚处理方法及其处理系统 |
CN113163011A (zh) * | 2021-04-21 | 2021-07-23 | 深圳壹账通智能科技有限公司 | 区块链中修改数据的方法、系统、设备及存储介质 |
CN113965329A (zh) * | 2021-10-25 | 2022-01-21 | 浙江师范大学 | 一种跨链互操作系统、方法、介质及数据处理终端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844904A (zh) * | 2022-04-29 | 2022-08-02 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的系统及方法 |
CN114844904B (zh) * | 2022-04-29 | 2024-03-29 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的系统及方法 |
CN116028989A (zh) * | 2023-03-27 | 2023-04-28 | 北京笔新互联网科技有限公司 | 区块链验证方法及装置 |
CN116861390A (zh) * | 2023-08-09 | 2023-10-10 | 之江实验室 | 基于聚合签名的跨区块链批量交易认证方法和装置 |
CN116861390B (zh) * | 2023-08-09 | 2024-03-22 | 之江实验室 | 基于聚合签名的跨区块链批量交易认证方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114240439B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114240439B (zh) | 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 | |
Li et al. | FADB: A fine-grained access control scheme for VANET data based on blockchain | |
CN109691008B (zh) | 网络拓扑 | |
CN111445334B (zh) | 一种区块链系统的聚合签名方法、装置及存储介质 | |
US11943237B2 (en) | Malicious peer identification for database block sequence | |
US11949691B2 (en) | Malicious peer identification | |
JP2021512569A (ja) | ブロックチェーンのデータ処理方法、管理側、クライアント側、変換装置及び媒体 | |
JP7499852B2 (ja) | 許可型ブロックチェーンのためのランダムなノード選択 | |
WO2020259156A1 (zh) | 一种区块链的私密交易方法及装置 | |
US11387979B2 (en) | Partially-ordered blockchain | |
JP2022549581A (ja) | Dag構造のブロックチェーンにおいてブロックの連続的順序を決定するためのコンピューティング・システム、方法、非一時的コンピュータ可読媒体及びコンピュータ・プログラム | |
CN112311772B (zh) | 基于Hyperledger的跨域证书管理系统及方法 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
US11251938B2 (en) | Blockchain verification using non-consecutive blocks | |
AU2021273375B2 (en) | Cross-network identity provisioning | |
CN113992360A (zh) | 一种基于区块链跨链的联邦学习方法及设备 | |
CN113875186A (zh) | 知识证明 | |
CN111881109B (zh) | 数据库可合并分类账 | |
WO2021154157A1 (en) | Blockchain-based data exchange | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
Hatefi et al. | A conditional privacy-preserving fair electronic payment scheme based on blockchain without trusted third party | |
JP2023551458A (ja) | Oprfを介したブロックチェーンネットワークにおける鍵再生 | |
CN115705601A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110852887B (zh) | 获取去中心化应用集群中的交易处理状态的方法及装置 | |
CN112163917B (zh) | 基于区块链的票据处理方法、装置、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |