CN113095827B - 匿名多重签名方法、计算机设备和存储介质 - Google Patents
匿名多重签名方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113095827B CN113095827B CN202110384110.2A CN202110384110A CN113095827B CN 113095827 B CN113095827 B CN 113095827B CN 202110384110 A CN202110384110 A CN 202110384110A CN 113095827 B CN113095827 B CN 113095827B
- Authority
- CN
- China
- Prior art keywords
- verification
- signature
- anonymous
- contract
- repeated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012795 verification Methods 0.000 claims abstract description 151
- 239000002356 single layer Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000010410 layer Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种匿名多重签名方法、计算机设备和存储介质,该方法包括:根据第二私钥和第一ID生成第一重复验证哈希;以第一ID、第一重复验证哈希、第一默克尔树的树根作为电路证明算法的公开输入,以第二私钥、第二地址、路径信息作为私密输入,生成第一证明信息;生成包括第一ID、第一重复验证哈希、树根和第一证明信息的第一匿名多重签名交易并发送至区块链网络,以供节点执行,将各项第二重复验证哈希、验证参数、第一ID、第一重复验证哈希、树根和第一证明信息输入电路验证算法进行验证:验证成功,则将第一重复验证哈希存入合约,并判断重复验证哈希数量是否符合验证门限:是,则该次多重签名验证成功。本发明实现了区块链上的匿名多重签名。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种匿名多重签名方法、计算机设备和存储介质。
背景技术
当前的区块链多重签名方案都是公开签名的方案:
参与多重签名的用户通过自己持有的私钥签名并生成交易发送到区块链网络中;
区块链节点通过多重签名合约执行该笔交易,通过该用户的公钥验证签名:验证成功,则在合约中记录该用户的签名;
当合约中记录的签名用户数超过多重签名需要求的用户数,例如,总用户数的2/3时,则本次多重签名验证成功。
上述方案非常清晰地暴露了哪些用户参与了多重签名、哪些用户没有参与多重签名。
当某些用户既希望参与本次多重签名,又不希望暴露自己参与本次多重签名的信息时,上述方案无法满足该类用户的需求。
零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种在区块链上实现匿名多重签名的匿名多重签名方法、计算机设备和存储介质。
第一方面,本发明提供一种适用于用户端的匿名多重签名方法,区块链上配置有匿名多重签名合约,匿名多重签名合约中配置有用于验证匿名多重签名的零知识证明电路,以及,根据零知识证明电路的生成算法所生成的验证参数;匿名多重签名合约存有已注册的第一多重签名的第一ID、验证门限、有签名权限的各第一地址,以及,根据各第一地址生成的第一默克尔树,该方法包括:
根据当前用户所持有的具有第一多重签名的签名权限的第二私钥和第一ID生成第一重复验证哈希;
以第一ID、第一重复验证哈希、第一默克尔树的树根作为零知识证明电路的证明算法的公开输入,以第二私钥、第二私钥对应的第二地址、第二地址到达树根的路径信息作为证明算法的私密输入,生成第一证明信息;
生成包括第一ID、第一重复验证哈希、树根和第一证明信息的第一匿名多重签名交易并发送至区块链网络,以供区块链节点通过匿名多重签名合约执行,将匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希、验证参数、第一ID、第一重复验证哈希、树根和第一证明信息输入零知识证明电路的验证算法进行验证:
验证失败,则第一匿名多重签名交易执行失败;
验证成功,则将第一重复验证哈希存入匿名多重签名合约,并判断匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量是否符合验证门限:
是,则该次多重签名验证成功。
第二方面,本发明提供一种适用于区块链节点的匿名多重签名方法,区块链上配置有匿名多重签名合约,匿名多重签名合约中配置有用于验证匿名多重签名的零知识证明电路,以及,根据零知识证明电路的生成算法所生成的验证参数;匿名多重签名合约存有已注册的第一多重签名的第一ID、验证门限、有签名权限的各第一地址,以及,根据各第一地址生成的第一默克尔树,该方法包括:
通过匿名多重签名合约执行第一匿名多重签名交易,将匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希,以及,第一匿名多重签名交易提交的验证参数、第一ID、第一重复验证哈希、第一默克尔树的树根和第一证明信息输入零知识证明电路的验证算法进行验证:
验证失败,则第一匿名多重签名交易执行失败;
验证成功,则将第一重复验证哈希存入匿名多重签名合约,并判断匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量是否符合验证门限:
是,则该次多重签名验证成功。
其中,第一匿名多重签名交易包括第一ID、第一重复验证哈希、树根和第一证明信息,由第一用户端生成;
第一重复验证哈希由第一用户端根据第一用户所持有的具有第一多重签名的签名权限的第二私钥和第一ID生成;
第一证明信息由第一用户端以第一ID、第一重复验证哈希、树根作为零知识证明电路的证明算法的公开输入,并以第二私钥、第二私钥对应的第二地址、第二地址到达树根的路径信息作为证明算法的私密输入所生成。
第三方面,本发明还提供一种计算机设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的匿名多重签名方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的匿名多重签名方法。
本发明诸多实施例提供的匿名多重签名方法、计算机设备和存储介质通过在智能合约中配置用于验证签名是否能通过验证、通过验证的签名数量是否足够的零知识证明电路,并配置根据该电路生成的验证参数,使得公开提交到区块链上的匿名多重签名交易可以只包括根据零知识证明电路所生成的证明信息以及若干身份无关的公开输入,而无需包括公钥等任何可能暴露用户身份的信息;同时还通过在零知识证明电路中配置根据私钥和多重签名ID生成的重复验证哈希,保障了同一个投票账户的重复匿名投票无法通过验证,从而保障了多个账户分开进行匿名投票的可行性,最终实现了区块链上的匿名多重签名。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种匿名多重签名方法的流程图。
图2为本发明一实施例提供的另一种匿名多重签名方法的流程图。
图3为本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种匿名多重签名方法的流程图。
如图1所示,在本实施例中,本发明提供一种适用于用户端的匿名多重签名方法,区块链上配置有匿名多重签名合约,匿名多重签名合约中配置有用于验证匿名多重签名的零知识证明电路,以及,根据零知识证明电路的生成算法所生成的验证参数;匿名多重签名合约存有已注册的第一多重签名的第一ID、验证门限、有签名权限的各第一地址,以及,根据各第一地址生成的第一默克尔树,该方法包括:
S11:根据当前用户所持有的具有第一多重签名的签名权限的第二私钥和第一ID生成第一重复验证哈希;
S13:以第一ID、第一重复验证哈希、第一默克尔树的树根作为零知识证明电路的证明算法的公开输入,以第二私钥、第二私钥对应的第二地址、第二地址到达树根的路径信息作为证明算法的私密输入,生成第一证明信息;
S15:生成包括第一ID、第一重复验证哈希、树根和第一证明信息的第一匿名多重签名交易并发送至区块链网络,以供区块链节点通过匿名多重签名合约执行,将匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希、验证参数、第一ID、第一重复验证哈希、树根和第一证明信息输入零知识证明电路的验证算法进行验证:
验证失败,则第一匿名多重签名交易执行失败;
验证成功,则将第一重复验证哈希存入匿名多重签名合约,并判断匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量是否符合验证门限:
是,则该次多重签名验证成功。
上述零知识证明电路根据以下几项验证原理所生成:
1、验证第一重复验证哈希与匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希是否各不相同。
即,若第一重复验证哈希与任一项第二重复验证哈希相同,则说明存在用户通过第二私钥重复签名。
2、验证第一重复验证哈希=hash(第二私钥,第一ID)。
即,验证第一重复验证哈希是否确实是根据第二私钥和第一ID生成的。
3、验证第二地址=addr(第二私钥*G);其中,G为椭圆曲线基点。
即,验证用户是否持有第二地址所对应的私钥。
4、验证第一ID对应的第一默克尔树的树根=merkle_root(第二地址,路径信息)。
即,验证第二地址是否具有第一多重签名的签名权限的地址。
具体地,本领域技术人员可以理解在零知识证明体系中如何根据上述几项验证原理生成零知识证明电路,该零知识证明电路至少包括生成算法Setup()、证明算法Prove()和验证算法Verify()。具体过程此处不再赘述。
匿名多重签名合约中还配置有根据上述零知识证明电路的生成算法Setup()所生成的验证参数ver_key。
具体地,在本申请中,验证参数ver_key是与用户信息无关的,即,只需要在对匿名多重签名合约部署零知识证明电路的同时将验证参数ver_key部署到合约中即可,用户在注册不同的多重签名时无需部署不同的验证参数。
以下以匿名多重签名合约中注册了一项8个账户有签名权限、需要8个账户中至少6个账户签名可以通过、ID为001的匿名多重签名为例,对上述方法进行示例性的阐述。
在注册该项匿名多重签名时,匿名多重签名合约为该项匿名多重签名分配了ID1(001),将验证门限(不小于6)、有签名权限的各地址addr1-addr8,以及,根据addr1-addr8生成的第一默克尔树存到合约中。
上述表格为本实施例中第一默克尔树的示意表(注:实际存储的数据格式并非表格)。
以用户甲的用户端执行图1所示的方法为例:
在步骤S11中,用户甲的用户端根据私钥p1和ID1生成重复验证哈希hash1=hash(p1,ID1)。
在步骤S13中,用户甲的用户端以ID1、hash1、树根hash12345678作为上述证明算法Prove()的公开输入,以p1、addr1、addr1到达树根的路径信息(addr2、hash34、hash5678)作为证明算法Prove()的私密输入,生成第一证明信息prove1,即:
Prove(ID1,hash1,hash12345678,p1,addr1,addr2,hash34,hash5678)→prove1。
需要说明的是,在本实施例中,路径信息由多个单层路径addr2、hash34、hash5678组成,而部署在合约中的零知识证明电路是固定的,即:
当证明算法Prove()支持输入3个单层路径时,该零知识证明电路最多可支持4层的默克尔树,即最多可支持8个账户的多重签名。
当证明算法Prove()支持输入10个单层路径时,该零知识证明电路最多可支持11层的默克尔树,即最多支持1024个账户的多重签名。此时若路径信息仅包括3个单层路径,则可以将剩余7个单层路径的私密输入项置为空,例如:
Prove(ID1,hash1,hash12345678,p1,addr1,addr2,hash34,hash5678,null,null,null,null,null,null,null)→prove1。
在更多实施例中,可根据实际需求将证明算法Prove()配置为支持输入n个单层路径,则该零知识证明电路最多可支持n+1层的默克尔树,即最多可支持2n个账户的多重签名,可实现相同的技术效果。其中,n为正整数。
在步骤S15中,用户甲的用户端生成包括ID1、hash1、hash12345678和prove1的匿名多重签名交易tx1并发送至区块链网络。
区块链节点接收、广播、打包并通过匿名多重签名合约执行tx1,将匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希(暂无)、验证参数ver_key、ID1、hash1、hash12345678和prove1输入上述验证算法Verify()进行验证:
Verify(null,ver_key,ID1,hash1,hash12345678,prove1)→Yes/No
具体地,验证算法Verify()保障了零知识证明电路内部同时进行了以下验证:
验证hash1与各项第二重复验证哈希(null)是否各不相同:否,则输出No;
验证hash1=hash(p1,ID1)是否成立:否,则输出No;
验证addr1=addr(p1*G)是否成立:否,则输出No;
验证ID1对应的hash12345678=merkle_root(addr1,addr2,hash34,hash5678)是否成立:否,则输出No;
各项验证全部通过,则输出Yes,将hash1存入匿名多重签名合约,并判断匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量(1)是否符合验证门限(不小于6):
否,则该次多重签名验证暂未成功。
依此类推,用户乙等用户的各用户端分别通过addr2等地址对应的各账户进行本次多重签名的过程与上述用户甲的用户端通过addr1对应的账户进行本次多重签名的过程相同,不再一一赘述。
需要说明的是,在上述多重签名的过程中,除签名用户外的任何人都无法根据区块链上所记录的信息分辨出签名的具体是哪个用户,匿名多重签名合约同样无法分辨出签名的具体是哪个用户,此时,若用户甲的用户端试图通过私钥p1重复签名发送tx1’以实现违法的多重签名验证成功,则验证算法Verify()会验证出tx1’所提交的第一重复验证哈希hash1’与合约中存有的第二重复验证哈希hash1相同,从而保障同一账户的重复匿名签名无法通过验证。
当第6个账户所提交的匿名多重签名交易通过验证时,区块链节点判断出匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量(6)符合验证门限(不小于6),该次多重签名验证成功。
上述实施例以一项8个账户有签名权限、验证门限配置为不小于6的匿名多重签名的验证过程为例,对图1所示的方法进行了示例性的阐述。在更多实施例中,可根据实际需求将图1所示的方法应用于零知识证明电路所支持的任意数量个有签名权限的账户、根据实际需求配置有不同验证门限的多重签名,均可实现相同的技术效果。
图2为本发明一实施例提供的另一种匿名多重签名方法的流程图。图2所示的方法可配合图1所示的方法执行。
如图2所示,在本实施例中,本发明还提供一种适用于区块链节点的匿名多重签名方法,区块链上配置有匿名多重签名合约,匿名多重签名合约中配置有用于验证匿名多重签名的零知识证明电路,以及,根据零知识证明电路的生成算法所生成的验证参数;匿名多重签名合约存有已注册的第一多重签名的第一ID、验证门限、有签名权限的各第一地址,以及,根据各第一地址生成的第一默克尔树,该方法包括:
S21:通过匿名多重签名合约执行第一匿名多重签名交易,将匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希,以及,第一匿名多重签名交易提交的验证参数、第一ID、第一重复验证哈希、第一默克尔树的树根和第一证明信息输入零知识证明电路的验证算法进行验证:
验证失败,则第一匿名多重签名交易执行失败;
验证成功,则将第一重复验证哈希存入匿名多重签名合约,并判断匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量是否符合验证门限:
是,则该次多重签名验证成功。
其中,第一匿名多重签名交易包括第一ID、第一重复验证哈希、树根和第一证明信息,由第一用户端生成;
第一重复验证哈希由第一用户端根据第一用户所持有的具有第一多重签名的签名权限的第二私钥和第一ID生成;
第一证明信息由第一用户端以第一ID、第一重复验证哈希、树根作为零知识证明电路的证明算法的公开输入,并以第二私钥、第二私钥对应的第二地址、第二地址到达树根的路径信息作为证明算法的私密输入所生成。
在一优选实施例中,上述路径信息由多个单层路径组成,上述证明算法支持输入10个单层路径。
图2所示方法的匿名多重签名原理可参照图1所示的方法,此处不再赘述。
图3为本发明一实施例提供的一种计算机设备的结构示意图。
如图3所示,作为另一方面,本申请还提供了一种计算机设备300,包括一个或多个中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有设备300操作所需的各种程序和数据。CPU301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (6)
1.一种匿名多重签名方法,其特征在于,区块链上配置有匿名多重签名合约,所述匿名多重签名合约中配置有用于验证匿名多重签名的零知识证明电路,以及,根据所述零知识证明电路的生成算法所生成的验证参数;所述匿名多重签名合约存有已注册的第一多重签名的第一ID、验证门限、有签名权限的各第一地址,以及,根据所述各第一地址生成的第一默克尔树;所述方法适用于用户端,所述方法包括:
根据当前用户所持有的具有所述第一多重签名的签名权限的第二私钥和所述第一ID生成第一重复验证哈希;
以所述第一ID、所述第一重复验证哈希、所述第一默克尔树的树根作为所述零知识证明电路的证明算法的公开输入,以所述第二私钥、所述第二私钥对应的第二地址、所述第二地址到达所述树根的路径信息作为所述证明算法的私密输入,生成第一证明信息;
生成包括所述第一ID、所述第一重复验证哈希、所述树根和所述第一证明信息的第一匿名多重签名交易并发送至区块链网络,以供区块链节点通过所述匿名多重签名合约执行,将所述匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希、所述验证参数、所述第一ID、所述第一重复验证哈希、所述树根和所述第一证明信息输入所述零知识证明电路的验证算法进行验证:
验证失败,则所述第一匿名多重签名交易执行失败;
验证成功,则将所述第一重复验证哈希存入所述匿名多重签名合约,并判断所述匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量是否符合所述验证门限:
是,则该次多重签名验证成功。
2.根据权利要求1所述的方法,其特征在于,所述路径信息由多个单层路径组成,所述证明算法支持输入10个所述单层路径。
3.一种匿名多重签名方法,其特征在于,区块链上配置有匿名多重签名合约,所述匿名多重签名合约中配置有用于验证匿名多重签名的零知识证明电路,以及,根据所述零知识证明电路的生成算法所生成的验证参数;所述匿名多重签名合约存有已注册的第一多重签名的第一ID、验证门限、有签名权限的各第一地址,以及,根据所述各第一地址生成的第一默克尔树;所述方法适用于区块链节点,所述方法包括:
通过所述匿名多重签名合约执行第一匿名多重签名交易,将所述匿名多重签名合约中所存有的该次多重签名的各项第二重复验证哈希,以及,所述第一匿名多重签名交易提交的验证参数、第一ID、第一重复验证哈希、所述第一默克尔树的树根和第一证明信息输入所述零知识证明电路的验证算法进行验证:
验证失败,则所述第一匿名多重签名交易执行失败;
验证成功,则将所述第一重复验证哈希存入所述匿名多重签名合约,并判断所述匿名多重签名合约所存有的该次多重签名的重复验证哈希的数量是否符合所述验证门限:
是,则该次多重签名验证成功;
其中,所述第一匿名多重签名交易包括所述第一ID、所述第一重复验证哈希、所述树根和所述第一证明信息,由第一用户端生成;
所述第一重复验证哈希由所述第一用户端根据第一用户所持有的具有所述第一多重签名的签名权限的第二私钥和所述第一ID生成;
所述第一证明信息由所述第一用户端以所述第一ID、所述第一重复验证哈希、所述树根作为所述零知识证明电路的证明算法的公开输入,并以所述第二私钥、所述第二私钥对应的第二地址、所述第二地址到达所述树根的路径信息作为所述证明算法的私密输入所生成。
4.根据权利要求3所述的方法,其特征在于,所述路径信息由多个单层路径组成,所述证明算法支持输入10个所述单层路径。
5.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4中任一项所述的方法。
6.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110384110.2A CN113095827B (zh) | 2021-04-09 | 2021-04-09 | 匿名多重签名方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110384110.2A CN113095827B (zh) | 2021-04-09 | 2021-04-09 | 匿名多重签名方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113095827A CN113095827A (zh) | 2021-07-09 |
CN113095827B true CN113095827B (zh) | 2023-11-28 |
Family
ID=76675929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110384110.2A Active CN113095827B (zh) | 2021-04-09 | 2021-04-09 | 匿名多重签名方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113095827B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865980A (zh) * | 2021-02-01 | 2021-05-28 | 杭州复杂美科技有限公司 | 区块链加密投票方法、计算机设备和存储介质 |
CN113592476A (zh) * | 2021-08-02 | 2021-11-02 | 杭州复杂美科技有限公司 | 跨链资产转移方法、计算机设备和存储介质 |
CN113793146A (zh) * | 2021-08-02 | 2021-12-14 | 杭州复杂美科技有限公司 | 一种平行链同步交易的验证方法、设备及储存介质 |
CN113627910A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 一种区块链匿名红包发送方法、设备及储存介质 |
CN113746638B (zh) * | 2021-09-03 | 2023-04-07 | 杭州复杂美科技有限公司 | Nft存储方法、nft还原方法、计算机设备和存储介质 |
CN114565384A (zh) * | 2022-03-03 | 2022-05-31 | 杭州复杂美科技有限公司 | Nft隐私交易方法、计算机设备和存储介质 |
CN114666058B (zh) * | 2022-03-08 | 2023-06-13 | 深圳大学 | 基于多重签名的验证方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102170820B1 (ko) * | 2020-07-03 | 2020-10-28 | 주식회사 온더 | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 시스템 |
CN111886829A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于去信任零知识或有支付的计算机实现的系统及方法 |
CN112529550A (zh) * | 2020-12-08 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 一种基于区块链的匿名转账方法及装置、电子设备 |
-
2021
- 2021-04-09 CN CN202110384110.2A patent/CN113095827B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111886829A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于去信任零知识或有支付的计算机实现的系统及方法 |
KR102170820B1 (ko) * | 2020-07-03 | 2020-10-28 | 주식회사 온더 | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 시스템 |
CN112529550A (zh) * | 2020-12-08 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 一种基于区块链的匿名转账方法及装置、电子设备 |
Non-Patent Citations (1)
Title |
---|
区块链技术综述;张亮;刘百祥;张如意;江斌鑫;刘一江;;计算机工程(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113095827A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113095827B (zh) | 匿名多重签名方法、计算机设备和存储介质 | |
CN109936457B (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
CN110224837B (zh) | 基于分布式身份标识的零知识证明方法及终端 | |
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
US20220239496A1 (en) | Blockchain consensus method, device and system | |
Chiesa et al. | Proof-Carrying Data and Hearsay Arguments from Signature Cards. | |
JP2019160312A (ja) | ブロックチェーン・ノード、ブロックチェーン・ノードの方法、およびブロックチェーン・ノードのコンピュータ・プログラム | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN111275555B (zh) | 区块链交易处理方法、交易节点以及区块链系统 | |
CN112348518B (zh) | 一种区块链交易证明的方法及装置 | |
WO2022161108A1 (zh) | 一种匿名多重签名方法、计算机设备和存储介质 | |
CN111694895A (zh) | 区块链远程数据审计方法、系统 | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
WO2023005500A1 (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
WO2022193789A1 (zh) | 匿名多重签名方法、计算机设备和存储介质 | |
CN115529141A (zh) | 一种对数签名大小的可追踪环签名生成方法及系统 | |
CN113112269B (zh) | 多重签名方法、计算机设备和存储介质 | |
WO2022205957A1 (zh) | 一种基于中继设备跨链中转消息的方法和装置 | |
WO2023102574A1 (en) | Methods for verifying database query results and devices thereof | |
CN114037449A (zh) | 跨链资产转移方法、计算机设备和存储介质 | |
CN113672988A (zh) | 基于区块链的信息管理方法、系统、介质及电子设备 | |
CN112385181A (zh) | 用于证明公钥的可靠性的装置、方法及程序 | |
CN112653557B (zh) | 数字身份处理方法、装置、电子设备和可读存储介质 | |
CN115632791B (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 |