CN113902440A - 一种基于分布式密钥的联盟链跨链交易方法和装置 - Google Patents

一种基于分布式密钥的联盟链跨链交易方法和装置 Download PDF

Info

Publication number
CN113902440A
CN113902440A CN202110970156.2A CN202110970156A CN113902440A CN 113902440 A CN113902440 A CN 113902440A CN 202110970156 A CN202110970156 A CN 202110970156A CN 113902440 A CN113902440 A CN 113902440A
Authority
CN
China
Prior art keywords
chain
signature
node
federation
cross
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.)
Pending
Application number
CN202110970156.2A
Other languages
English (en)
Inventor
王晓亮
马宇峰
宁志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Suzhou Changtong Internet Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Changtong Internet Technology Co ltd filed Critical Suzhou Changtong Internet Technology Co ltd
Priority to CN202110970156.2A priority Critical patent/CN113902440A/zh
Publication of CN113902440A publication Critical patent/CN113902440A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures

Abstract

本说明书实施例公开了一种基于分布式密钥的联盟链跨链交易方法和装置,其中所述方法,包括第一联盟链和第二联盟链,所述第一联盟链包括聚合签名合约和签验合约,确定所述第一联盟链节点进行签名的公开参数及其阈值t后,应用于所述第一联盟链,包括:使用分布式密钥生成算法获得所述节点的密钥对;当所述节点同意发送所述跨链消息时生成所述签名,并将所述签名发送至所述聚合签名合约;所述聚合签名合约生成代表所述第一联盟链的集体签名,并发送所述集体签名和所述跨链消息至所述第二联盟链;所述签验合约接收来自所述第二联盟链的签验消息并通知所述第一联盟链各节点。本发明方案能够有效防止节点不当行为对联盟链带来损失。

Description

一种基于分布式密钥的联盟链跨链交易方法和装置
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种基于分布式密钥的联盟链跨链交易方法、装置和电子设备。
背景技术
不同于公有链,联盟链的部署场景通常为一个企业内部或者几个企业组成的联盟内部。当一个联盟链向另一个联盟链进行跨链交易时,需要让对方确认这笔交易是整个联盟链的集体行为,而非某个联盟链节点的个体行为。解决此需求的一个很直观方法是使用门限签名技术。最常用的门限签名技术实现方法通常为:采用智能合约收集各个节点的签名份额,最终计算出一个代表联盟链整体意志的签名。普通的门限签名需要一个可信的第三方来为每个节点生成密钥份额。而在某些场景下,很难找到一个可信的第三方,因此需要设计出一种不依赖可信第三方分发密钥的联盟链跨链方案,特别是联盟链的每个节点均采用相同的密钥生成方法,这对于联盟链跨链交易的安全性是有重要意义的。
发明内容
本说明书实施例的目的是针对上述问题,提供一种基于分布式密钥生成算法的联盟链跨链交易方法和装置。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种基于分布式密钥的联盟链跨链交易方法,包括第一联盟链和第二联盟链,所述第一联盟链包括聚合签名合约和签验合约,确定所述第一联盟链节点进行签名的公开参数及其阈值t后,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第一联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
当所述节点同意发送所述跨链消息时生成所述签名,将所述签名发送至所述聚合签名合约;
所述聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链;
所述签验合约接收来自所述第二联盟链的签验消息,通知所述第一联盟链各节点。
第二方面,提出了一种基于分布式密钥的联盟链跨链交易装置,包括:
公开参数管理模块,用于确定第一联盟链节点进行签名的公开参数及其阈值t,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;
密钥对生成模块,用于使用分布式密钥生成算法获得所述第一联盟链节点的密钥对;
签名管理模块,用于所述第一联盟链节点生成所述签名;
聚合签名合约模块,用于接收所述第一联盟链节点签名后生成代表所述第一联盟链的集体签名,和发送所述集体签名和所述跨链消息至第二联盟链;
签验合约模块,接收来自所述第二联盟链的签验消息和通知所述第一联盟链节点。
第三方面,提出了一种基于分布式密钥的联盟链跨链交易方法,包括第一联盟链和第二联盟链,所述第二联盟链包括聚合签名合约和签验合约,确定所述第二联盟链节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第二联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
所述签验合约接收和验证所述第一联盟链发送来的集体签名和所述跨链消息,和发送所述通过验证的跨链消息至所述第二联盟链各节点;
当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,和发送所述签名至所述聚合签名合约;
所述聚合签名合约生成代表所述第二联盟链的集体签名,和将基于所述集体签名生成的签验消息发送至所述第一联盟链。
第四方面,提出了一种基于分布式密钥的联盟链跨链交易装置,包括:
公开参数管理模块,用于确定第二联盟链各节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;
密钥对生成模块,用于使用分布式密钥生成算法计算获得第二联盟链节点的密钥对;
签名管理模块,用于所述第二联盟链各节点生成所述签名;
聚合签名合约模块,用于接收所述第二联盟链各节点签名生成代表所述第二联盟链的集体签名,和将基于所述集体签名生成的签验消息发送至第一联盟链;
签验合约模块,用于接收和验证所述第一联盟链发送来的集体签名和跨链消息,和发送所述通过验证的跨链消息至所述第二联盟链各节点。
第五方面,提出了一种基于分布式密钥的联盟链跨链交易系统,包括第一联盟链和第二联盟链,所述第一联盟链为跨链消息发送方,所述第二联盟链为跨链消息接收方;其特征在于,所述第一联盟链和所述第二联盟链均包括聚合签名合约和签验合约,在所述第一联盟链和所述第二联盟链分别确定节点签名的公开参数及其阈值后,包括:
所述第一联盟链使用分布式密钥生成算法获得节点密钥对,当所述第一联盟链节点同意发送所述跨链消息时生成所述签名,发送至所述第一联盟链聚合签名合约,由所述第一联盟链聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链,所述第一联盟链签验合约接收来自所述第二联盟链的签验消息和通知所述第一联盟链各节点;
所述第二联盟链使用分布式密钥生成算法获得节点密钥对,所述第二联盟链签验合约接收和验证所述第一联盟链发送来的所述集体签名和所述跨链消息,将发送所述通过验证的跨链消息至所述第二联盟链各节点,当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,发送至所述第二联盟链聚合签名合约,由所述第二联盟链聚合签名合约生成代表所述第二联盟链的集体签名,生成所述签验消息发送至所述第一联盟链。
第六方面,提出了一种电子设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
第七方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
第八方面,提出了一种电子设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第三方面所述的方法。
第九方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第三方面所述的方法。
本说明书可以达到至少以下技术效果:
本发明通过引入分布式密钥生成算法,为参与跨链交易的联盟链节点生成密钥,结合门限签名技术,进一步提高了跨链交易的安全性,能够有效防止节点不当行为对联盟链带来损失。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的基于分布式密钥的联盟链跨链交易系统的示意图。
图2为本说明书实施例提供的基于分布式密钥的联盟链跨链交易方法的步骤示意图之一。
图3为本说明书实施例提供的分布式密钥生成过程示意图。
图4为本说明书实施例提供的基于分布式密钥的联盟链跨链交易方法的步骤示意图之二。
图5为本说明书实施例提供的基于分布式密钥的联盟链跨链交易方法的步骤示意图之三。
图6为本说明书的一个实施例提供的基于分布式密钥的联盟链跨链交易装置结构示意图之一。
图7为本说明书的一个实施例提供的基于分布式密钥的联盟链跨链交易装置结构示意图之二。
图8为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
关键术语
联盟链:只针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该区块链开放的API进行限定查询。为了获得更好的性能,联盟链对于共识或验证节点的配置和网络环境有一定要求。有了准入机制,可以使得交易性能更容易提高,避免由参次不齐的参与者产生的一些问题。使用联盟链的多数为银行、保险、证券、商业协会、集团企业及上下游企业。
区块链跨链交易:现有区块链技术在单链架构下存在性能、容量、隐私、隔离性、扩展上的瓶颈,例如:一个用户数以亿计的银行支付应用,每秒交易请求高达几万笔,每日交易笔数高达几亿笔,用户交易达到秒级响应体验。另一种是数据存储采用链式本地存储导致无法平行扩展,共识机制采用同步式状态机模型导致无法高效处理交易,受限于网络中单节点的性能极限,因此单链架构无法满足应用的性能、容量、用户体验及其他要求。另外,区块链特别是联盟链的互操作性本身就是一些应用的基础需求。例如银行或者理财机构的联盟链场景:一个理财应用,用户可以用某项资产交换不同机构的理财产品,不同的资产就需要在多条链上做转移、交换,数据应用同样需要多链间的跨链喂入交互,譬如汇率牌价、天气、股价、特定指标等等。因此联盟链的某些应用在单链上无法完整实现,需要在多链架构下的可扩展性、隔离性、高性能、互操作等特性的帮助下实现。
分布式密钥生成算法:很多密码学应用要求一个可信的第三方持有密钥,这种系统存在单点故障和密钥托管的问题。分布式密钥生成(Distributed Key Generation,简称DKG)通过多方参与,计算共享的公钥与私钥,分布式密钥产生不依赖任何可信的第三方。分布式密钥生成DKG协议允许多个节点共同产生密钥。区块链作为分布式系统,区块链中的节点通过DKG分布式地产生密钥,克服单点故障以及单个节点不可信任问题。在某些共识算法中,DKG与门限签名算法结合,DKG的密钥作为门限签名的密钥,保证达到一定比例的共识节点对一笔消息进行门限签名,都能够恢复出公钥并进行验证,具有有拜占庭容错性。
门限签名技术:门限签名机制分为两部分,即门限密钥生成和门限签名。其中门限密钥生成是基于安全参数构造一种分布式密钥生成协议DKG,协议运行输出一个共同的公钥和分属不同参与方各自所有的私钥份额,聚集起满足阈值数量的私钥份额可以构建出真正的私钥。门限签名是基于分布式通信网络,各参与方通过自己的私钥份额完成对消息的分布式协作签署并输出最终的可验证签名,这个签名跟单独用私钥签出的一模一样,可以用所基于的基础签名机制里的验证函数进行本地验证,无需走通信交互验证。目前广泛受到关注的BLS签名算法,就是一种门限签名算法,即可以实现签名聚合和密钥聚合的算法,即可以将多个密钥聚合成一把密钥,将多个签名聚合成一个签名。
下面通过具体的实例对本说明书所涉及的一种基于分布式密钥的联盟链跨链交易方案进行详述。
实施例一
设计出一种不依赖可信第三方分发密钥的联盟链跨链方案,特别是联盟链的每个节点均采用相同的密钥生成方法,这对于联盟链跨链交易的安全性是有重要意义的。为解决这一问题,本实施例对提出一种基于分布式密钥生成算法的联盟链跨链交易方案。如图1所示,本方案可以在若干联盟链之间进行跨链交易,本实施例仅以一对联盟链之间的跨链交易为应用场景进行说明。在上述一对联盟链中,其中一个联盟链为跨链交易发送方,在本发明的所有实施例中定义为第一联盟链;另一个联盟链为跨链交易接收方,在本发明的所有实施例中定义为第二联盟链。需要说明的是,联盟链的交易也是以消息为载体形式存在的,因此,本发明所有具体实施例中,并未严格区分交易或者消息。可以理解为,但凡是涉及到跨链发送的消息或者交易或者其他跨链通信等均可使用本发明的技术方案得以实现。
根据上述业务描述,我们在设计基于分布式密钥的联盟链跨链交易方案是必须满足以下条件:首先,参与到若干联盟链之间进行跨链交易的所有联盟链,应使用同一分布式密钥生成算法,只有这样,生成出的密钥(包括公钥和私钥)才能被参与跨链交易的各节点和各联盟链识别并且正确验证。其次,参与到若干联盟链之间进行跨链交易的所有联盟链,应使用同一签名算法,只有这样,生成出的签名才能被参与跨链交易的各节点和各联盟链识别和正确验证,以便生成各联盟链间互认的集体签名。
综上所述,本实施例提出了基于分布式密钥的联盟链跨链交易系统,包括第一联盟链和第二联盟链,所述第一联盟链为跨链消息发送方,所述第二联盟链为跨链消息接收方;所述第一联盟链和所述第二联盟链均包括聚合签名合约和签验合约,在所述第一联盟链和所述第二联盟链分别确定节点签名的公开参数及其阈值后,包括:
所述第一联盟链使用分布式密钥生成算法获得节点密钥对,当所述第一联盟链节点同意发送所述跨链消息时生成所述签名,如本实施例中的Sig_A1(m)、Sig_A2(m)、…、Sig_An(m),这些同意签名会发送至所述第一联盟链聚合签名合约,由所述第一联盟链聚合签名合约生成代表所述第一联盟链的集体签名Sig_A(m),发送所述集体签名和所述跨链消息至所述第二联盟链,所述第一联盟链签验合约接收来自所述第二联盟链的签验消息Sig_B(m)并通知所述第一联盟链各节点;
所述第二联盟链使用分布式密钥生成算法获得节点密钥对,所述第二联盟链签验合约接收并验证所述第一联盟链发送来的所述集体签名Sig_A(m)和所述跨链消息m,将发送所述通过验证的跨链消息至所述第二联盟链各节点,当所述第二联盟链节点同意签验所述跨链消息时生成所述签名Sig_B1(′同意′)、Sig_B2(′同意′)、…、Sig_Bn(′同意′),发送至所述第二联盟链聚合签名合约,由所述第二联盟链聚合签名合约生成代表所述第二联盟链的集体签名Sig_B(m),生成所述签验消息发送至所述第一联盟链。
实施例二
参照图2所示,为本说明书实施例提供的基于分布式密钥的联盟链跨链交易方法步骤示意图。本实施例仅以一对联盟链之间的跨链交易为应用场景进行说明。这里需要说明的是,所述第一联盟链与所述第二联盟链采用相同的分布式密钥生成算法和签名算法。在实施例中,该跨链交易方法的执行主体是联盟链跨链交易的发送方,本说明书中定义为第一联盟链。第一联盟链包括聚合签名合约和签验合约。其中,所述聚合签名合约在本发明的实施例中用于接收所述第一联盟链节点签名后生成代表所述第一联盟链的集体签名,和发送所述集体签名和所述跨链消息至第二联盟;所述签验合约用于接收来自所述第二联盟链的签验消息并通知所述第一联盟链节点。
本发明实施例中,还有一个重要参数称为公开参数。所述公开参数因所选择的签名算法不同而有所不同。本实施例以BLS签名算法为例,因此,本实施例中选择的公开参数也是按照BLS签名算法要求进行选择的,具体为(G1,G2,GT,e,g1,g2,p,h),其中,G1和G2是阶为p的乘法循环群,生成元分别是g1和g2,e是双线性映射:G1*G2→GT,h是安全hash函数:{0,1}*→G1,即h可以将任一长度的比特串映射为群G1上的元素。同时,还要为所述公开参数选择其阈值t,t即表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数。这里需要说明的是,由于第一联盟链和第二联盟链必须要采用相同的签名算法,因此对于公开参数的选择也应该是一致的。但是,第一联盟链和第二联盟链对于公开参数阈值选择是由各自的特征决定的,也就是第一联盟链和第二联盟链公开参数阈值未必是相等的。
在所述第一联盟链初始化聚合签名合约和签验合约,并确定公开参数及其阈值t后,所述方法可以包括以下步骤:
步骤201:使用分布式密钥生成算法获得所述节点的密钥对。
可选地,所述节点的密钥对包括公钥和私钥,所述公钥用于所述聚合签名合约对所述节点的签名进行验证,所述私钥用于所述节点根据签名算法生成所述签名。具体地,如图3所示,本发明实施例所使用的分布式密钥生成算法按照如下方式进行的:
首先,第一联盟链的节点i在Zp上选择一个t-1阶的多项式Pi(z):Pi(z)=ai0+ai1z+ai2z2+…+ait-1zt-1。节点i计算并广播
Figure BDA0003225648490000101
其中k=0,1,2,...,t-1。节点i计算密钥sij=Pi(j)并秘密发送至节点j。其次,节点j按照如下方法验证节点i发送给他的密钥:
Figure BDA0003225648490000102
如果验证失败,节点j广播一条对节点i的投诉消息。再次,如果至少t个节点投诉节点i,那么显然节点i是恶意节点,节点i被取消资格;我们用集合QUAL表示合格节点的集合。所有节点都可计算公开验证值Ak=∑i∈QUALAik,第一联盟链整体的公钥PKA为A0,A0由第一联盟链公开,任何联盟链实体均可获得。最后,在集合QUAL中的每个节点j计算自己的私钥为skj=∑i∈QUALsij mod p;每个节点j的公钥
Figure BDA0003225648490000103
节点j将自L的公钥发送给聚合签名合约。
可以理解,凡是能够不使用第三方授权生成密钥而由联盟链各节点采用任意一种分布式生成密钥算法生成密钥对,都应在本发明方案的保护范围中。
步骤202:当所述节点同意发送所述跨链消息时生成所述签名,将所述签名发送至所述聚合签名合约。
在本实施例中,当第一联盟链需要发消息m至第二联盟链时,第一联盟链中的节点i的签名为
Figure BDA0003225648490000104
步骤203:所述聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链。
可选地,如图4所示,所述聚合签名合约生成代表所述第一联盟链的集体签名,包括:
步骤401:接收所述第一联盟链节点的签名。
步骤402:根据验证规则对所述节点的签名进行验证。
具体地,在本实施例中,聚合签名合约收到节点i的签名σi验证签名正确性为
Figure BDA0003225648490000105
步骤403:若验证通过,则记录所述节点的签名。
步骤404:当收到所述第一联盟链中t个不同节点的签名后,生成代表所述第一联盟链的集体签名。
具体地,在本实施例中,验证通过后将σi记录下来,等收到t个不同节点的签名后,计算代表第一联盟链的集体签名为:
Figure BDA0003225648490000111
步骤204:所述签验合约接收来自所述第二联盟链的签验消息,通知所述第一联盟链各节点。
参照图5所示,为本说明书实施例提供的基于分布式密钥的联盟链跨链交易方法步骤示意图。本实施例仅以一对联盟链之间的跨链交易为应用场景进行说明。这里需要说明的是,所述第一联盟链与所述第二联盟链采用相同的分布式密钥生成算法和签名算法。在实施例中,该跨链交易方法的执行主体是联盟链跨链交易的接收方,本说明书中定义为第二联盟链。第二联盟链包括聚合签名合约和签验合约。其中,所述聚合签名合约在本实施例中用于接收所述第二联盟链各节点签名生成代表所述第二联盟链的集体签名,并将基于所述集体签名生成的签验消息发送至第一联盟链;所述签验合约在本实施例中用于接收并验证所述第一联盟链发送来的集体签名和跨链消息,并发送所述通过验证的跨链消息至所述第二联盟链各节点。
本发明实施例中,还有一个重要参数称为公开参数。所述公开参数因所选择的签名算法不同而有所不同。这里需要说明的是,由于第一联盟链和第二联盟链必须要采用相同的签名算法,因此对于公开参数的选择也应该是一致的。本实施例中仍使用BLS签名算法,公开参数的选择不再赘述。但是,第一联盟链和第二联盟链对于公开参数阈值选择是由各自的特征决定的,也就是第一联盟链和第二联盟链公开参数阈值未必是相等的。因此,本实施例中所述公开参数选择其阈值t′,t′即表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数。
在所述第二联盟链初始化聚合签名合约和签验合约,并确定公开参数及其阈值t′后,所述方法可以包括以下步骤:
步骤501:使用分布式密钥生成算法获得所述节点的密钥对。
步骤502:所述签验合约接收并验证所述第一联盟链发送来的集体签名和所述跨链消息,发送所述通过验证的跨链消息至所述第二联盟链各节点。
步骤503:当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,发送所述签名至所述聚合签名合约。
步骤504:所述聚合签名合约生成代表所述第二联盟链的集体签名,将基于所述集体签名生成的签验消息发送至所述第一联盟链。
需要说明的是,应用于第二联盟链时,所述的分布式密钥生成算法和签名算法均与应用于第一联盟链时是相同的,这里不再赘述。
实施例三
图6为本说明书的一个实施例提供的基于分布式密钥的联盟链跨链交易装置600的结构示意图。请参考图6,在一种实施方式中基于分布式密钥的联盟链跨链交易装置包括:
公开参数管理模块601,用于选取第一联盟链节点进行签名的公开参数及其阈值t,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;
密钥对生成模块602,用于使用分布式密钥生成算法获得所述第一联盟链节点的密钥对;
签名管理模块603,用于所述第一联盟链节点生成所述签名;
聚合签名合约模块604,用于接收所述第一联盟链节点签名后生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至第二联盟链;
签验合约模块605,接收来自所述第二联盟链的签验消息,通知所述第一联盟链节点。
图7为本说明书的一个实施例提供的基于分布式密钥的联盟链跨链交易装置700的结构示意图。请参考图7,在一种实施方式中基于分布式密钥的联盟链跨链交易装置包括:
公开参数管理模块701,用于选取第二联盟链各节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;
密钥对生成模块702,用于使用分布式密钥生成算法计算获得第二联盟链节点的密钥对;
签名管理模块703,用于所述第二联盟链各节点生成所述签名;
聚合签名合约模块704,用于接收所述第二联盟链各节点签名生成代表所述第二联盟链的集体签名,将基于所述集体签名生成的签验消息发送至第一联盟链;
签验合约模块705,用于接收并验证所述第一联盟链发送来的集体签名和跨链消息,发送所述通过验证的跨链消息至所述第二联盟链各节点。
应理解,本说明书实施例的基于分布式密钥的联盟链跨链交易装置还可执行图1至图5中基于分布式密钥的联盟链跨链交易装置(或设备)执行的方法,并实现基于分布式密钥的联盟链跨链交易装置(或设备)在图1至图5所示实施例的功能,在此不再赘述。
实施例四
图8是本说明书的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
包括第一联盟链和第二联盟链,所述第一联盟链包括聚合签名合约和签验合约,确定所述第一联盟链节点进行签名的公开参数及其阈值t后,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第一联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
当所述节点同意发送所述跨链消息时生成所述签名,将所述签名发送至所述聚合签名合约;
所述聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链;
所述签验合约接收来自所述第二联盟链的签验消息,通知所述第一联盟链各节点。
或者,
包括第一联盟链和第二联盟链,所述第二联盟链包括聚合签名合约和签验合约,确定所述第二联盟链节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第二联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
所述签验合约接收并验证所述第一联盟链发送来的集体签名和所述跨链消息,发送所述通过验证的跨链消息至所述第二联盟链各节点;
当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,发送所述签名至所述聚合签名合约;
所述聚合签名合约生成代表所述第二联盟链的集体签名,将基于所述集体签名生成的签验消息发送至所述第一联盟链。
上述如本说明书图1至图5所示实施例揭示的一种基于分布式密钥生成算法的联盟链跨链交易方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
实施例五
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1至图4所示实施例的方法,并具体用于执行以下方法:
包括第一联盟链和第二联盟链,所述第一联盟链包括聚合签名合约和签验合约,确定所述第一联盟链节点进行签名的公开参数及其阈值t后,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第一联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
当所述节点同意发送所述跨链消息时生成所述签名,将所述签名发送至所述聚合签名合约;
所述聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链;
所述签验合约接收来自所述第二联盟链的签验消息,通知所述第一联盟链各节点。
或者,
包括第一联盟链和第二联盟链,所述第二联盟链包括聚合签名合约和签验合约,确定所述第二联盟链节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第二联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
所述签验合约接收并验证所述第一联盟链发送来的集体签名和所述跨链消息,发送所述通过验证的跨链消息至所述第二联盟链各节点;
当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,发送所述签名至所述聚合签名合约;
所述聚合签名合约生成代表所述第二联盟链的集体签名,将基于所述集体签名生成的签验消息发送至所述第一联盟链。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (12)

1.一种基于分布式密钥的联盟链跨链交易方法,包括第一联盟链和第二联盟链,其特征在于,所述第一联盟链包括聚合签名合约和签验合约,确定所述第一联盟链节点进行签名的公开参数及其阈值t后,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第一联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
当所述节点同意发送所述跨链消息时生成所述签名,将所述签名发送至所述聚合签名合约;
所述聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链;
所述签验合约接收来自所述第二联盟链的签验消息,通知所述第一联盟链各节点。
2.根据权利要求1所述的方法,其特征在于,所述节点的密钥对包括公钥和私钥,所述公钥用于所述聚合签名合约对所述节点的签名进行验证,所述私钥用于所述节点根据签名算法生成所述签名。
3.根据权利要求1所述的方法,其特征在于,所述聚合签名合约生成代表所述第一联盟链的集体签名,包括:
接收所述第一联盟链节点的签名;
根据验证规则对所述节点的签名进行验证;
若验证通过,则记录所述节点的签名;
当收到所述第一联盟链中t个不同节点的签名后,生成代表所述第一联盟链的集体签名。
4.根据权利要求1所述的方法,其特征在于,所述第一联盟链与所述第二联盟链采用相同的分布式密钥生成算法和签名算法。
5.一种基于分布式密钥的联盟链跨链交易装置,其特征在于,包括:
公开参数管理模块,用于确定第一联盟链节点进行签名的公开参数及其阈值t,所述公开参数阈值t用于表征所述第一联盟链中同意发送跨链消息的不同节点的签名个数;
密钥对生成模块,用于使用分布式密钥生成算法获得所述第一联盟链节点的密钥对;
签名管理模块,用于所述第一联盟链节点生成所述签名;
聚合签名合约模块,用于接收所述第一联盟链节点签名后生成代表所述第一联盟链的集体签名,和发送所述集体签名和所述跨链消息至第二联盟链;
签验合约模块,接收来自所述第二联盟链的签验消息和通知所述第一联盟链节点。
6.一种基于分布式密钥的联盟链跨链交易方法,包括第一联盟链和第二联盟链,其特征在于,所述第二联盟链包括聚合签名合约和签验合约,确定所述第二联盟链节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;应用于所述第二联盟链,包括:
使用分布式密钥生成算法获得所述节点的密钥对;
所述签验合约接收和验证所述第一联盟链发送来的集体签名和所述跨链消息,发送所述通过验证的跨链消息至所述第二联盟链各节点;
当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,发送所述签名至所述聚合签名合约;
所述聚合签名合约生成代表所述第二联盟链的集体签名,将基于所述集体签名生成的签验消息发送至所述第一联盟链。
7.一种基于分布式密钥的联盟链跨链交易装置,其特征在于,包括:
公开参数管理模块,用于确定第二联盟链各节点进行签名的公开参数及其阈值t′后,所述公开参数阈值t′用于表征所述第二联盟链中同意发送跨链消息的不同节点的签名个数;
密钥对生成模块,用于使用分布式密钥生成算法计算获得第二联盟链节点的密钥对;
签名管理模块,用于所述第二联盟链各节点生成所述签名;
聚合签名合约模块,用于接收所述第二联盟链各节点签名生成代表所述第二联盟链的集体签名,和将基于所述集体签名生成的签验消息发送至第一联盟链;
签验合约模块,用于接收和验证所述第一联盟链发送来的集体签名和跨链消息,和发送所述通过验证的跨链消息至所述第二联盟链各节点。
8.一种基于分布式密钥的联盟链跨链交易系统,包括第一联盟链和第二联盟链,所述第一联盟链为跨链消息发送方,所述第二联盟链为跨链消息接收方;其特征在于,所述第一联盟链和所述第二联盟链均包括聚合签名合约和签验合约,在所述第一联盟链和所述第二联盟链分别确定节点签名的公开参数及其阈值后,包括:
所述第一联盟链使用分布式密钥生成算法获得节点密钥对,当所述第一联盟链节点同意发送所述跨链消息时生成所述签名,发送至所述第一联盟链聚合签名合约,由所述第一联盟链聚合签名合约生成代表所述第一联盟链的集体签名,发送所述集体签名和所述跨链消息至所述第二联盟链,所述第一联盟链签验合约接收来自所述第二联盟链的签验消息和通知所述第一联盟链各节点;
所述第二联盟链使用分布式密钥生成算法获得节点密钥对,所述第二联盟链签验合约接收和验证所述第一联盟链发送来的所述集体签名和所述跨链消息,将发送所述通过验证的跨链消息至所述第二联盟链各节点,当所述第二联盟链节点同意签验所述跨链消息时生成所述签名,发送至所述第二联盟链聚合签名合约,由所述第二联盟链聚合签名合约生成代表所述第二联盟链的集体签名,生成所述签验消息发送至所述第一联盟链。
9.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1至4任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求6所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1至4任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求6所述的方法。
CN202110970156.2A 2021-08-23 2021-08-23 一种基于分布式密钥的联盟链跨链交易方法和装置 Pending CN113902440A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110970156.2A CN113902440A (zh) 2021-08-23 2021-08-23 一种基于分布式密钥的联盟链跨链交易方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110970156.2A CN113902440A (zh) 2021-08-23 2021-08-23 一种基于分布式密钥的联盟链跨链交易方法和装置

Publications (1)

Publication Number Publication Date
CN113902440A true CN113902440A (zh) 2022-01-07

Family

ID=79187856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110970156.2A Pending CN113902440A (zh) 2021-08-23 2021-08-23 一种基于分布式密钥的联盟链跨链交易方法和装置

Country Status (1)

Country Link
CN (1) CN113902440A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114092101A (zh) * 2022-01-21 2022-02-25 深圳市一航网络信息技术有限公司 交易验证方法、装置、存储介质及电子设备
CN115378640A (zh) * 2022-07-13 2022-11-22 重庆邮电大学 一种基于联盟链的跨链数据安全共享方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114092101A (zh) * 2022-01-21 2022-02-25 深圳市一航网络信息技术有限公司 交易验证方法、装置、存储介质及电子设备
CN114092101B (zh) * 2022-01-21 2022-04-08 深圳市一航网络信息技术有限公司 交易验证方法、装置、存储介质及电子设备
CN115378640A (zh) * 2022-07-13 2022-11-22 重庆邮电大学 一种基于联盟链的跨链数据安全共享方法
CN115378640B (zh) * 2022-07-13 2024-03-26 重庆邮电大学 一种基于联盟链的跨链数据安全共享方法

Similar Documents

Publication Publication Date Title
KR102194078B1 (ko) 블록체인 네트워크 내 교차 자산 거래
US11232478B2 (en) Methods and system for collecting statistics against distributed private data
US11451400B2 (en) Blockchain transaction method and apparatus
WO2020168937A1 (zh) 区块链多方见证方法、装置、设备及计算机可读存储介质
TWI727292B (zh) 區塊鏈交易方法及裝置、電子設備
US11057217B2 (en) Performing parallel execution of transactions in a distributed ledger system
EP3859647A1 (en) Blockchain transaction generation method and device
EP3619668B1 (en) Performing parallel execution of transactions in a distributed ledger system
US10833871B2 (en) System and method for deterministic signing of a message using a multi-party computation (MPC) process
US20200327545A1 (en) Performing parallel execution of transactions in a distributed ledger system
JP2020507222A (ja) 情報保護のためのシステム及び方法
CN111476572B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
US11354657B2 (en) Managing transactions in multiple blockchain networks
EP3593515B1 (en) Managing housing scores using smart contracts in blockchain networks
US11372848B2 (en) Managing transactions in multiple blockchain networks
CN116049626A (zh) 一种数据统计方法、装置、设备以及存储介质
CN113902440A (zh) 一种基于分布式密钥的联盟链跨链交易方法和装置
US11403632B2 (en) Managing transactions in multiple blockchain networks
Li et al. A decentralized and secure blockchain platform for open fair data trading
Huang et al. zkChain: A privacy‐preserving model based on zk‐SNARKs and hash chain for efficient transfer of assets
CN113902439A (zh) 一种基于门限签名的联盟链跨链交易方法和装置
CN111371785A (zh) 一种区块链隐私交易方法、装置和电子设备
Chenli et al. Fairtrade: Efficient atomic exchange-based fair exchange protocol for digital data trading
Moreno-Sanchez et al. Silentwhispers: Enforcing security and privacy in decentralized credit networks
Stamenkovska et al. Some general traits of the e-cash system and a review of a compact e-cash scheme with practical and complete tracing

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
TA01 Transfer of patent application right

Effective date of registration: 20230920

Address after: 10/F, Guotou Building, No. 398 Shaoxing Road, Gongshu District, Hangzhou City, Zhejiang Province, 310000

Applicant after: Hangzhou Xita Technology Co.,Ltd.

Address before: 215133 room 1805-080, 18 / F, building 1, Lingyu Business Plaza, No. 66, qinglonggang Road, high speed railway new town, Xiangcheng District, Suzhou City, Jiangsu Province

Applicant before: Suzhou Changtong Internet Technology Co.,Ltd.

TA01 Transfer of patent application right