CN113159762B - 基于Paillier和博弈论的区块链交易方法 - Google Patents

基于Paillier和博弈论的区块链交易方法 Download PDF

Info

Publication number
CN113159762B
CN113159762B CN202110120522.5A CN202110120522A CN113159762B CN 113159762 B CN113159762 B CN 113159762B CN 202110120522 A CN202110120522 A CN 202110120522A CN 113159762 B CN113159762 B CN 113159762B
Authority
CN
China
Prior art keywords
transaction
ciphertext
sender
evidence
amount
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
Application number
CN202110120522.5A
Other languages
English (en)
Other versions
CN113159762A (zh
Inventor
孟庆树
许元锎
董逢华
王飞
王丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Tianyu Information Industry Co Ltd
Original Assignee
Wuhan Tianyu Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Tianyu Information Industry Co Ltd filed Critical Wuhan Tianyu Information Industry Co Ltd
Priority to CN202110120522.5A priority Critical patent/CN113159762B/zh
Publication of CN113159762A publication Critical patent/CN113159762A/zh
Application granted granted Critical
Publication of CN113159762B publication Critical patent/CN113159762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation 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和博弈论的区块链交易方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于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。
在上述方案的基础上,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易发送方私钥的过程为:选择随机数x1作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易发送方公钥
在上述方案的基础上,,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易接受方私钥的过程为:选择随机数x2作为交易发送方私钥,其中为与λn互素且小于λ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、公私钥的产生
选择随机数x作为私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
公钥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、随机数的解密过程
对于(E1,c1),密文随机数
明文随机数
其中,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表示验证范围的上界。
需要说明的是,对于本发明实施例中的Pedersen承诺。设g1和h1是阶为素数p的群G的两个生成元,设m1∈Zp,r1∈Zp,称为m1的Pedersen承诺。
参见图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。
本发明实施例中,基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易发送方私钥的过程为:选择随机数x1作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易发送方公钥
本发明实施例中,基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易接受方私钥的过程为:选择随机数x2作为交易发送方私钥,其中为与λn互素且小于λ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 (5)

1.一种基于Paillier和博弈论的区块链交易方法,其特征在于,包括以下步骤:
基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
给交易发送方交易后账户余额和交易发送方交易后账户余额明文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易后账户余额密文中的承诺构造相等性证据;
基于产生零知识范围证明的函数,给交易发送方交易金额密文构造一个交易金额处于特定范围的证据,给交易发送方交易后账户余额密文构造一个交易金额处于特定范围的证据;
将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证;
交易接受方构造证据并发起申诉,区块链节点的智能合约对申述是否属实进行验证;
其中,所述基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文,其中:
计算得到的交易发送方交易金额密文
计算得到的交易接受方交易金额密文
计算得到的交易发送方账户原始金额密文
计算得到的交易发送方交易后账户余额密文
其中,T表示交易金额,A表示交易发送方账户原始金额,r1、r2、r3和r4均为随机数,且r1<n,r2<n,r3<n,r4<n,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,y1表示生成的交易发送方公钥,y2表示生成的交易接受方公钥;
其中,所述交易接受方构造证据并发起申诉,区块链节点的智能合约对申述是否属实进行验证,具体步骤包括:
交易接受方构造证据,构造的证据为:
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和交易的绑定性,并重新计算承诺,判断重新计算的承诺与交易发送方交易金额密文和交易接受方交易金额密文的承诺是否均吻合,若否,则表明交易接受方发起的申诉属实,智能合约通过同态运算恢复交易接受方账户余额到交易前的状态;
其中,所述基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥,其中:
生成的系统参数
sysPrm=(h,k,n,n2);
生成的Pedersen承诺参数
pedPrm=(G,p,g1,h1)
其中,pedPrm表示Pedersen承诺参数,g1和h1是阶为素数p的群G的两个生成元,sysPrm表示系统参数;
其中,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易发送方私钥的过程为:选择随机数x1作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易发送方公钥
其中,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易接受方私钥的过程为:选择随机数x2作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易接受方公钥
2.如权利要求1所述的一种基于Paillier和博弈论的区块链交易方法,其特征在于:
所述给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据,具体为:
给交易金额构造Pedersen承诺,该承诺记为PedersenC1;
调用sigma协议,为PedersenC1和Ea0构造相等性证据,该证据记为EquaProofT;
所述给交易发送方交易后账户余额和交易发送方交易后账户余额明文随机数构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易后账户余额密文中的承诺构造相等性证据,具体为:
给交易发送方交易后账户余额和交易发送方交易后账户余额明文随机数构造Pedersen承诺,该承诺记为PedersenC2;
调用sigma协议,为PedersenC2和Ed0构造相等性证据,该证据记为EquaProofB。
3.如权利要求2所述的一种基于Paillier和博弈论的区块链交易方法,其特征在于,所述基于产生零知识范围证明的函数,给交易发送方交易金额密文构造一个交易金额处于特定范围的证据,给交易发送方交易后账户余额密文构造一个交易金额处于特定范围的证据,其中,构造的两个证据聚合产生:
其中,表示ZRPBT给交易发送方交易金额密文和交易发送方交易后账户余额密文构造的范围证据,ZRPG表示产生零知识范围证明的函数,md表示交易发送方交易后账户余额,rd表示交易发送方交易后账户余额明文随机数,21表示验证范围的上界。
4.如权利要求3所述的一种基于Paillier和博弈论的区块链交易方法,其特征在于,所述将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,具体为:
将交易发送方交易金额密文C_ta、交易接受方交易金额密文C_tb、PedersenC1、PedersenC2、EquaProofT、EquaProofB和ZRPBT发送至区块链节点。
5.如权利要求4所述的一种基于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协议的验证功能验证交易发送方交易金额密文、交易接受方交易金额密文和交易发送方交易后账户余额密文的范围证据;
进行交易是否合法的判断,当且仅当第一次验证、第二次验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数据写入账本,反之,则交易不合法,交易失败。
CN202110120522.5A 2021-01-28 2021-01-28 基于Paillier和博弈论的区块链交易方法 Active CN113159762B (zh)

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 CN113159762A (zh) 2021-07-23
CN113159762B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112785306B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN114826549A (zh) * 2022-04-22 2022-07-29 山东云海国创云计算装备产业创新中心有限公司 一种信息加密方法及相关组件
CN115641210A (zh) * 2022-10-31 2023-01-24 贵州电网有限责任公司信息中心 电力交易存储方法、装置、设备及存储介质
CN116488826B (zh) * 2023-04-27 2024-02-06 北京熠智科技有限公司 一种支持隐私保护的链上同步博弈方法及存储介质
CN117035776B (zh) * 2023-08-22 2024-05-14 上海零数众合信息科技有限公司 一种数据共享方法、装置、电子设备和存储介质

Citations (15)

* Cited by examiner, † Cited by third party
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的同态加密方法及应用系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
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 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
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)

* Cited by examiner, † Cited by third party
Title
A secure and privacy-preserving protocol for holding double auctions in smart grid;Roozbeh Sarenche等;Information Sciences;第108-129页 *
基于Paillier公钥密码体制的零知识证明方案;袁春明;;计算机与现代化(第04期);第117-121页 *
基于隐私保护的央行数字货币监管审计架构;陈逸涛;周志洪;陈恭亮;;通信技术(第12期);第49-50、53页 *
基于零知识证明的区块链隐私保护算法;李龚亮;贺东博;郭兵;路松峰;;华中科技大学学报(自然科学版)(第07期);第117-121页 *

Also Published As

Publication number Publication date
CN113159762A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN113159762B (zh) 基于Paillier和博弈论的区块链交易方法
CN110011781B (zh) 用于交易金额加密且支持零知识证明的同态加密方法和介质
US5606617A (en) Secret-key certificates
CN110414981B (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
US8654975B2 (en) Joint encryption of data
CN112785306B (zh) 基于Paillier的同态加密方法及应用系统
KR20180116278A (ko) 안전한 정보 교환과 계층 구조적이고 결정론적인 암호키를 위한 공통 비밀 결정
KR100718489B1 (ko) 신규의 공정한 은닉 서명을 위한 서명 방법, 컴퓨터 프로그램, 장치 및 서명 시스템
JP2008512060A (ja) 仮署名スキーム
Au et al. Compact e-cash from bounded accumulator
CN102301643B (zh) 数据处理系统中的密码证书的管理方法和系统
CN103988466A (zh) 群加密方法及设备
TW202318833A (zh) 臨界簽章方案
CN112819465B (zh) 基于Elgamal的同态加密方法及应用系统
Lin et al. An efficient strong designated verifier proxy signature scheme for electronic commerce
KR20230002941A (ko) 비밀 공유를 갖는 (ec)dsa 임계값 서명
CN102301644A (zh) 数据处理系统中的数据项的验证
JP2024534237A (ja) 共有暗号キーを生成すること
Shao et al. Practical verifiably encrypted signatures based on discrete logarithms
Kang et al. An Off-Line Payment Scheme for Digital Content via Subliminal Channel.
Kansal et al. Construction for a nominative signature scheme from lattice with enhanced security
GB2609907A (en) Generating digital signatures
Wang et al. Optimistic fair exchange in the enhanced chosen-key model
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