CN113159762A - 基于Paillier和博弈论的区块链交易方法 - Google Patents
基于Paillier和博弈论的区块链交易方法 Download PDFInfo
- Publication number
- CN113159762A CN113159762A CN202110120522.5A CN202110120522A CN113159762A CN 113159762 A CN113159762 A CN 113159762A CN 202110120522 A CN202110120522 A CN 202110120522A CN 113159762 A CN113159762 A CN 113159762A
- Authority
- CN
- China
- Prior art keywords
- transaction
- sender
- ciphertext
- commitment
- evidence
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010276 construction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000003999 initiator Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012423 maintenance 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
- 230000008520 organization Effects 0.000 description 1
- 239000004576 sand Substances 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
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Paillier和博弈论的区块链交易方法,涉及信息安全技术,包括:基于预设算法生成***参数、承诺参数以及交易发送方和交易接受方的公私钥;计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;进行相关承诺和证据的构造;区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证;交易接受方构造证据并发起申诉,区块链节点的智能合约对申述是否属实进行验证。本发明能够使得密文可以直接解密,直接支持余额的范围证明,使得密文可监督,无需再进行解密再加密等繁杂流程。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于Paillier和博 弈论的区块链交易方法。
背景技术
区块链技术来自于比特币,具有去中心化、集体维护、公开透明、 不可篡改、准匿名性等突出特点而受到广泛关注,是价值互联网的基 础,是信任产生的机器,是新的协作机制,能够为自治组织提供支撑。
当前区块链技术平台中,无论公有链还是联盟链,因为账本的公 开透明或者一定范围内的公开透明,以及准匿名性,导致明文的交易 金额易造成用户隐私的泄露。为此出现了多种隐藏交易金额的项目, 如zerocash协议、monero(门罗币)、RingCT(环签交易)、Zether 协议等。
区块链的token交易是加减法运算。加法同态算法有很多,其中 Paillier同态加密算法综合性能最好,然而Paillier同态加密算法无法 直接支持密文的范围证明,也不具有承诺的形式。因此,当前均在讨 论如何改造Paillier以支持密文的范围证明,但存在的问题是同态性 质只保留在一个用户的范围内,而不是全网用户的密文同态。
为了克服上述缺点,当前有的是对Elgmal算法进行改进,使得 改进后的Elgmal算法支持全网同态,但密文的解密却需要经过类似 穷举的方法进行,而且由于无法获得随机数导致无法直接支持余额的 范围证明,需要经过其它间接的方式来实现,导致方案的解决流程复 杂,不够简洁。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于 Paillier和博弈论的区块链交易方法,能够使得密文可以直接解密,直 接支持余额的范围证明,使得密文可监督,无需再进行解密再加密等 繁杂流程。
为达到以上目的,本发明提供的一种基于Paillier和博弈论的区 块链交易方法,包括以下步骤:
基于预设算法生成***参数、承诺参数以及交易发送方和交易接 受方的公私钥;
基于生成的***参数和公私钥,并结合预设Paillier加密算法, 计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、 交易发送方交易后账户余额密文和交易接受方交易金额密文;
给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交 易发送方交易金额密文中的承诺构造相等性证据;
给交易发送方交易后账户余额和交易发送方交易后账户余额明 文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发送 方交易后账户余额密文中的承诺构造相等性证据;
基于产生零知识范围证明的函数,给交易发送方交易金额密文构 造一个交易金额处于特定范围的证据,给交易发送方交易后账户余额 密文构造一个交易金额处于特定范围的证据;
将计算得到的密文、构造的证据和构造的承诺发送至区块链节 点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进 行验证;
交易接受方构造证据并发起申诉,区块链节点的智能合约对申述 是否属实进行验证。
在上述方案的基础上,所述基于预设算法生成***参数、承诺参 数以及交易发送方和交易接受方的公私钥,其中:
生成的***参数
sysPrm=(h,k,n,n2);
生成的Pedersen承诺参数
pedPrm=(G,p,g1,h1)
其中,pedPrm表示Pedersen承诺参数,g1和h1是阶为素数p的 群G的两个生成元,sysPrm表示***参数,h=grmodn2, k=gλmodn2,n=pq,p和q均为随机选取的安全素数,mod表 示取余数计算,r为随机数,r<n2,g为随机数,为与n2互素且小于n2的自然数构成的乘法群,且满足 (L(gλmodn2))-1modn存在,且满足gcd(L(hλmodn2),n)==1存在,其中,λ=lcm(p-1,q-1),lcm表示最小公倍数计算, L(gλmodn2)=(gλmodn2-1)/n,gcd表示最大公约数计算, L(hλmodn2)=(hλmodn2-1)/n。
在上述方案的基础上,所述基于预设算法生成***参数以及交易 发送方和交易接受方的公私钥,其中:
在上述方案的基础上,,所述基于预设算法生成***参数以及交 易发送方和交易接受方的公私钥,其中:
在上述方案的基础上,所述基于生成的***参数和公私钥,并结 合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易 发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接 受方交易金额密文,其中:
计算得到的交易发送方交易金额密文
计算得到的交易接受方交易金额密文
计算得到的交易发送方账户原始金额密文
计算得到的交易发送方交易后账户余额密文
其中,T表示交易金额,A表示交易发送方账户原始金额,r1、r2、r3和r4均为随机数,且r1<n,r2<n,r3<n,r4<n。
在上述方案的基础上,
所述给交易金额构造Pedersen承诺,并调用sigma协议为该承诺 和交易发送方交易金额密文中的承诺构造相等性证据,具体为:
给交易金额构造Pedersen承诺,该承诺记为PedersenC1;
调用sigma协议,为PedersenC1和Ea0构造相等性证据,该证据 记为EquaProofT;
所述给交易发送方交易后账户余额和交易发送方交易后账户余 额明文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易 发送方交易后账户余额密文中的承诺构造相等性证据,具体为:
给交易发送方交易后账户余额和交易发送方交易后账户余额明 文随机数构造Pedersen承诺,该承诺记为PedersenC2;
调用sigma协议,为PedersenC2和Ed0构造相等性证据,该证据 记为EquaProofB。
在上述方案的基础上,所述基于产生零知识范围证明的函数,给 交易发送方交易金额密文构造一个交易金额处于特定范围的证据,给 交易发送方交易后账户余额密文构造一个交易金额处于特定范围的 证据,其中,构造的两个证据聚合产生:
其中,表示ZRPBT给交易发送方交易金额密文和交易发送方交 易后账户余额密文构造的范围证据,ZRPG表示产生零知识范围证明 的函数,md表示交易发送方交易后账户余额,rd表示交易发送方交 易后账户余额明文随机数,21表示验证范围的上界。
在上述方案的基础上,所述将计算得到的密文、构造的证据和构 造的承诺发送至区块链节点,具体为:
将交易发送方交易金额密文C_ta、交易接受方交易金额密文 C_tb、PedersenC1、PedersenC2、EquaProofT、EquaProofB和 ZRPBT发送至区块链节点。
在上述方案的基础上,所述区块链节点的智能合约基于密文、证 据和承诺对交易的合法性进行验证,具体步骤包括:
获取sysPrm、y1和y2,从交易数据中读取C_ta、C_tb、 PedersenC1、PedersenC2、EquaProofT、EquaProofB和ZRPBT;
基于EquaProofT、PedersenC1、Ea0、y1、pedPrm和sysPrm, 进行第一次验证,所述第一次验证为调用sigma协议的验证功能验证 相等性证据;
计算C_td=C_ts/C_ta,并基于EquaProofB、PedersenC2、 Eb0、pedPrm和sysPrm,进行第二次验证,所述第二次验证为调用 sigma协议的验证功能验证相等性证据;
基于ZRPBT、PedersenC1、PedersenC2和pedPrm,进行第三 次验证,所述第三次验证为调用bulletproof协议的验证功能验证交易 发送方交易金额密文、交易接受方交易金额密文和交易发送方交易后 账户余额密文的范围证据;
进行交易是否合法的判断,当且仅当第一次验证、第二次验证和 第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额 密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发 送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数 据写入账本,反之,则交易不合法,交易失败。
在上述方案的基础上,所述交易接受方构造证据并发起申诉,区 块链节点的智能合约对申述是否属实进行验证,具体步骤包括:
交易接受方构造证据,构造的证据为:
InvalidCipherProof=ICPG(C_ta,C_tb,(m,r0,x):
mL(k)=L(E0/c0 x)^r0L(k)=L(E1/c1 x))
其中,m表示明文,r0表示明文随机数,x表示私钥,为随机数, ra和rb均为随机数,且ra<n,rb<n,L(k)=(k-1)/n, L(E0/c0 x)=(E0/c0 x-1)/n,L(E1/c1 x)=(E1/c1 x-1)/n,ICPG表示证 据构造函数;
将TXID、InvalidCipherProof、m和r0进行组合,作为交易 数据发起一个交易申述,所述TXID表示交易号;
智能合约根据TXID读取交易发送方交易金额密文和交易接受 方交易金额密文,验证m、r0和交易的绑定性,并重新计算承诺,判 断重新计算的承诺与交易发送方交易金额密文和交易接受方交易金 额密文的承诺是否均吻合,若否,则表明交易接受方发起的申诉属实, 智能合约通过同态运算恢复交易接受方账户余额到交易前的状态。
与现有技术相比,本发明的优点在于:通过以Paillier算法为基 础,并对Paillier算法进行改造以支持全网用户密文数据的同态,且 密文可以直接解密,直接支持余额的范围证明,使得密文可监督,无 需再进行解密再加密等繁杂流程,且由于交易明文和随机数都可以解 密,使得交易接收方可以用明文和随机数直接校验密文的正确性,无需对密文构成的合法性进行检查,从而减少链上数据以及计算量,提 高效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于Paillier和博弈论的区块链交易 方法的流程图。
具体实施方式
本发明实施例提供一种基于Paillier和博弈论的区块链交易方法, 通过以Paillier算法为基础,并对Paillier算法进行改造以支持全网用 户密文数据的同态,且密文可以直接解密,直接支持余额的范围证明, 使得密文可监督,无需再进行解密再加密等繁杂流程,且由于交易明 文和随机数都可以解密,使得交易接收方可以用明文和随机数直接校 验密文的正确性,无需对密文构成的合法性进行检查,从而减少链上 数据以及计算量,提高效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结 合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不 是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没 有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请 保护的范围。
为了将Paillier算法与基于FO承诺的零知识范围证明相结合, 本发明对Paillier算法进行改造,改造后的Paillier算法为:
1、对于***参数的产生
g的生成方式:随机选取两个安全素数p和q,计算n=pq和 λ=lcm(p-1,q-1),lcm表示最小公倍数计算,选取随机数g, 且满足(L(gλmodn2))-1modn存在,mod表示取余数计 算,为与n2互素且小于n2的自然数构成的乘法群, L(gλmodn2)=(gλmodn2-1)/n;
h的生成方式:选择随机数r<n2,计算h=grmodn2,且满足 gcd(L(hλmodn2),n)==1存在,gcd表示最大公约数计算,其中, L(hλmodn2)=(hλmodn2-1)/n,λ=lcm(p-1,q-1);
k的生成方式:k=gλmodn2;
则***参数sysPrm=(h,k,n,n2)。
2、公私钥的产生
公钥y=h1/xmodλn modn2。
3、明文的加密过程
对于明文m,m∈Zn,选择随机数ra<n,rb<n,加密过程为:
则对明文m加密,得到的密文为(E0,c0,E1,c1)。
4、明文的解密过程
对于密文(E0,c0),解密过程为:
cm=E0/c0 x=kmmodn2
其中,L(cmmodn2)=(cmmodn2-1)/n,L(kmodn2)=(kmodn2-1)/n。
5、随机数的解密过程
其中,L(crmodn2)=(crmodn2-1)/n。
6、加法同态属性
设有明文ma和mb,对其加密得到密文 Encrpt(ma)=(E0a,c0a,E1a,c1a)和Encrpt(mb)=(E0b,c0b,E1b,c1b),其中 Encrpt表示加密。
定义Encrpt(ma)Encrpt(mb)=(E01,c01,E11,c11),其中, E01=E0aE0bmodn2,c01=c0ac0bmodn2,E11=E1aE1bmodn2, c11=c1ac1bmodn2。
解密过程为:
上述改进后的Paillier同态加密算法,支持零知识证明,支持全 网用户密文承诺的同态运算,该特性可以简化链上交易的内容,从而 本发明不但可以用于账户模型的交易金额加密与范围证明,也可以用 于UTXO模型(UnspentTransaction Output,未花费过的交易输出) 的交易金额加密与范围证明。
对于账户模型,本发明实施例的同态加密方法用于区块链的交易 的加密及范围证明时,密文(E0,c0,E1,c1)由四部分组成,其全体用于 解密,E0用于各种零知识证明。
对于一个正确的交易,需要证明如下三个声明成立:(1)转出金 额和接受金额相等;(2)交易的金额处于某个合适的范围;(3)账户 余额处于某个合适的范围。
对于第一个声明,由于E0与用户无关,只与具体的金额有关, 所以转账人转出的金额承诺E0可以直接作为接收方的接受金额的承 诺。因为g和h互相不能求出离散对数,很难购造出(m1,r1)≠(m2,r2)满 足所以只要承诺相等,则所承诺的值必相等,故不必 做相等性证明。
对于第二个声明,只需证明承诺E0所隐藏的值处于某个合适的 范围即可。
对于第三个声明,假设转出账户原始金额为ms,转出金额为mr, 则转出账户的余额为ms-mr。相应的同态密文分别为:cs、cr、cs/cr, 由于可从cs和cr解密金额,容易知道余额ms-mr和随机数r的的差, 可以利用这些数据和cd=cs/cr中的E0进行范围证明。
需要说明的是,对于Fujisaki-Okamoto承诺(简称FO承诺)。 假设交易发送方和交易接受方不知n的分解,h∈g,g和 h的阶是足够的素数,使得生成循环群中计算离散对数的计算不可 行。交易发送方不知loggh和loghg,随机选取 r∈R{-2sn+1,2sn-1},计算E(x,r)=gxhrmodn,发送E(x,r)给 交易接受方作为对x的承诺。交易发送方在不知道n的分解和loggh 的情况下,不可能找到x1≠x2满足E(x1,r1)=E(x2,r2),交易接受 方也不可能从E(x,r)中获得关于x的任何信息,该协议是统计安全 的,称该承诺方案为Fujisaki-Okamoto承诺,简称FO承诺。
零知识证明是指证明者能够在不向验证者提供任何有用信息的 情况下,使验证者相信某个论断是正确的,分为交互和非交互两类。 零知识证明可用于解决区块链隐私保护,交易合法性验证等问题。
当前效率、证据大小比较优的范围证明协议是bulletproof。由于 本发明中用于范围证明的交易金额密文E0是一种FO承诺且随机数 已知,而非Pedersen承诺,所以需要构造一个Pedersen形式承诺, 然后采用sigma-bulletproof协议来证明FO承诺Pedersen承诺隐藏了 同一个值,且该值位于[0,2l]内;为C_td中的Ed0构造一个对应的 Pedersen承诺,采用sigma-bulletproof协议证明FO承诺和Pedersen 承诺隐藏了同一个值,且该值位于[0,2l]内。2l表示验证范围的上界。
参见图1所示,本发明实施例提供的一种基于Paillier的同态加 密方法,具体包括以下步骤:
S1:基于预设算法生成***参数、承诺参数以及交易发送方和交 易接受方的公私钥;
S2:基于生成的***参数和公私钥,并结合预设Paillier加密算 法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密 文、交易发送方交易后账户余额密文和交易接受方交易金额密文。当 用户加入本发明实施例的应用***时,铸币方根据情况给用户初始化 密文形式的余额,并写到链上,由用户读取到本地,且交易发送方交 易前账户余额密文在本地存放或者从链上读取。
S3:给交易金额构造Pedersen承诺,并调用sigma协议为该承诺 和交易发送方交易金额密文中的承诺构造相等性证据;
S4:给交易发送方交易后账户余额和交易发送方交易后账户余额 明文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发 送方交易后账户余额密文中的承诺构造相等性证据;
S5:基于产生零知识范围证明的函数,给交易发送方交易金额密 文构造一个交易金额处于特定范围的证据,给交易发送方交易后账户 余额密文构造一个交易金额处于特定范围的证据。
S6:将计算得到的密文、构造的证据和构造的承诺发送至区块链 节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性 进行验证;
S7:交易接受方构造证据并发起申诉,区块链节点的智能合约对 申述是否属实进行验证。
本发明实施例中,基于预设算法生成***参数、承诺参数以及交 易发送方和交易接受方的公私钥,其中:
生成的***参数
sysPrm=(h,k,n,n2);
生成的Pedersen承诺参数
pedPrm=(G,p,g1,h1)
其中,pedPrm表示Pedersen承诺参数,g1和h1是阶为素数p的 群G的两个生成元,sysPrm表示***参数,h=grmodn2,k=gλmodn2,n=pq,p和q均为随机选取的安全素数,mod表 示取余数计算,r为随机数,r<n2,g为随机数,为与n2互素且小于n2的自然数构成的乘法群,且满足 (L(gλmodn2))-1modn存在,且满足gcd(L(hλmodn2),n)==1存在,其中,λ=lcm(p-1,q-1),lcm表示最小公倍数计算, L(gλmodn2)=(gλmodn2-1)/n,gcd表示最大公约数计算, L(hλmodn2)=(hλmodn2-1)/n。
本发明实施例中,基于预设算法生成***参数以及交易发送方和 交易接受方的公私钥,其中:
本发明实施例中,基于预设算法生成***参数以及交易发送方和 交易接受方的公私钥,其中:
本发明实施例中,基于生成的***参数和公私钥,并结合预设 Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账 户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易 金额密文,其中:
计算得到的交易发送方交易金额密文
计算得到的交易接受方交易金额密文
计算得到的交易发送方账户原始金额密文
计算得到的交易发送方交易后账户余额密文
其中,T表示交易金额,A表示交易发送方账户原始金额,r1、 r2、r3和r4均为随机数,且r1<n,r2<n,r3<n,r4<n。由于C_ta 和C_tb包含相同的承诺E1,故不需要证明两个承诺里包含相同的 值。
本发明实施例中,给交易金额构造Pedersen承诺,并调用sigma 协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据, 具体为:
给交易金额构造Pedersen承诺,该承诺记为PedersenC1;
调用sigma协议,为PedersenC1和Ea0构造相等性证据,该证据 记为EquaProofT。
给交易发送方交易后账户余额和交易发送方交易后账户余额明 文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发送 方交易后账户余额密文中的承诺构造相等性证据,具体为:
给交易发送方交易后账户余额和交易发送方交易后账户余额明 文随机数构造Pedersen承诺,该承诺记为PedersenC2;
调用sigma协议,为PedersenC2和Ed0构造相等性证据,该证据 记为EquaProofB。给交易金额构造的承诺属于Pedersen承诺。
本发明实施例中,基于产生零知识范围证明的函数,给交易发送 方交易金额密文构造一个交易金额处于特定范围的证据,给交易发送 方交易后账户余额密文构造一个交易金额处于特定范围的证据,其 中,构造的两个证据聚合产生:
其中,表示ZRPBT给交易发送方交易金额密文和交易发送方交 易后账户余额密文构造的范围证据,ZRPG表示产生零知识范围证明 的函数,md表示交易发送方交易后账户余额,rd表示交易发送方交 易后账户余额明文随机数,21表示验证范围的上界。
本发明实施例中,将计算得到的密文、构造的证据和构造的承诺 发送至区块链节点,具体为:将交易发送方交易金额密文C_ta、交 易接受方交易金额密文C_tb、PedersenC1、PedersenC2、 EquaProofT、EquaProofB和ZRPBT发送至区块链节点。
本发明实施例中,区块链节点的智能合约基于密文、证据和承诺 对交易的合法性进行验证,具体步骤包括:
S601:获取sysPrm、y1和y2,从交易数据中读取C_ta、C_tb、 PedersenC1、PedersenC2、EquaProofT、EquaProofB和ZRPBT;
S602:基于EquaProofT、PedersenC1、Ea0、y1、pedPrm和 sysPrm,进行第一次验证,所述第一次验证为调用sigma协议的验证 功能验证相等性证据;
S603:计算C_td=C_ts/C_ta,并基于EquaProofB、 PedersenC2、Eb0、pedPrm和sysPrm,进行第二次验证,所述第二 次验证为调用sigma协议的验证功能验证相等性证据;
S604:基于ZRPBT、PedersenC1、PedersenC2和pedPrm,进 行第三次验证,所述第三次验证为调用bulletproof协议的验证功能验 证交易发送方交易金额密文、交易接受方交易金额密文和交易发送方 交易后账户余额密文的范围证据;
S605:进行交易是否合法的判断,当且仅当第一次验证、第二次 验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原 始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将 交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它 交易数据写入账本,反之,则交易不合法,交易失败。
交易接受方读取账本,获得发给自己的交易,解密获得交易金额 和随机数,然后用这两个数据重新计算一遍交易的密文,如果所计算 密文和链上的交易密文有任何不吻合,则说明交易非法,则与该笔交 易关联的后续事宜(比如线下发货)不进行。由于交易金额大于0的 断言已经得到证明,这样交易发起方已经转出了大于0的金额,由于 交易非法是不能获得交易所带来的期望结果,故交易发起方构造不合 法的密文只会给自己造成损失。
进一步的,本发明实施例中,交易接受方构造证据并发起申诉, 区块链节点的智能合约对申述是否属实进行验证,具体步骤包括:
S701:交易接受方构造证据,构造的证据为:
InvalidCipherProof=ICPG(C_ta,C_tb,(m,r0,x):
mL(k)=L(E0/c0 x)^r0L(k)=L(E1/c1 x))
其中,m表示明文,r0表示明文随机数,x表示私钥,为随机数, ra和rb均为随机数,且ra<n,rb<n,L(k)=(k-1)/n, L(E0/c0 x)=(E0/c0 x-1)/n,L(E1/c1 x)=(E1/c1 x-1)/n,ICPG表示证 据构造函数;
S702:将TXID、InvalidCipherProof、m和r0进行组合,作 为交易数据发起一个交易申述,所述TXID表示交易号;
S703:智能合约根据TXID读取交易发送方交易金额密文和交易 接受方交易金额密文,验证m、r0和交易的绑定性,并重新计算承诺, 判断重新计算的承诺与交易发送方交易金额密文和交易接受方交易 金额密文的承诺是否均吻合,若否,则表明交易接受方发起的申诉属 实,智能合约通过同态运算恢复交易接受方账户余额到交易前的状 态。
从博弈论角度分析,交易发起方不应该主动作恶构造非法的交易 密文,所以本发明实施例不对交易密文成分的合法性进行证明,这进 一步减少链上数据量以及计算量。
本发明的基于Paillier的同态加密方法,通过以Paillier算法为基 础,并对Paillier算法进行改造以支持全网用户密文数据的同态,且 密文可以直接解密,直接支持余额的范围证明,使得密文可监督,无 需再进行解密再加密等繁杂流程;进一步的,由于交易明文和随机数 都可以解密,交易接受方可以用明文和随机数直接校验密文的正确 性,即交易发起方作恶会被检测出来,而且有代价。根据博弈论理论, 证明者不会作恶,这样就可以不对密文构成的合法性进行检查,从而 进一步减少链上数据和计算量,提高***的效率。且即使出现了非法 密文,交易接受方提交交易号、金额明文和随机数,智能合约验证确实有问题,则恢复交易接受方的交易余额密文即可,不影响交易接受 方的后续交易操作。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理 解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说 将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精 神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限 制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖 特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(***)和计算机 程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指 令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/ 或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到 通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备 的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设 备的处理器执行的指令产生用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的装置。
Claims (10)
1.一种基于Paillier和博弈论的区块链交易方法,其特征在于,包括以下步骤:
基于预设算法生成***参数、承诺参数以及交易发送方和交易接受方的公私钥;
基于生成的***参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
给交易发送方交易后账户余额和交易发送方交易后账户余额明文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易后账户余额密文中的承诺构造相等性证据;
基于产生零知识范围证明的函数,给交易发送方交易金额密文构造一个交易金额处于特定范围的证据,给交易发送方交易后账户余额密文构造一个交易金额处于特定范围的证据;
将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证;
交易接受方构造证据并发起申诉,区块链节点的智能合约对申述是否属实进行验证。
2.如权利要求1所述的一种基于Paillier的同态加密方法,其特征在于,所述基于预设算法生成***参数、承诺参数以及交易发送方和交易接受方的公私钥,其中:
生成的***参数
sysPrm=(h,k,n,n2);
生成的Pedersen承诺参数
pedPrm=(G,p,g1,h1)
6.如权利要求5所述的一种基于Paillier的同态加密方法,其特征在于:
所述给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据,具体为:
给交易金额构造Pedersen承诺,该承诺记为PedersenC1;
调用sigma协议,为PedersenC1和Ea0构造相等性证据,该证据记为EquaProofT;
所述给交易发送方交易后账户余额和交易发送方交易后账户余额明文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易后账户余额密文中的承诺构造相等性证据,具体为:
给交易发送方交易后账户余额和交易发送方交易后账户余额明文随机数构造Pedersen承诺,该承诺记为PedersenC2;
调用sigma协议,为PedersenC2和Ed0构造相等性证据,该证据记为EquaProofB。
8.如权利要求7所述的一种基于Paillier的同态加密方法,其特征在于,所述将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,具体为:
将交易发送方交易金额密文C_ta、交易接受方交易金额密文C_tb、PedersenC1、PedersenC2、EquaProofT、EquaProofB和ZRPBT发送至区块链节点。
9.如权利要求8所述的一种基于Paillier的同态加密方法,其特征在于,所述区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证,具体步骤包括:
获取sysPrm、y1和y2,从交易数据中读取C_ta、C_tb、PedersenC1、PedersenC2、EquaProofT、EquaProofB和ZRPBT;
基于EquaProofT、PedersenC1、Ea0、y1、pedPrm和sysPrm,进行第一次验证,所述第一次验证为调用sigma协议的验证功能验证相等性证据;
计算C_td=C_ts/C_ta,并基于EquaProofB、PedersenC2、Eb0、pedPrm和sysPrm,进行第二次验证,所述第二次验证为调用sigma协议的验证功能验证相等性证据;
基于ZRPBT、PedersenC1、PedersenC2和pedPrm,进行第三次验证,所述第三次验证为调用bulletproof协议的验证功能验证交易发送方交易金额密文、交易接受方交易金额密文和交易发送方交易后账户余额密文的范围证据;
进行交易是否合法的判断,当且仅当第一次验证、第二次验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数据写入账本,反之,则交易不合法,交易失败。
10.如权利要求9所述的一种基于Paillier的同态加密方法,其特征在于,所述交易接受方构造证据并发起申诉,区块链节点的智能合约对申述是否属实进行验证,具体步骤包括:
交易接受方构造证据,构造的证据为:
InvalidCipherProof=ICPG(C_ta,C_tb,(m,r0,x):
mL(k)=L(E0/c0 x)^r0L(k)=L(E1/c1 x))
其中,m表示明文,r0表示明文随机数,x表示私钥,为随机数, ra和rb均为随机数,且ra<n,rb<n,L(k)=(k-1)/n,L(E0/c0 x)=(E0/c0 x-1)/n,L(E1/c1 x)=(E1/c1 x-1)/n,ICPG表示证据构造函数;
将TXID、InvalidCipherProof、m和r0进行组合,作为交易数据发起一个交易申述,所述TXID表示交易号;
智能合约根据TXID读取交易发送方交易金额密文和交易接受方交易金额密文,验证m、r0和交易的绑定性,并重新计算承诺,判断重新计算的承诺与交易发送方交易金额密文和交易接受方交易金额密文的承诺是否均吻合,若否,则表明交易接受方发起的申诉属实,智能合约通过同态运算恢复交易接受方账户余额到交易前的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110120522.5A CN113159762B (zh) | 2021-01-28 | 2021-01-28 | 基于Paillier和博弈论的区块链交易方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110120522.5A CN113159762B (zh) | 2021-01-28 | 2021-01-28 | 基于Paillier和博弈论的区块链交易方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113159762A true CN113159762A (zh) | 2021-07-23 |
CN113159762B CN113159762B (zh) | 2024-04-09 |
Family
ID=76878959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110120522.5A Active CN113159762B (zh) | 2021-01-28 | 2021-01-28 | 基于Paillier和博弈论的区块链交易方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113159762B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785306A (zh) * | 2021-01-28 | 2021-05-11 | 武汉天喻聚联科技有限公司 | 基于Paillier的同态加密方法及应用*** |
CN115641210A (zh) * | 2022-10-31 | 2023-01-24 | 贵州电网有限责任公司信息中心 | 电力交易存储方法、装置、设备及存储介质 |
CN116488826A (zh) * | 2023-04-27 | 2023-07-25 | 北京熠智科技有限公司 | 一种支持隐私保护的链上同步博弈方法及存储介质 |
CN117035776A (zh) * | 2023-08-22 | 2023-11-10 | 上海零数众合信息科技有限公司 | 一种数据共享方法、装置、电子设备和存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1834973A (zh) * | 2006-04-18 | 2006-09-20 | 北京大学 | 数字产品中指纹的构造和验证方法及数字产品发行*** |
GB201805633D0 (en) * | 2018-04-05 | 2018-05-23 | Nchain Holdings Ltd | Computer implemented method and system |
WO2018137316A1 (zh) * | 2017-01-24 | 2018-08-02 | 上海亿账通区块链科技有限公司 | 基于区块链的安全交易方法、电子装置、***及存储介质 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN109359974A (zh) * | 2018-08-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
CN109726887A (zh) * | 2018-10-12 | 2019-05-07 | 西安电子科技大学 | 基于区块链的移动众包数据数据采集与处理***及方法 |
CN109903158A (zh) * | 2019-01-31 | 2019-06-18 | 武汉大学 | 利用零知识证明协议证明交易金额处于某个区间的方法 |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
CN110414981A (zh) * | 2019-07-04 | 2019-11-05 | 华中科技大学 | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 |
CN110546667A (zh) * | 2018-11-07 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 使用同态加密的区块链数据保护 |
PH12019501849A1 (en) * | 2018-12-21 | 2020-03-09 | Alibaba Group Holding Ltd | Blockchain data protection based on generic account model and homomorphic encryption |
CN110933045A (zh) * | 2019-11-08 | 2020-03-27 | 中国电子科技网络信息安全有限公司 | 一种基于承诺的区块链数字资产隐私保护方法 |
CN111815322A (zh) * | 2020-06-08 | 2020-10-23 | 北京邮电大学 | 一种基于以太坊的具备可选隐私服务的分布式支付方法 |
CN112785306A (zh) * | 2021-01-28 | 2021-05-11 | 武汉天喻聚联科技有限公司 | 基于Paillier的同态加密方法及应用*** |
CN112819465A (zh) * | 2021-01-28 | 2021-05-18 | 武汉天喻聚联科技有限公司 | 基于Elgamal的同态加密方法及应用*** |
-
2021
- 2021-01-28 CN CN202110120522.5A patent/CN113159762B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1834973A (zh) * | 2006-04-18 | 2006-09-20 | 北京大学 | 数字产品中指纹的构造和验证方法及数字产品发行*** |
WO2018137316A1 (zh) * | 2017-01-24 | 2018-08-02 | 上海亿账通区块链科技有限公司 | 基于区块链的安全交易方法、电子装置、***及存储介质 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
GB201805633D0 (en) * | 2018-04-05 | 2018-05-23 | Nchain Holdings Ltd | Computer implemented method and system |
CN109359974A (zh) * | 2018-08-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
US20200074459A1 (en) * | 2018-08-30 | 2020-03-05 | Alibaba Group Holding Limited | Method, apparatus and electronic device for blockchain transactions |
CN109726887A (zh) * | 2018-10-12 | 2019-05-07 | 西安电子科技大学 | 基于区块链的移动众包数据数据采集与处理***及方法 |
CN110546667A (zh) * | 2018-11-07 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 使用同态加密的区块链数据保护 |
PH12019501849A1 (en) * | 2018-12-21 | 2020-03-09 | Alibaba Group Holding Ltd | Blockchain data protection based on generic account model and homomorphic encryption |
CN109903158A (zh) * | 2019-01-31 | 2019-06-18 | 武汉大学 | 利用零知识证明协议证明交易金额处于某个区间的方法 |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
CN110414981A (zh) * | 2019-07-04 | 2019-11-05 | 华中科技大学 | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 |
CN110933045A (zh) * | 2019-11-08 | 2020-03-27 | 中国电子科技网络信息安全有限公司 | 一种基于承诺的区块链数字资产隐私保护方法 |
CN111815322A (zh) * | 2020-06-08 | 2020-10-23 | 北京邮电大学 | 一种基于以太坊的具备可选隐私服务的分布式支付方法 |
CN112785306A (zh) * | 2021-01-28 | 2021-05-11 | 武汉天喻聚联科技有限公司 | 基于Paillier的同态加密方法及应用*** |
CN112819465A (zh) * | 2021-01-28 | 2021-05-18 | 武汉天喻聚联科技有限公司 | 基于Elgamal的同态加密方法及应用*** |
Non-Patent Citations (4)
Title |
---|
ROOZBEH SARENCHE等: "A secure and privacy-preserving protocol for holding double auctions in smart grid", INFORMATION SCIENCES, pages 108 - 129 * |
李龚亮;贺东博;郭兵;路松峰;: "基于零知识证明的区块链隐私保护算法", 华中科技大学学报(自然科学版), no. 07, pages 117 - 121 * |
袁春明;: "基于Paillier公钥密码体制的零知识证明方案", 计算机与现代化, no. 04, pages 117 - 121 * |
陈逸涛;周志洪;陈恭亮;: "基于隐私保护的央行数字货币监管审计架构", 通信技术, no. 12, pages 49 - 50 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785306A (zh) * | 2021-01-28 | 2021-05-11 | 武汉天喻聚联科技有限公司 | 基于Paillier的同态加密方法及应用*** |
CN112785306B (zh) * | 2021-01-28 | 2023-08-15 | 武汉天喻聚联科技有限公司 | 基于Paillier的同态加密方法及应用*** |
CN115641210A (zh) * | 2022-10-31 | 2023-01-24 | 贵州电网有限责任公司信息中心 | 电力交易存储方法、装置、设备及存储介质 |
CN116488826A (zh) * | 2023-04-27 | 2023-07-25 | 北京熠智科技有限公司 | 一种支持隐私保护的链上同步博弈方法及存储介质 |
CN116488826B (zh) * | 2023-04-27 | 2024-02-06 | 北京熠智科技有限公司 | 一种支持隐私保护的链上同步博弈方法及存储介质 |
CN117035776A (zh) * | 2023-08-22 | 2023-11-10 | 上海零数众合信息科技有限公司 | 一种数据共享方法、装置、电子设备和存储介质 |
CN117035776B (zh) * | 2023-08-22 | 2024-05-14 | 上海零数众合信息科技有限公司 | 一种数据共享方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113159762B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558398B2 (en) | Selectivity in privacy and verification with applications | |
CN110011781B (zh) | 用于交易金额加密且支持零知识证明的同态加密方法和介质 | |
CN108418689B (zh) | 一种适合区块链隐私保护的零知识证明方法和介质 | |
EP2547033B1 (en) | Public-key encrypted bloom filters with applications to private set intersection | |
US5606617A (en) | Secret-key certificates | |
CN111886831A (zh) | 用于实现零知识证明的计算机实现的***及方法 | |
CN113159762B (zh) | 基于Paillier和博弈论的区块链交易方法 | |
US8654975B2 (en) | Joint encryption of data | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及*** | |
CN110637441A (zh) | 应用于数据重复数据删除的加密密钥生成 | |
CN111989891A (zh) | 数据处理方法、相关装置及区块链*** | |
CN112785306B (zh) | 基于Paillier的同态加密方法及应用*** | |
CN103444128B (zh) | 密钥pv签名 | |
US20230336567A1 (en) | Selectivity in privacy and verification with applications | |
CN114666032B (zh) | 基于同态加密的区块链交易数据隐私保护方法 | |
CN115396115B (zh) | 区块链数据隐私保护方法、装置、设备及可读存储介质 | |
Yang et al. | Improved outsourced private set intersection protocol based on polynomial interpolation | |
TW202318833A (zh) | 臨界簽章方案 | |
CN112819465B (zh) | 基于Elgamal的同态加密方法及应用*** | |
KR20240045231A (ko) | 디지털 서명 셰어의 생성 | |
GB2610560A (en) | Generating shared cryptographic keys | |
Shao et al. | Practical verifiably encrypted signatures based on discrete logarithms | |
Kim et al. | Provably-secure public auditing with deduplication | |
Xia et al. | On the invisibility of designated confirmer signatures | |
Zhang et al. | Efficient Non-Interactive Polynomial Commitment Scheme in the Discrete Logarithm Setting |
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 |