CN112101944A - 一种高效隐私支付实现方法、装置、计算机设备及存储介质 - Google Patents
一种高效隐私支付实现方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112101944A CN112101944A CN202011041127.XA CN202011041127A CN112101944A CN 112101944 A CN112101944 A CN 112101944A CN 202011041127 A CN202011041127 A CN 202011041127A CN 112101944 A CN112101944 A CN 112101944A
- Authority
- CN
- China
- Prior art keywords
- transaction
- algorithm
- zero
- proof
- signature
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 112
- 238000012795 verification Methods 0.000 claims abstract description 65
- 230000006870 function Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 15
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种高效隐私支付实现方法、装置、计算机设备及存储介质,涉及区块链技术领域,可应用于智慧医院系统中,方法包括:对区块链的公共参数进行初始化以及配置;通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;通过所述区块链接收发送者对所述交易的签名;基于所述零知识证明算法,由验证节点对所述签名和证明进行验证;若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。本发明可以实现提高隐私支付的效率,降低了证明复杂度,减少了磁盘的占用以及降低了支付环境要求。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种高效隐私支付实现方法、装置、计算机设备及存储介质。
背景技术
目前,区块链技术已经得到了快速的发展,特别在金融领域已经有广泛的应用,这主要归功于其天然具备的不可篡改的属性。虽然,作为一种新型技术,区块链给金融市场注入了新的活力,但是由于金融市场对于隐私性的要求更高,其匿名性已不足以保证用户信息及交易信息的隐私性,因此,亟需一种隐私性更强的区块链系统来满足金融市场的需求。
迄今为止,支持隐私交易的区块链系统已经存在很多,根据使用的技术不同,大体可以分为以下几类:混币技术、环签名技术、零知识证明技术。
混币技术:通过割裂交易输入地址和输出地址的对应关系,来保证交易的完全匿名性,即,给一笔交易增加大量的输入和输出地址,这样,攻击者就无法知道这笔交易对应的真正的输入地址和输出地址,以达到完全匿名的目的;
环签名技术:环中一个成员除了用自己的私钥对交易进行签名外,还额外用其他人的公钥进行签名,这样验证者只知道签名来自于这个环上的某一个人,但是不知道具体是谁的签名,以达到完全匿名的目的;
零知识证明:通过零知识证明技术,交易者使得验证者交易信息的正确性,但同时又不暴露交易数据本身。
以上三种方式,由于零知识证明具有更好的扩展性和安全性,成为大多数区块链系统的隐私技术方案首选。
虽然零知识证明能够保证交易的安全性,但对于一笔正常的支付交易来说,其处理效率并不是很高,其原因在于隐私模块的介入。在某些领域特别是金融、患者信息管理领域,隐私是强需求,所以必须满足隐私功能。在传统的支付方案中,若增加隐私功能,那么在效率上将有所牺牲。
发明内容
本发明的目的是提供一种高效隐私支付实现方法、装置、计算机设备及存储介质,旨在解决现有区块链隐私交易方式效率低的问题。
第一方面,本发明实施例提供一种高效隐私支付实现方法,其中,包括:
对区块链的公共参数进行初始化以及配置;
通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;
根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;
通过所述区块链接收发送者对所述交易的签名;
基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;
若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
第二方面,本发明实施例提供一种高效隐私支付实现装置,其中,包括:
初始化单元,用于对区块链的公共参数进行初始化以及配置;
交易发起单元,用于通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;
证明生成单元,用于根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;
交易签名单元,用于通过所述区块链接收发送者对所述交易的签名;
证明验证单元,用于基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;
执行单元,用于若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的高效隐私支付实现方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的高效隐私支付实现方法。
本发明实施例提供了一种高效隐私支付实现方法、装置、计算机设备及存储介质,方法包括:对区块链的公共参数进行初始化以及配置;通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;通过所述区块链接收发送者对所述交易的签名;基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。本发明实施例可以实现提高隐私支付的效率,降低了证明复杂度,减少了磁盘的占用以及降低了支付环境要求。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种高效隐私支付实现方法的流程示意图;
图2为本发明实施例提供的一种高效隐私支付实现方法的子流程示意图;
图3为本发明实施例提供的一种高效隐私支付实现方法的另一子流程示意图;
图4为本发明实施例提供的一种高效隐私支付实现装置的示意性框图;
图5为本发明实施例提供的一种高效隐私支付实现装置的子单元示意性框图;
图6为本发明实施例提供的一种高效隐私支付实现装置的另一子单元示意性框图;
图7为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种高效隐私支付实现方法的流程示意图,如图所示,该方法包括步骤S101~S106:
S101、对区块链的公共参数进行初始化以及配置;
S102、通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;
S103、根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;
S104、通过所述区块链接收发送者对所述交易的签名;
S105、基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;
S106、若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
在所述步骤S101中,对区块链的初始化以及配置包括两部分:1.零知识证明算法的证明密钥和验证密钥对,也就是公共参数包含证明密钥和验证密钥。2.智能合约的部署。
其中,零知识证明算法的证明密钥和验证密钥对,可由可信机制生成。
在配置证明密钥和验证密钥对时,可以生成以下几个文件:验证密钥的json文件、证明密钥的json文件、验证密钥的原始数据、证明密钥的原始数据等。
智能合约的作用是提供验证密钥的注册功能,以及所有证明的存储功能。在注册证明密钥和验证密钥时,智能合约会返回一个相应的编号。
在所述步骤S102中,此步骤中,所述交易具体可以是转账交易,发起交易时,可以提交交易的信息。
具体的,所述交易的信息包含接收者的信息、发送者的信息、交易金额、交易时间和交易方式等。当然根据需要还可以对交易的信息进行扩展。
在所述步骤S103中,根据零知识证明算法对所述交易的信息生成一证明,该证明用来验证交易的有效性。本步骤中,所述零知识证明算法中使用的算法为Groth16算法。
在现有的隐私支付方案中,零知识证明算法使用的是GM17算法。GM17算法的一个特点是电路的设计,电路是由一个个门组成的逻辑电路构成,比如布尔门,加法门等;而GM17使用的是平方门,即门的左右输入相等。在本实施例中,零知识证明算法采用的是Groth16算法,此算法和GM17算法的区别在于电路门的选型上,Groth16算法使用的是乘法门,相对于平方门,没有左右输入相等的限制。下面,通过具体的例子描述二者的区别。
以a*b=c为例,其中a为发送者的转账金额,b为发送者与接受者之间的汇率,c为接受者的接收金额。现在,发送者需要证明a*b=c。如果采用GM17算法,那么电路将被设计成(a+b)2–(a–b)2=4c,这就是平方门的数学形式;而如果用Groth16算法,那么电路就是一个简单的a*b=c的形式,这是乘法门的数学形式。因此从上面的描述可以看到,对于一个简单的等式,Groth16算法仅需要一个乘法门就可以表示,而GM17算法需要两个平方门和一个加法门来表示。而对于一笔正常的交易,证明者要证明的等式近有百万个,所以GM17算法的复杂度是远远大于Groth16算法。因此,本实施例使用Groth16算法在处理效率上提升明显。
在一实施例中,所述步骤S103包括:
使用pedersen哈希作为零知识证明算法的单向函数。
对于零知识证明算法而言,一个高效的零知识证明算法可以将证明的复杂度大幅优化,在前面的基础上,如果能进一步将要证明的等式数量大幅缩减,那么性能会有更进一步的提升。在进行隐私交易支付时,为了防止出现双花现象(双重支付),交易发起者需要证明本笔交易所消耗的note(即要花费的钱)是有效的。在一笔隐私交易中,发送者需要证明其花费支票的有效性,这个证明其有效性所使用到的方式就是默克尔树验证。在上述过程中需要使用到单向函数,通过分析发现,在现有的隐私支付交易模块里,单向函数的证明等式的数量占据了整体的70%左右,因此,需要降低单向函数的证明复杂度。
本实施例中对现有的单向函数(sha256哈希)进行了替换。具体的,本实施例使用了更为高效的单向函数,即将sha256哈希替换成了pedersen哈希。
在一笔隐私交易中,该交易消耗的note需要在一个有效的集合里,交易发起者需要证明它的有效性。这里面单向函数需要满足唯一性,抗碰撞性,因此,在满足此两个属性的条件下,本实施例将sha256哈希替换成了pedersen哈希;对于一次单向计算,本实施例所采用的单向函数的复杂度比现有的单向函数复杂度低近12倍。
在一实施例中,所述步骤S103还包括:
将所述单向函数每次输出的哈希值的长度截断为小于224的长度。
为了提高处理效率,在不引入安全风险的前提下,本实施例可以适配修改pedersen哈希算法的运算逻辑,从而得到更高效的证明电路。
具体的,在保证安全性的前提下,为了达到更高的效率,本实施例可以通过采用截断输入长度的方式来优化单向运算逻辑,进一步的减少了其证明复杂度。由于生成的证明大小大幅度减少,也减少了对磁盘的占用。
由于大幅度降低了证明复杂度,因此在普通硬件配置的机器上,也可运行本实施例的隐私支付系统。
由于零知识证明算法中,还需要证明消耗支票与对应金额的绑定关系,这种绑定方式是基于sha256哈希的,由于sha256哈希一次处理的处理的长度是448,因此,如果输入长度大于448,就会增加一次sha256的内部循环逻辑。那么就会增大证明的电路逻辑。因此,本实施例把每次输出的哈希值的长度截断到小于224的长度,这样,两个哈希值的长度不会超过448,从而减少了证明的复杂度。而且,对于单项函数而言,这种截断不会引起安全风险,至少是224位安全的,确保了支付安全性。
在所述步骤S104中,通过所述区块链接收发送者对所述交易的签名。后续将对所述签名进行还原,以便进行验证。此步骤中,发送者可以利用私钥对交易进行签名。具体的,可以使用证明密钥对交易进行签名,然后将签名提交至区块链的验证节点。
在一实施例中,如图2所示,所述步骤S104包括:
S201、利用哈希算法生成所述交易的哈希值;
此步骤中,交易的哈希值又可称数字摘要,即利用哈希算法生成交易的数字摘要。
S202、使用证明密钥对所述哈希值进行加密,得到所述交易的签名;
该证明密钥即为前面的步骤中初始化及配置后得到的,利用证明密钥对哈希值,也就是对数字摘要进行加密,从而得到所述交易的签名。该签名即为数字签名。
S203、将所述签名上传至区块链的验证节点。
此步骤中需要将前述步骤中生成的签名上传到区块链的验证节点,以便进行验证。
在所述步骤S105中,基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证。
本步骤中,验证节点同样是使用Groth16算法替代GM17算法。同样的,在本步骤中,零知识证明算法中采用Groth16算法,其使用的是乘法门,相对于平方门,没有左右输入相等的限制。在此步骤中,Groth16算法复杂度远小于GM17算法。所以在验证环节,同样可以提高处理效率。在验证环节,可以基于前述的验证密钥进行验证。
在一实施例中,如图3所示,所述步骤S105包括:
S301、利用验证密钥对所述签名进行解密,得到所述交易的哈希值;
此步骤中,即利用前述配置好的验证密钥,对数字签名进行解密,从而还原得到交易的哈希值。
S302、使用接收者的私钥对所述哈希值进行还原,得到交易的信息;
该私钥为接收者持有的私钥,利用该私钥可以对哈希值进行解密还原,从而得到交易的信息。
S303、基于所述零知识证明算法,由区块链上的验证节点对所述证明和交易的信息行验证。
此步骤是在获取了交易的信息后,由验证节点基于零知识证明算法,来对证明和交易进行验证。在此步骤中,零知识证明算法同样是使用Groth16算法,从而提高计算效率。
在所述步骤S106中,若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
例如以转账交易为例,当区块链的验证节点验证所述签名和证明的有效性的结论是验证成功,那么此时可控制将转账的账款转发至接收者,如果验证结论是验证失败,那么可直接执行失败相关流程即可。
转账的模型是:从两个属于同一个账户的隐私交易中(交易金额分别是c和d),生成两个隐私交易:其中一个属于转账对象(交易金额为e),另外一个(余额为f)返回转账发起账户。其中,c+d=e+f。当转账交易验证成功时,可以继续执行转账交易操作。
本发明实施例采用了更高效的零知识证明算法,并且采用和优化了单向运算逻辑,使得处理效率将大幅度提高;并且本发明实施例大幅度降低了证明的复杂度,因此生成的证明大小也大幅度减少,减少了对磁盘的占用;此外,由于大幅度降低了证明复杂度,因此在普通硬件配置的机器上,也可运行本实施例的方法,降低了支付环境要求。
请参阅图4,其为本发明实施例提供的一种高效隐私支付实现装置的示意性框图,该高效隐私支付实现装置400包括:
初始化单元401,用于对区块链的公共参数进行初始化以及配置;
交易发起单元402,用于通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;
证明生成单元403,用于根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;
交易签名单元404,用于通过所述区块链接收发送者对所述交易的签名;
证明验证单元405,用于基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;
执行单元406,用于若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
在一实施例中,所述证明生成单元403包括:
单向函数定义单元,用于使用pedersen哈希作为零知识证明算法的单向函数。
在一实施例中,所述证明生成单元403还包括:
长度截断单元,用于将所述单向函数每次输出的哈希值的长度截断为小于224的长度。
在一实施例中,所述公共参数包括证明密钥和验证密钥。
在一实施例中,如图5所示,所述交易签名单元404包括:
哈希值生成单元501,用于利用哈希算法生成所述交易的哈希值;
签名生成单元502,用于使用证明密钥对所述哈希值进行加密,得到所述交易的签名;
签名上传单元503,用于将所述签名上传至区块链的验证节点。
在一实施例中,如图6所示,所述证明验证单元405包括:
解密单元601,用于利用验证密钥对所述签名进行解密,得到所述交易的哈希值;
还原单元602,用于使用接收者的私钥对所述哈希值进行还原,得到交易的信息;
验证单元603,用于基于所述零知识证明算法,由区块链上的验证节点对所述证明和交易的信息行验证。
在一实施例中,所述交易的信息包括接收者的信息、发送者的信息、交易金额、交易时间和交易方式。
通过本发明实施例的装置,可以实现提高隐私支付的效率,降低了证明复杂度,减少了磁盘的占用以及降低了支付环境要求。
上述高效隐私支付实现装置400可以实现为计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本发明实施例提供的计算机设备的示意性框图。该计算机设备700是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图7,该计算机设备700包括通过系统总线701连接的处理器702、存储器和网络接口705,其中,存储器可以包括非易失性存储介质703和内存储器704。
该非易失性存储介质703可存储操作系统7031和计算机程序7032。该计算机程序7032被执行时,可使得处理器702执行高效隐私支付实现方法。
该处理器702用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器704为非易失性存储介质703中的计算机程序7032的运行提供环境,该计算机程序7032被处理器702执行时,可使得处理器702执行高效隐私支付实现方法。
该网络接口705用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器702用于运行存储在存储器中的计算机程序7032,以实现如下功能:对区块链的公共参数进行初始化以及配置;通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;通过所述区块链接收发送者对所述交易的签名;基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
在一实施例中,处理器702在执行所述根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明的步骤时,执行如下操作:使用pedersen哈希作为零知识证明算法的单向函数。
在一实施例中,处理器702在执行所述根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明的步骤时,执行如下操作:将所述单向函数每次输出的哈希值的长度截断为小于224的长度。
在一实施例中,处理器702在执行所述通过所述区块链接收发送者对所述交易的签名的步骤时,还执行如下操作:利用哈希算法生成所述交易的哈希值;使用证明密钥对所述哈希值进行加密,得到所述交易的签名;将所述签名上传至区块链的验证节点。
在一实施例中,处理器702在执行所述基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证的步骤时,执行如下操作:利用验证密钥对所述签名进行解密,得到所述交易的哈希值;使用接收者的私钥对所述哈希值进行还原,得到交易的信息;基于所述零知识证明算法,由区块链上的验证节点对所述证明和交易的信息行验证。
本领域技术人员可以理解,图7中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图7所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器702可以是中央处理单元(CentralProcessingUnit,CPU),该处理器702还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:对区块链的公共参数进行初始化以及配置;通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;通过所述区块链接收发送者对所述交易的签名;基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
在一实施例中,所述根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,包括:
使用pedersen哈希作为零知识证明算法的单向函数。
在一实施例中,所述根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,还包括:
将所述单向函数每次输出的哈希值的长度截断为小于224的长度。
在一实施例中,所述公共参数包括证明密钥和验证密钥。
在一实施例中,所述通过所述区块链接收发送者对所述交易的签名,包括:
利用哈希算法生成所述交易的哈希值;
使用证明密钥对所述哈希值进行加密,得到所述交易的签名;
将所述签名上传至区块链的验证节点。
在一实施例中,所述基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证,包括:
利用验证密钥对所述签名进行解密,得到所述交易的哈希值;
使用接收者的私钥对所述哈希值进行还原,得到交易的信息;
基于所述零知识证明算法,由区块链上的验证节点对所述证明和交易的信息行验证。
在一实施例中,所述交易的信息包括接收者的信息、发送者的信息、交易金额、交易时间和交易方式。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种高效隐私支付实现方法,其特征在于,包括:
对区块链的公共参数进行初始化以及配置;
通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;
根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;
通过所述区块链接收发送者对所述交易的签名;
基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;
若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
2.根据权利要求1所述的高效隐私支付实现方法,其特征在于,所述根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,包括:
使用pedersen哈希作为零知识证明算法的单向函数。
3.根据权利要求2所述的高效隐私支付实现方法,其特征在于,所述根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,还包括:
将所述单向函数每次输出的哈希值的长度截断为小于224的长度。
4.根据权利要求1所述的高效隐私支付实现方法,其特征在于,所述公共参数包括证明密钥和验证密钥。
5.根据权利要求4所述的高效隐私支付实现方法,其特征在于,所述通过所述区块链接收发送者对所述交易的签名,包括:
利用哈希算法生成所述交易的哈希值;
使用证明密钥对所述哈希值进行加密,得到所述交易的签名;
将所述签名上传至区块链的验证节点。
6.根据权利要求5所述的高效隐私支付实现方法,其特征在于,所述基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证,包括:
利用验证密钥对所述签名进行解密,得到所述交易的哈希值;
使用接收者的私钥对所述哈希值进行还原,得到交易的信息;
基于所述零知识证明算法,由区块链上的验证节点对所述证明和交易的信息行验证。
7.根据权利要求1所述的高效隐私支付实现方法,其特征在于,所述交易的信息包括接收者的信息、发送者的信息、交易金额、交易时间和交易方式。
8.一种高效隐私支付实现装置,其特征在于,包括:
初始化单元,用于对区块链的公共参数进行初始化以及配置;
交易发起单元,用于通过所述区块链接收发送者调用交易接口发起的交易请求,获取交易的信息;
证明生成单元,用于根据零知识证明算法对所述交易的信息生成一用于验证交易的有效性的证明,其中,所述零知识证明算法中使用的算法为Groth16算法;
交易签名单元,用于通过所述区块链接收发送者对所述交易的签名;
证明验证单元,用于基于所述零知识证明算法,由区块链上的验证节点对所述签名和证明进行验证;
执行单元,用于若验证成功,则控制继续执行交易的下一步;若失败,则执行失败流程。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的高效隐私支付实现方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的高效隐私支付实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011041127.XA CN112101944A (zh) | 2020-09-28 | 2020-09-28 | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011041127.XA CN112101944A (zh) | 2020-09-28 | 2020-09-28 | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112101944A true CN112101944A (zh) | 2020-12-18 |
Family
ID=73783465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011041127.XA Pending CN112101944A (zh) | 2020-09-28 | 2020-09-28 | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101944A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112801659A (zh) * | 2021-01-25 | 2021-05-14 | 矩阵元技术(深圳)有限公司 | 基于智能合约的隐私交易处理方法、装置及存储介质 |
CN112991058A (zh) * | 2021-02-19 | 2021-06-18 | 区块动力(广州)科技有限公司 | 一种基于区块链进行交易的验证方法及系统 |
CN113014390A (zh) * | 2020-12-22 | 2021-06-22 | 北京航空航天大学 | 一种基于零知识证明的加密区块链设计方法 |
CN113225192A (zh) * | 2021-05-06 | 2021-08-06 | 杭州复杂美科技有限公司 | 交易存储方法、计算机设备和存储介质 |
CN113411189A (zh) * | 2021-06-16 | 2021-09-17 | 北京沃东天骏信息技术有限公司 | 数据处理方法及装置、溯源方法及装置、电子设备 |
CN114244534A (zh) * | 2021-12-21 | 2022-03-25 | 杭州趣链科技有限公司 | 数据存储方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171494A (zh) * | 2017-11-23 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN109257182A (zh) * | 2018-10-24 | 2019-01-22 | 杭州趣链科技有限公司 | 一种基于同态的密码学承诺与零知识范围证明的区块链隐私保护方法 |
CN110855631A (zh) * | 2019-10-24 | 2020-02-28 | 南京可信区块链与算法经济研究院有限公司 | 一种区块链中可监管的零知识验证方法、系统及存储介质 |
CN111262853A (zh) * | 2020-01-14 | 2020-06-09 | 平安壹钱包电子商务有限公司 | 基于联盟链的信息传输方法、装置、计算机设备及存储介质 |
CN111277416A (zh) * | 2020-01-14 | 2020-06-12 | 平安壹钱包电子商务有限公司 | 交互式零知识证明方法、装置、计算机设备和存储介质 |
-
2020
- 2020-09-28 CN CN202011041127.XA patent/CN112101944A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171494A (zh) * | 2017-11-23 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN109257182A (zh) * | 2018-10-24 | 2019-01-22 | 杭州趣链科技有限公司 | 一种基于同态的密码学承诺与零知识范围证明的区块链隐私保护方法 |
CN110855631A (zh) * | 2019-10-24 | 2020-02-28 | 南京可信区块链与算法经济研究院有限公司 | 一种区块链中可监管的零知识验证方法、系统及存储介质 |
CN111262853A (zh) * | 2020-01-14 | 2020-06-09 | 平安壹钱包电子商务有限公司 | 基于联盟链的信息传输方法、装置、计算机设备及存储介质 |
CN111277416A (zh) * | 2020-01-14 | 2020-06-12 | 平安壹钱包电子商务有限公司 | 交互式零知识证明方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
STARLI: "零知识证明 – 理解FFT的蝶形运算", 《HTTPS://BLOG.CSDN.NET/STARLI2020/ARTICLE/DETAILS/105612193》 * |
STARLI_2020: "零知识证明 - Groth16算法介绍", 《HTTPS://BLOG.CSDN.NET/STARLI2020/ARTICLE/DETAILS/105612193》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014390A (zh) * | 2020-12-22 | 2021-06-22 | 北京航空航天大学 | 一种基于零知识证明的加密区块链设计方法 |
CN112801659A (zh) * | 2021-01-25 | 2021-05-14 | 矩阵元技术(深圳)有限公司 | 基于智能合约的隐私交易处理方法、装置及存储介质 |
CN112991058A (zh) * | 2021-02-19 | 2021-06-18 | 区块动力(广州)科技有限公司 | 一种基于区块链进行交易的验证方法及系统 |
CN112991058B (zh) * | 2021-02-19 | 2023-09-22 | 区块动力(广州)科技有限公司 | 一种基于区块链进行交易的验证方法及系统 |
CN113225192A (zh) * | 2021-05-06 | 2021-08-06 | 杭州复杂美科技有限公司 | 交易存储方法、计算机设备和存储介质 |
CN113411189A (zh) * | 2021-06-16 | 2021-09-17 | 北京沃东天骏信息技术有限公司 | 数据处理方法及装置、溯源方法及装置、电子设备 |
CN114244534A (zh) * | 2021-12-21 | 2022-03-25 | 杭州趣链科技有限公司 | 数据存储方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110419053B (zh) | 用于信息保护的系统和方法 | |
CN112101944A (zh) | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 | |
CN110337665B (zh) | 用于信息保护的系统和方法 | |
WO2019180588A1 (en) | Computer-implemented system and method for enabling zero-knowledge proof | |
CN110730963B (zh) | 用于信息保护的系统和方法 | |
CN116561789B (zh) | 隐私数据的处理方法、装置、电子设备及可读存储介质 | |
CN111316615A (zh) | 使用调解器计算机系统确保计算机程序正确执行的系统和方法 | |
JP7449423B2 (ja) | ブラインド化された帰結選択のためのブロックチェーンで実装されるセキュリティー・システムおよび方法 | |
US9641340B2 (en) | Certificateless multi-proxy signature method and apparatus | |
CN116739660A (zh) | 一种基于区块链的抽奖方法及系统 | |
JP2023535336A (ja) | 共有秘密鍵の生成 | |
KR20230024369A (ko) | 비밀 공유의 생성 | |
US11676111B1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
CN113055431B (zh) | 一种基于区块链的工业大数据文件高效上链方法及装置 | |
CN111064583A (zh) | 一种门限sm2数字签名方法、装置、电子设备及存储介质 | |
US20160149708A1 (en) | Electronic signature system | |
US20100306543A1 (en) | Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens | |
CN118160275A (zh) | 阈值签名方案 | |
CN113939821A (zh) | 用于在工作量证明区块链网络上进行非并行挖掘的系统和方法 | |
WO2017001872A1 (en) | Secure computation | |
CN111385096A (zh) | 一种区块链网络、签名处理方法、终端及存储介质 | |
Xiao et al. | New digital signature algorithm based on ECC and its application in bitcoin and IoT | |
CN118160273A (zh) | 生成共享密钥 | |
CN117917041A (zh) | 生成共享加密密钥 | |
KR20240045231A (ko) | 디지털 서명 셰어의 생성 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201218 |
|
RJ01 | Rejection of invention patent application after publication |