一种双向锁定的多方陷门签名方法及无生命周期跨链交换协议构造方法

文档序号:36606806发布日期:2024-01-06 23:11阅读:17来源:国知局
一种双向锁定的多方陷门签名方法及无生命周期跨链交换协议构造方法

本发明属于计算机技术与信息安全,涉及一种双向锁定的多方陷门签名方法的构造及其用于构造跨链原子交换协议的方法。


背景技术:

1、随着区块链技术的发展,各具特色的区块链项目以及各类加密货币大量共存,分布式数字资产交易机制面临新的需求与挑战。当前区块链的发展呈现出多样化、垂直化以及碎片化的趋势,已经形成了具有不同特性、适用于不同应用场景的区块链网络。各区块链系统的安全性基于不同的共识机制,链与链之间呈高度异构化,导致各区块链孤立性、封闭性严重,并且难以实现区块链之间的资产转移。此外,在万物互联的背景下,若链与链之间无法突破隔离以实现资产跨链、自由流动、高效交换,则将无法实现区块链价值物联网的愿景。

2、跨链交换协议基于底层链共识协议建立了链与链之间的资产交易(交换)处理机制,其中持有不同类型资产的任意两用户在各自链上分别锁定一定额度资产并由底层链最终确认,而后分别得到或均不能得到解锁对方锁定资产的能力,最后兑换资产交易或撤回资产交易由各自底层链最终确认。为保证基本安全属性——原子性,即诚实节点不失去资产,并满足通用性即适用于所有密码货币系统,利用自适应签名的思想可仅基于底层链的签名验证功能保证资产兑换过程的严格顺序性以及协议成功执行时的原子性;利用时间锁定的困难问题可有效约束资产撤回交易生效时间,保证协议执行失败时的原子性。基于自适应签名和时间锁定的困难问题可仅基于底层链的签名验证功能保证方案的原子性,并进一步保证了方案的通用性。

3、目前,该类协议基于自适应签名保证了单跳环境下资产兑换操作的原子性,但仍不适用于多跳环境;基于带时间锁的困难问题自然的保证了有限生命周期后未被兑换的冻结资产可被其持有者撤回,但将带来大量计算资产的消耗;此外由于资产冻结操作并行完成,使得恶意节点仅通过处于离线状态,即不签发相应的资产冻结交易,即可使诚实的资产长期处于冻结状态并通过消耗大量计算资源求解相应困难问题来撤回锁定资产,并将进一步影响协议生命周期内系统资产分配情况甚至底层链的安全性,如基于pos(proof ofstake)的共识协议。因此,目前跨链交换协议相关工作还不能直接应用于多跳场景,并且有限生命周期将带来大量计算资源消耗以及公平性问题。


技术实现思路

1、本发明的一个目的在于提出一种双向锁定多方陷门签名方法的构造方法,该方案可直接应用在(多跳)跨链原子交换协议中,实现任意节点间的安全的跨链资产交换以及不依赖于困难问题的锁定资产的快速撤回。

2、具体地,本发明的双向锁定的多方陷门签名方案中每个节点与其左右节点分别生成双方共同控制的左右锁,其中左锁,即其左节点的右锁,其解锁条件是得到左节点的验证并且从右端点至右节点已顺序完成了解左锁操作;右锁用于存储节点的冻结资产,其中右节点的解锁私钥在初始阶段以带陷门的秘密分享发送给诚实节点占多数的参与方集合,因此节点解右锁条件是得到右节点确认即签名或者得到参与集合中多数节点的确认以恢复相应右节点的解锁密钥。因此,基于双向锁定的多方陷门签名方案,左右锁的生成条件实现了任意两个节点间资产兑换路径的建立;左锁的解锁条件保证了整个资产兑换路径中从右端点到左端点资产兑换过程的严格顺序性,有效抵抗虫洞攻击;右锁的解锁条件保证了冻结资产的快速撤回,防止诚实节点的冻结资产长期处于冻结状态以及资产撤回操作带来的大量计算资源的消耗,有效抵抗grief攻击。

3、为实现上述目标,本发明采用如下技术方案:

4、符号说明:λ表示安全参数;表示困难关系,即语言集合其中,g为群素数(q)阶群g的生成元,ω为y属于语言集合的证据,表示存在,st表示约束条件;∑ds:={ds.kgen,ds.sign,ds.vf}表示数字签名算法,其中,ds.kgen为密钥生成算法,ds.sign为签名算法,ds.yf为签名验证算法;n≥2表示参与节点数;集合{p1,…,pn}表示参与节点集合,其中,pi(i∈{1,...,n})表示第i个参与节点;表示表示节点pi的密钥集合,其中,分别为节点pi的左右密钥对;ωi表示节点pi持有的的证据,表示节点pj收到的关于ωi的秘密分享;分别表示节点pi的左右锁及相应的解锁密钥;f(x)表示与x相关的函数;分别表示节点pi的左右消息及其相应的签名;分别表示节点pi的左右消息及其相应的预签名;表示一种运算,其中,当数字签名算法为schnorr时为加法“+”,当数字签名算法为ecdsa时为乘法“*”;表示与节点{pn,...,pi}私有信息相关的消息。

5、一种双向锁定的多方陷门签名方法,包括以下步骤:

6、1.节点pi分别生成与左右邻居节点建立链接的必要消息并发送给相应节点;

7、2.节点pi与其左邻居节点pi-1生成左锁并且相应的解锁密钥与pn,...,pi-1的私有信息相关,并与其右邻居节点pi+1生成右锁且相应的解锁密钥与pi和pi+1的私有信息相关;

8、3.若节点pi+1已成功解左锁,则pi可(能够)解其左锁,并且在与pi+1合作的情况下或者在集合{p1,...,pn}中多数节点的支持下,pi可(能够)解其右锁。

9、进一步地,上述双向锁定的多方陷门签名方法由方法setup(初始化)算法、lockgen(锁生成)算法和unlock(解锁)算法组成,其中:

10、1.输入安全参数λ,输出密钥对声明-证据(statement-witness)对以及证据ωi的秘密分享;

11、2.输入左右邻居节点相应的右左公钥以及节点pi的左右公钥,输出节点pi的锁li及相应的解锁密钥ki;

12、3.unlock(li,ki)→(mi,σi):输入锁及相应的解锁密钥得到相应消息mi的签名σi。

13、进一步地,上述双向锁定的多方陷门签名方法包括以下步骤:

14、步骤1:初始化算法(setup),每个节点pi完成初始化,包括生成密钥对并将发送给节点pi;

15、步骤2:锁生成算法(lockgen),每个节点pi分别与左右邻居节点合作生成相应的左右锁

16、步骤3:解锁算法(unlock),每个节点pi解左右锁并分别得到相应消息的签名

17、优选地,步骤1具体包括:

18、1)密钥生成算法ds.kgen:节点pi随机选取计算即

19、2)困难关系生成算法节点pi随机选取ωi∈zq,计算即(yi,ωi);

20、3)秘密分享算法share:节点pi计算ωi的分享并发送给相应节点pj。

21、优选地,步骤2具体包括:

22、1)节点pi的左锁生成算法,输入左邻居节点的右公钥和pi的左公钥输出节点pi的左锁解左锁密钥其中,为一种运算,表示与节点{pn,...,pi+1}私有信息相关的消息,表示与相关的函数;

23、2)节点pi的右锁生成算法,输入右邻居节点的左公钥和pi的右公钥输出节点pi的右锁解右锁密钥其中,为一种运算,表示与相关的函数。

24、优选地,步骤3具体包括:

25、1)节点pi的解左锁算法,输入及消息输出消息的签名以及其中,表示与节点{pn,...,pi}的私有信息相关的消息。具体地:

26、a)预签名算法,输入节点pi-1的右密钥以及消息输出消息的预签名

27、b)预签名验证算法,输入节点pi的左锁消息和预签名若验证通过则输出1否则输出0;

28、c)自适应算法,输入节点pi的左私钥证据ωi,与{pn,...,pi+1}的私有信息相关的消息消息和预签名输出消息的签名

29、d)抽取算法,输入消息的预签名和签名输出与{pn,...,pi}的私有信息相关的消息

30、2)节点pi的解右锁算法,输入以及消息输出消息的签名具体地:

31、a)预签名算法,输入节点pi+1的左密钥以及消息输出消息的预签名

32、b)预签名验证算法,输入节点pi的右锁消息和预签名若验证通过则输出1否则输出0;

33、c)自适应算法,输入节点pi的右私钥证据ωi+1,消息和预签名输出消息的签名其中,

34、ωi+1可由节点pi+1发送给pi;

35、或集合{p1,...,pn}中的节点将其持有的关于ωi+1的秘密分享发送给pi,其中pi由集合{p1,...,pn}中多数节点提供的多数正确秘密分享即可恢复ωi+1。

36、注:若节点编号i=1则i-1:=n;若i=n,则i-1:=1;若n=2,则集合{p3,...,pn,}为外部委员会,满足诚实节点占多数,且委员会节点仅负责接收关于证据ω1,ω2的秘密分享并必要时发送相应节点。

37、本发明的另一个目的在于将提出的双向锁定的多方陷门签名方法直接应用于跨链原子交换协议的设计中。具体地,所有节点与其左右邻居节点分别生成相应的右左锁,节点分别将兑换资产转移至相应的右锁中,资产兑换阶段,节点pn可由左私钥完成解左锁得到节点pn-1的冻结资产,进而使得节点pn-1,...,p1依次解左锁得到左邻居节点的冻结资产;资产撤回阶段,若相应冻结资产未被兑换,则节点可请求右邻居节点得到解锁密钥或诚实节点多数的集合得到解锁密钥,从而完成解左锁操作并撤回冻结资产。本发明实现兑换路径中节点解左锁密钥之间的关联关系,进而实现了解左锁操作从pn至p1的严格顺序性,一方面可抵抗虫洞攻击,另一方面可借助于中间节点实现任意节点之间的资产兑换;此外,由于节点的解右锁操作不依赖于求解困难问题,因此可实现冻结资产的快速撤回,有效抵抗grief攻击、避免公平性问题并节约了计算资源。

38、本发明提出的一种无生命周期的跨链原子交换协议的构造方法,其步骤包括:

39、1.参与节点{p1,...,pn}执行前文所述的初始化算法(setup),得到相应的私有信息并把相应的公开信息发送给其他节点,完成兑换路径的建立;

40、2.参与节点{p1,...,pn}执行前文所述的锁生成算法lockgen,并将待兑换资产发送至左锁;

41、3.参与节点pi执行前文所述的解锁算法unlock,尝试解左锁得到左节点的冻结资产;

42、4.若协议执行失败,则节点pi执行前文所述的解锁算法unlock,尝试解右锁并撤回冻结资产。

43、本发明将节点间解左锁密钥之间的链接关系以及解右锁密钥与右邻居节点之间私有信息之间的关系,保证了资产兑换过程的严格顺序性以及冻结资产的快速撤回。其有益效果具体包括以下两个重要方面:

44、一、双向锁定的多方陷门签名方法的构造

45、本发明由初始化setup、锁生成lockgen和解锁unlock三个算法组成,安全性基于离散对数困难问题和带陷门的秘密分享算法的安全性,以及参与节点中诚实节点多数的假设。

46、该双向锁定的多方陷门签名方法具备以下性质:1)预签名的正确性,即由预签名以及相应私有信息可得到消息的完整签名,并由消息的预签名和签名可抽取得到相应的私有信息;2)不可伪造性,即无签名私钥的节点即使持有相应消息的有效预签名也不能得到消息的有效签名;3)顺序性,即节点可得到左消息的有效签名当且仅当其右节点已得到了相应左消息的有效签名。

47、二、将双向锁定的多方陷门签名方法应用到跨链原子交换协议中

48、将双向锁定的多方陷门签名方案中关于左右锁生成以及解锁条件应用于跨链原子交换协议的构造中,可实现多跳环境下安全的跨链资产交换以及诚实节点锁定资产的快速撤回。

49、该跨链原子交换协议执行具备以下性质:1)借助于中间节点,适用于任意节点间的资产交换,且仅要求中间节点持有一种相应的资产;2)资产兑换从pn至p1顺序完成,有效抵抗虫洞攻击;3)锁定资产的撤回能力不依赖于求解困难问题,并且在诚实节点多数的假设下实现了锁定资产的快速撤回,有效避免了大量计算资源的消耗并抵抗grief攻击;4)协议执行仅依赖于底层链的签名验证功能,且基于底层链的签名算法可给出高效构造方案,因此该协议具有通用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1