CN115118437B - 基于一致性哈希和路径证明的多签验证方法、装置及设备 - Google Patents
基于一致性哈希和路径证明的多签验证方法、装置及设备 Download PDFInfo
- Publication number
- CN115118437B CN115118437B CN202211028816.6A CN202211028816A CN115118437B CN 115118437 B CN115118437 B CN 115118437B CN 202211028816 A CN202211028816 A CN 202211028816A CN 115118437 B CN115118437 B CN 115118437B
- Authority
- CN
- China
- Prior art keywords
- contract
- signature
- hash
- path
- address
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000003999 initiator Substances 0.000 claims abstract description 42
- 230000015654 memory Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 239000000126 substance Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101150005267 Add1 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 101150060298 add2 gene Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Tourism & Hospitality (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本说明书提供了一种基于一致性哈希和路径证明的多签验证方法、装置及设备,该方法包括:预先生成以默克尔哈希树的根节点为合同标识的多签合同;多签合同中各签约用户的地址哈希以哈希环方式存储;默克尔哈希树以各地址哈希作为叶子节点,以合同消息哈希作为根节点的子节点之一构建;向签名发起方提供随机叶子节点,其是从默克尔哈希树中随机选择的叶子节点;接收签名发起方提供的合同签名,其中包含根节点至随机叶子节点的路径证明;根据哈希环中的地址哈希验证路径证明是否成立;如果成立,则更新合同签署人数;当合同签署人数达到多签阈值时,确认多签合同完成多签验证。本说明书实施例可减少多签验证占用的存储空间,提高多签验证的隐私安全。
Description
技术领域
本说明书涉及多签验证技术领域,尤其是涉及一种基于一致性哈希和路径证明的多签验证方法、装置及设备。
背景技术
区块链一般采用椭圆曲线数字签名算法(Elliptic Curve Digital SignatureAlgorithm,ECDSA)对交易进行签名和验证,区块链所有同步的全节点都需要对交易进行验签。当某些交易需要多个人进行签署才能生效时,需要用到多签。例如,N个人中有M人签名即视为多签验证通过(其中N>=M)。传统实现多签验证方法中,需要解决N个人的地址存储问题,占用比较大的存储空间,同时还存在签名者的地址隐私安全问题。
发明内容
本说明书实施例的目的在于提供一种基于一致性哈希和路径证明的多签验证方法、装置及设备,以减少多签验证中用户的地址所占用的存储空间,并提高多签验证的隐私安全。
为达到上述目的,一方面,本说明书实施例提供了一种基于一致性哈希和路径证明的多签验证方法,包括:
预先生成以默克尔哈希树的根节点作为合同标识的多签合同;所述多签合同中每个签约用户的地址哈希以哈希环方式存储;所述默克尔哈希树以每个所述地址哈希作为叶子节点,且以合同消息哈希作为所述根节点的子节点之一构建得到;
向签名发起方提供随机叶子节点,所述随机叶子节点是从所述默克尔哈希树中随机选择的叶子节点;
接收所述签名发起方提供的合同签名;所述合同签名中包含所述根节点至所述随机叶子节点的路径证明;
根据所述哈希环中的地址哈希验证所述路径证明是否成立;如果所述路径证明成立,则更新合同签署人数;
当合同签署人数达到多签阈值时,确认所述多签合同完成多签验证。
本说明书实施例的基于一致性哈希和路径证明的多签验证方法中,在根据所述哈希环中的地址哈希验证所述路径证明是否成立之前,还包括:
判断是存在以所述默克尔哈希树的根节点作为合同标识的多签合同;
如果存在以所述默克尔哈希树的根节点作为合同标识的多签合同,则进一步判断该多签合同内的哈希环中是否存所述签名发起方对所述多签合同的已签署标记;
如果不存在所述签名发起方对所述多签合同的已签署标记,则触发根据所述哈希环中的地址哈希验证所述路径证明是否成立。
本说明书实施例的基于一致性哈希和路径证明的多签验证方法中,所述根据所述哈希环中的地址哈希验证所述路径证明是否成立,包括:
根据路径证明中的默克尔路径从所述哈希环中获取关联节点;
根据所述关联节点计算新根节点;
判断所述新根节点与所述哈希环内的根节点是否一致;
如果一致,则确认所述路径证明成立。
本说明书实施例的基于一致性哈希和路径证明的多签验证方法中,所述合同签名为异步并行签署的合同签名。
本说明书实施例的基于一致性哈希和路径证明的多签验证方法中,所述更新合同签署人数,包括:
在所述哈希环内将所述签名发起方对所述多签合同的签署状态标记变更为已签署标记,并将所述多签合同内的签名计数器的计数值加一。
另一方面,本说明书实施例还提供了一种基于一致性哈希和路径证明的多签验证方装置,包括:
生成模块,用于预先生成以默克尔哈希树的根节点作为合同标识的多签合同;所述多签合同中每个签约用户的地址哈希以哈希环方式存储;所述默克尔哈希树以每个所述地址哈希作为叶子节点,且以合同消息哈希作为所述根节点的子节点之一构建得到;
提供模块,用于向签名发起方提供随机叶子节点,所述随机叶子节点是从所述默克尔哈希树中随机选择的叶子节点;
接收模块,用于接收所述签名发起方提供的合同签名;所述合同签名中包含所述根节点至所述随机叶子节点的路径证明;
验证模块,用于根据所述哈希环中的地址哈希验证所述路径证明是否成立;如果所述路径证明成立,则更新合同签署人数;
确认模块,用于当合同签署人数达到多签阈值时,确认所述多签合同完成多签验证。
另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过对多签地址的一致性哈希映射,减少了地址存储空间,通过将地址构成默克尔哈希树并进行路径证明验证,保护了签约用户的隐私。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本说明书一些实施例中的多签验证场景示意图;
图2示出了本说明书一些实施例中基于一致性哈希和路径证明的多签验证方法的流程图;
图3示出了本说明书一示例性实施例中基于合同消息哈希和用户的地址哈希构建的默克尔哈希树的示意图;
图4示出了图3所示默克尔哈希树中的路径证明的示意图;
图5示出了对基于图4所示的路径证明的验证示意图;
图6示出了本说明书一些实施例中基于一致性哈希和路径证明的多签验证装置的结构框图;
图7示出了本说明书一些实施例中计算机设备的结构框图。
【附图标记说明】
100、客户端;
200、区块链节点;
61、生成模块;
62、提供模块;
63、接收模块;
64、验证模块;
65、确认模块;
702、计算机设备;
704、处理器;
706、存储器;
708、驱动机构;
710、输入/输出接口;
712、输入设备;
714、输出设备;
716、呈现设备;
718、图形用户接口;
720、网络接口;
722、通信链路;
724、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供了基于一致性哈希和路径证明的多签验证技术,可以应用于分布式网络下的任何需要多签验证的应用场景(例如电子签章、资金监管、财产分割等)。例如,在司法应用场景中,建立面向同一电子文本进行多方签约存证,涉及到10000个人,但是可能需要3000人签名即可;在电子文本中,需要确切对3000个人的签名进行验证和溯源。当10000个人中有任意3000个人通过验证,即可以认为多方签约验证通过。
参考图1所示,分布式网络的区块链节点200可以基于一致性哈希和路径证明的多签验证技术,对客户端100发送的用户的合同签名进行多签验证,减少多签验证中用户的地址所占用的存储空间,并提高多签验证的隐私安全。
一些实施例中,所述客户端100可以为自助终端设备、移动终端(即智能手机)、显示器、台式电脑、平板电脑、笔记本电脑、数字助理或智能可穿戴设备等。其中,智能可穿戴设备可以包括智能手环、智能手表、智能眼镜或智能头盔等。当然,所述客户端100并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软件。
本说明书实施例提供了一种基于一致性哈希和路径证明的多签验证方法,可以应用于上述的区块链节点侧,参考图2所示,所述基于一致性哈希和路径证明的多签验证方法可以包括以下步骤:
步骤201、预先生成以默克尔哈希树的根节点作为合同标识的多签合同;所述多签合同中每个签约用户的地址哈希以哈希环方式存储;所述默克尔哈希树以每个所述地址哈希作为叶子节点,且以合同消息哈希作为所述根节点的子节点之一构建得到。
默克尔哈希树即默克尔树(Merkletree,MT)是一种哈希二叉树。Merkle树结构由一个根节点(root)、一组中间节点和一组叶子节点(leaf)组成。叶子节点(leaf)包含信息数据的哈希值;中间节点是其两个子节点内容的哈希值;同样,根节点也是其两个子节点内容的哈希值。所以Merkle树也称哈希树或默克尔哈希树。在一些实施例中,中间节点可以表示为,其中,为中间节点的哈希值,为中间节点的一个子节点的哈希值,为中间节点的另一个子节点的哈希值,表示和的字符串拼接组合,且在前,在后。
本说明书实施例中,通过引入默克尔哈希树及其路径证明,即可以有利于快捷实现多签验证,又可以保护签约发起方的隐私。
一些实施例中,在合同签署前,为了对外隐藏地址,每个签约用户(即合同签约方)可以基于本地的随机数生成器选择一个随机数,并根据公式生成固定长度的地址哈希。其中,为第个签约用户的地址哈希,为第i个签约用户选择的随机数,为第i个签约用户的地址,sha3为哈希算法。由于签约用户的地址一般较长,通过进行哈希处理可以在一定程度上降低地址的数据量,从而可以节约多签验证的存储空间;不仅如此,由于签约用户的地址哈希是通过随机数混淆和哈希加密得到,在后续各个签约用户基于地址哈希交换地址时,就实现了对外隐藏地址,从而提高了用户的隐私安全。
每个签约用户生成自己的地址哈希后,可以在加密后(用其他签约用户的公钥加密)广播给其他签约用户,从而实现各签约用户之间的地址交换,以便于各签约用户后续构建默克尔哈希树。在构建默克尔哈希树之前,签约用户还可以根据公式将合同消息(即合同内容)进行哈希计算,从而得到合同消息哈希;在此基础上,区块链网络中的任意一个区块链节点就可以每个签约用户的地址哈希作为叶子节点,且以合同消息哈希作为默克尔哈希树的根节点的一个子节点,构建默克尔哈希树。一些实施例中,构建出的默克尔哈希树计根节点可以表示;并可以将RT和多签参数(N,M)传入多签合约中。其中,多签参数(N,M)即表示N个签约用户有任意M个通过签约验证时,即视为完成合同的多签验证。由于默克尔哈希树中包含有唯一的合同消息哈希,使用方便地使用RT作为多签合同的合同标识。
例如,在一示例性实施例中,若有四个签约用户,其对应的地址分为Add1~Add4,根据公式,可以将四个地址Add1~Add4对应生成四个地址哈希H41~H44;根据公式可以将合同消息进行哈希计算,从而得到合同消息哈希Hm;据此可以构建出如图3所示的默克尔哈希树。在图3所示的默克尔哈希树中,H41~H44为叶子节点;H31、H32、H21和Hm为中间节点;H31是其两个子节点H41和H42的内容的哈希值;H32是其两个子节点H43和H44的内容的哈希值;H21是其两个子节点H31和H32的内容的哈希值;RT作为根节点,是其两个子节点H21和Hm的内容的哈希值。
本说明书实施例中,多签合约可以存储多个多签合同,从而大大节省了多签合同的创建实例,从而给区块链节点进一步节省了资源空间。
多签合同除了存储有合同标识RT和多签参数(N,M)外,还组建了一个哈希环,该哈希环上存储有N个签约用户的地址哈希。以上述的哈希算法sh3为例,每个地址哈希的字符长度为8字节,则N个签约用户的地址哈希共需要字节的存储空间。
一致性哈希算法可以将整个哈希值空间按照顺时针方向组织成一个虚拟的圆环,称为哈希环(Hash 环);在将合同消息及各个签约用户的地址使用 Hash 函数(例如sh3等)进行哈希后,根据这些哈希值可以确定其在哈希环上的存储位置。在本说明书实施例中,通过对地址哈希的一致性哈希映射,可以有利于进一步减少地址存储空间。
步骤202、向签名发起方提供随机叶子节点,所述随机叶子节点是从所述默克尔哈希树中随机选择的叶子节点。
为了确保签名发起方(即请求发起签名的一方)均是真实的签约用户,当有签名发起方请求签名时,可以从默克尔哈希树中随机选择一个叶子节点,并将其作为随机叶子节点提供给签名发起方,以要求签名发起方在签名时携带默克尔哈希的树根节点至该随机叶子节点的路径证明;如果签名发起方是真实的签约用户,则其提供的路径证明可以通过验证;如果签名发起方不是真实的签约用户,则其提供的路径证明不能通过验证。
步骤203、接收所述签名发起方提供的合同签名;所述合同签名中包含所述根节点至所述随机叶子节点的路径证明。
本说明书实施例中,签名发起方的合同签名可以异步并行签署,无需等待其他人的签名信息,也不需要聚合其他人的签名信息;从而可以有利于提高并发场景下的多签验证处理量,提高多签验证的处理效率。
在进行合同签名时,签名发起方先求取从默克尔哈希树中根节点RT至该随机叶子节点的路径证明,该路径证明可以表示为:,其中,zkproof为零知识证明的断言或命题,为从根节点RT至随机叶子节点的默克尔路径表示;π即为从根节点RT至随机叶子节点的零知识路径证明。然后,签名发起方用自身的私钥(即进行非对称加密)对π进行签名后发送(即将合同签名进行上链),以便于区块链节点验证。
例如,在如图4所示例性实施例中,若地址为Add2对应的叶子节点H42作为随机节点,如果签名发起方为真实的签约用户,其可以求取出从RT至H42的默克尔路径为:RT→H21→H31→H42(如图4中的灰色节点所示)。
步骤204、根据所述哈希环中的地址哈希验证所述路径证明是否成立;如果所述路径证明成立,则更新合同签署人数。
一些实施例中,根据所述哈希环中的地址哈希验证所述路径证明是否成立,可以包括如下步骤:
(1)根据路径证明中的默克尔路径从所述哈希环中获取关联节点。
关联节点是与默克尔路径中的节点存在父子关系的节点。例如,在如图5所示例性实施例中,路径证明中的默克尔路径为RT→H21→H31→H42(如图5中的灰色节点所示),则通过查找该默克尔路径,可以确定对应的关联节点包括H41、H32和Hm(如图5中的虚线节点所示)。其中,H41是默克尔路径中H31的子节点,H32是默克尔路径中H21的子节点,Hm是默克尔路径中RT的子节点。
(2)根据所述关联节点计算新根节点。
(3)判断所述新根节点与所述哈希环内的根节点是否一致;如果一致,则确认所述路径证明成立,即证明签名发起方为真实的签约用户;否则确认所述路径证明不成立,即证明签名发起方不是真实的签约用户。
因此,本说明书实施例中,签名发起方不需要提供多签合同中所有签约用户的地址哈希,而是仅提供从默克尔哈希树中根节点RT至随机叶子节点的路径证明(即断言其知晓该条默克尔路径),由验证者验证该断言的正确性。如此,通过将哈希地址构成默克尔哈希树并进行零知识证明验证,可以很好地保护了多签合同中各个签约用户的隐私。
一些实施例中,更新合同签署人数可以包括:在所述哈希环内将所述签名发起方对所述多签合同的签署状态标记变更为已签署标记(例如,未签署状态标记可以为0,已签署状态标记可以为1),并将所述多签合同内的签名计数器(Counter)的计数值加一。
步骤205、当合同签署人数达到多签阈值时,确认所述多签合同完成多签验证。
例如,以多签参数(N,M)为例,当N个用户中有任意M个用户通过签名验证,则表示多签验证成功,可以执行后续的相关处理动作等。
一些实施例中,在根据所述哈希环中的地址哈希验证所述路径证明是否成立之前,还包括:
(1)判断是存在以所述默克尔哈希树的根节点作为合同标识的多签合同。
(2)如果存在以所述默克尔哈希树的根节点作为合同标识的多签合同,则进一步判断该多签合同内的哈希环中是否存所述签名发起方对所述多签合同的已签署标记;否则,确认该合同签名未通过验证;从而可以防止同一个签约用户对多签合同的重复签名。
(3)如果不存在所述签名发起方对所述多签合同的已签署标记,则触发根据所述哈希环中的地址哈希验证所述路径证明是否成立。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
与上述的基于一致性哈希和路径证明的多签验证方法对应,本说明书实施例还提供了一种基于一致性哈希和路径证明的多签验证装置,参考图6所示,所述基于一致性哈希和路径证明的多签验证装置可以包括:
生成模块61,可以用于预先生成以默克尔哈希树的根节点作为合同标识的多签合同;所述多签合同中每个签约用户的地址哈希以哈希环方式存储;所述默克尔哈希树以每个所述地址哈希作为叶子节点,且以合同消息哈希作为所述根节点的子节点之一构建得到;
提供模块62,可以用于向签名发起方提供随机叶子节点,所述随机叶子节点是从所述默克尔哈希树中随机选择的叶子节点;
接收模块63,可以用于接收所述签名发起方提供的合同签名;所述合同签名中包含所述根节点至所述随机叶子节点的路径证明;
验证模块64,可以用于根据所述哈希环中的地址哈希验证所述路径证明是否成立;如果所述路径证明成立,则更新合同签署人数;
确认模块65,可以用于当合同签署人数达到多签阈值时,确认所述多签合同完成多签验证。
一些实施例的基于一致性哈希和路径证明的多签验证装置中,所述验证模块64还可以用于:
在根据所述哈希环中的地址哈希验证所述路径证明是否成立之前,判断是存在以所述默克尔哈希树的根节点作为合同标识的多签合同;
如果存在以所述默克尔哈希树的根节点作为合同标识的多签合同,则进一步判断该多签合同内的哈希环中是否存所述签名发起方对所述多签合同的已签署标记;
如果不存在所述签名发起方对所述多签合同的已签署标记,则触发根据所述哈希环中的地址哈希验证所述路径证明是否成立。
一些实施例的基于一致性哈希和路径证明的多签验证装置中,所述根据所述哈希环中的地址哈希验证所述路径证明是否成立,包括:
根据路径证明中的默克尔路径从所述哈希环中获取关联节点;
根据所述关联节点计算新根节点;
判断所述新根节点与所述哈希环内的根节点是否一致;
如果一致,则确认所述路径证明成立。
一些实施例的基于一致性哈希和路径证明的多签验证装置中,所述合同签名为异步并行签署的合同签名。
一些实施例的基于一致性哈希和路径证明的多签验证装置中,所述更新合同签署人数,包括:
在所述哈希环内将所述签名发起方对所述多签合同的签署状态标记变更为已签署标记,并将所述多签合同内的签名计数器的计数值加一。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,本说明书的实施例中,所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权同意且经过各方充分授权的信息和数据。
本说明书的实施例还提供一种计算机设备。如图7所示,在本说明书一些实施例中,所述计算机设备702可以包括一个或多个处理器704,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备702还可以包括任何存储器706,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施例中,存储器706上并可在处理器704上运行的计算机程序,所述计算机程序被所述处理器704运行时,可以执行上述任一实施例所述的基于一致性哈希和路径证明的多签验证方法的指令。非限制性的,比如,存储器706可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备702的固定或可移除部件。在一种情况下,当处理器704执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备702可以执行相关联指令的任一操作。计算机设备702还包括用于与任何存储器交互的一个或多个驱动机构708,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备702还可以包括输入/输出接口710(I/O),其用于接收各种输入(经由输入设备712)和用于提供各种输出(经由输出设备714)。一个具体输出机构可以包括呈现设备716和相关联的图形用户接口718(GUI)。在其他实施例中,还可以不包括输入/输出接口710(I/O)、输入设备712以及输出设备714,仅作为网络中的一台计算机设备。计算机设备702还可以包括一个或多个网络接口720,其用于经由一个或多个通信链路722与其他设备交换数据。一个或多个通信总线724将上文所描述的部件耦合在一起。
通信链路722可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路722可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本申请是参照本说明书一些实施例的方法、设备(系统)、计算机可读存储介质和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种基于一致性哈希和路径证明的多签验证方法,其特征在于,包括:
预先生成以默克尔哈希树的根节点作为合同标识的多签合同;所述多签合同中每个签约用户的地址哈希以哈希环方式存储;所述默克尔哈希树以每个所述地址哈希作为叶子节点,且以合同消息哈希作为所述根节点的子节点之一构建得到;
向签名发起方提供随机叶子节点,所述随机叶子节点是从所述默克尔哈希树中随机选择的叶子节点;
接收所述签名发起方提供的合同签名;所述合同签名中包含所述根节点至所述随机叶子节点的路径证明;
根据所述哈希环中的地址哈希验证所述路径证明是否成立;如果所述路径证明成立,则更新合同签署人数;
当合同签署人数达到多签阈值时,确认所述多签合同完成多签验证。
2.如权利要求1所述的基于一致性哈希和路径证明的多签验证方法,其特征在于,在根据所述哈希环中的地址哈希验证所述路径证明是否成立之前,还包括:
判断是存在以所述默克尔哈希树的根节点作为合同标识的多签合同;
如果存在以所述默克尔哈希树的根节点作为合同标识的多签合同,则进一步判断该多签合同内的哈希环中是否存所述签名发起方对所述多签合同的已签署标记;
如果不存在所述签名发起方对所述多签合同的已签署标记,则触发根据所述哈希环中的地址哈希验证所述路径证明是否成立。
3.如权利要求1所述的基于一致性哈希和路径证明的多签验证方法,其特征在于,所述根据所述哈希环中的地址哈希验证所述路径证明是否成立,包括:
根据路径证明中的默克尔路径从所述哈希环中获取关联节点;
根据所述关联节点计算新根节点;
判断所述新根节点与所述哈希环内的根节点是否一致;
如果一致,则确认所述路径证明成立。
4.如权利要求1所述的基于一致性哈希和路径证明的多签验证方法,其特征在于,所述合同签名为异步并行签署的合同签名。
5.如权利要求1所述的基于一致性哈希和路径证明的多签验证方法,其特征在于,所述更新合同签署人数,包括:
在所述哈希环内将所述签名发起方对所述多签合同的签署状态标记变更为已签署标记,并将所述多签合同内的签名计数器的计数值加一。
7.一种基于一致性哈希和路径证明的多签验证装置,其特征在于,包括:
生成模块,用于预先生成以默克尔哈希树的根节点作为合同标识的多签合同;所述多签合同中每个签约用户的地址哈希以哈希环方式存储;所述默克尔哈希树以每个所述地址哈希作为叶子节点,且以合同消息哈希作为所述根节点的子节点之一构建得到;
提供模块,用于向签名发起方提供随机叶子节点,所述随机叶子节点是从所述默克尔哈希树中随机选择的叶子节点;
接收模块,用于接收所述签名发起方提供的合同签名;所述合同签名中包含所述根节点至所述随机叶子节点的路径证明;
验证模块,用于根据所述哈希环中的地址哈希验证所述路径证明是否成立;如果所述路径证明成立,则更新合同签署人数;
确认模块,用于当合同签署人数达到多签阈值时,确认所述多签合同完成多签验证。
8.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-6任意一项所述方法的指令。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-6任意一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211028816.6A CN115118437B (zh) | 2022-08-25 | 2022-08-25 | 基于一致性哈希和路径证明的多签验证方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211028816.6A CN115118437B (zh) | 2022-08-25 | 2022-08-25 | 基于一致性哈希和路径证明的多签验证方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115118437A CN115118437A (zh) | 2022-09-27 |
CN115118437B true CN115118437B (zh) | 2022-10-28 |
Family
ID=83336289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211028816.6A Active CN115118437B (zh) | 2022-08-25 | 2022-08-25 | 基于一致性哈希和路径证明的多签验证方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118437B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019088397A1 (ko) * | 2017-11-02 | 2019-05-09 | 단국대학교 산학협력단 | 일회용 패스워드를 이용한 트랜잭션 인증 방법 및 장치 |
CN111488396A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 业务数据区块链的数据同步方法及装置 |
CN112565264A (zh) * | 2020-12-04 | 2021-03-26 | 湖南大学 | 一种基于区块链的云存储数据完整性检测方法及系统 |
WO2021120253A1 (zh) * | 2019-12-16 | 2021-06-24 | 郑杰骞 | 链式结构数据存储、验证、实现方法、系统、装置及介质 |
WO2022121461A1 (zh) * | 2020-12-10 | 2022-06-16 | 苏州浪潮智能科技有限公司 | 一种云平台资源访问控制的令牌构造方法、装置及设备 |
CN114781007A (zh) * | 2022-06-21 | 2022-07-22 | 杭州天谷信息科技有限公司 | 基于树的文档批量签名及验签方法、系统 |
-
2022
- 2022-08-25 CN CN202211028816.6A patent/CN115118437B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019088397A1 (ko) * | 2017-11-02 | 2019-05-09 | 단국대학교 산학협력단 | 일회용 패스워드를 이용한 트랜잭션 인증 방법 및 장치 |
WO2021120253A1 (zh) * | 2019-12-16 | 2021-06-24 | 郑杰骞 | 链式结构数据存储、验证、实现方法、系统、装置及介质 |
CN111488396A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 业务数据区块链的数据同步方法及装置 |
CN112565264A (zh) * | 2020-12-04 | 2021-03-26 | 湖南大学 | 一种基于区块链的云存储数据完整性检测方法及系统 |
WO2022121461A1 (zh) * | 2020-12-10 | 2022-06-16 | 苏州浪潮智能科技有限公司 | 一种云平台资源访问控制的令牌构造方法、装置及设备 |
CN114781007A (zh) * | 2022-06-21 | 2022-07-22 | 杭州天谷信息科技有限公司 | 基于树的文档批量签名及验签方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115118437A (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2687182T3 (es) | Determinar un secreto común para el intercambio seguro de información y claves criptográficas jerárquicas y deterministas | |
CN113569294B (zh) | 一种零知识证明方法及装置、电子设备、存储介质 | |
CN113095827B (zh) | 匿名多重签名方法、计算机设备和存储介质 | |
US20220131707A1 (en) | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device | |
CN112380584B (zh) | 区块链数据更新方法、装置、电子设备和存储介质 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
Liu et al. | Privacy-preserving COVID-19 contact tracing solution based on blockchain | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
Yu et al. | Identity‐Based Proxy Signcryption Protocol with Universal Composability | |
Lee et al. | Privacy-preserving identity management system | |
JP2022095852A (ja) | デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 | |
WO2021143029A1 (zh) | 零知识证明方法、装置及存储介质 | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
US20240187256A1 (en) | Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements | |
CN116389164B (zh) | 数据的检测方法及装置 | |
CN115118411B (zh) | 链下多方可信计算方法、装置、设备及存储介质 | |
CN115118437B (zh) | 基于一致性哈希和路径证明的多签验证方法、装置及设备 | |
CN115473632B (zh) | 一种改进的多层可链接环签名生成方法及装置 | |
US20230006835A1 (en) | Cross-blockchain identity and key management | |
Hajny et al. | Privacy ABCs: Now Ready for Your Wallets! | |
CN112184440A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112541197B (zh) | 一种结果验证方法及装置 | |
Zand et al. | Efficient cyber-evidence sharing using zero-knowledge proofs | |
CN116506227B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Li et al. | Secure Multi-party SM2 Signature Based on SPDZ Protocol |
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 | ||
CP03 | Change of name, title or address |
Address after: 200233 Room 201, Building 14, No. 655 Fengzhou Road, Jiading District, Shanghai JT6344 Patentee after: Shanghai Xiecheng New Technology Development Co.,Ltd. Patentee after: PEOPLE'S COURT INFORMATION TECHNOLOGY SERVICE CENTER Address before: No. 27, dongjiaomin lane, Dongcheng District, Beijing 100745 Patentee before: PEOPLE'S COURT INFORMATION TECHNOLOGY SERVICE CENTER Patentee before: Shanghai Xiecheng New Technology Development Co.,Ltd. |
|
CP03 | Change of name, title or address |