CN111429138A - 区块链节点数据安全交互方法及第一交互节点 - Google Patents
区块链节点数据安全交互方法及第一交互节点 Download PDFInfo
- Publication number
- CN111429138A CN111429138A CN202010216766.9A CN202010216766A CN111429138A CN 111429138 A CN111429138 A CN 111429138A CN 202010216766 A CN202010216766 A CN 202010216766A CN 111429138 A CN111429138 A CN 111429138A
- Authority
- CN
- China
- Prior art keywords
- data
- ciphertext
- node
- interaction
- transaction
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (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
本发明提供的区块链节点数据安全交互方法及第一交互节点,利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上非交易参与方不可见,有效地保护了用户交易隐私;同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,区块链网络各节点收到广播交易后均可参与验证,保证了所做交易的业务合法性和公开可验证性。
Description
技术领域
本发明涉及区块链技术领域,具体涉及区块链节点数据安全交互方法及第一交互节点。
背景技术
金融资产在人类社会生活中起着至关重要的作用,是人们拥有的以价值形态存在的资产,也可以是一种索取实物资产的无形凭证。金融资产可以在相应的金融市场上进行交易,交易的双方通过某种约定在指定平台上进行合法交换。资产交易行为俨然成为了当今社会人们日常生活不可或缺的一部分,推动着整个社会经济的发展。随着人类社会科技水平的飞速发展,数字货币开始走进人们的生活当中,传统现金交易和线下交易开始受到冲击,资产交易也面临着巨大变化,开始逐渐电子化、数字化。而这一巨大冲击的关键技术,便是区块链技术。区块链在本质上是一种防篡改、去中心化的分布式数据存储模式,是一种无需信任的分布式账本。在区块链公有链中,每一个参与者都能获得完整的数据备份,所有的交易数据都是公开透明的,这是公有链的优势特点。然而就金融机构而言,用户的账户、交易信息是重要资产和商业机密,不希望被分享给同行,因此目前存在一些矛盾性问题无法解决。
发明内容
针对现有技术中的问题,本发明提供一种区块链节点数据安全交互方法及第一交互节点,
为解决上述技术问题,本发明提供以下技术方案:
本发明的一个方面,一种区块链节点数据安全交互方法,包括:
第一交互节点采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据;
所述第一交互节点基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据;
所述第一交互节点广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中所有接收所述申请请求的节点,执行智能合约验证交易的合规性,若验证通过,第二节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
在某些实施例中,交互的数据为数字格式,授信节点利用与所述第一公钥对应的第一私钥解密所述第一密文得到所述第一数据,并依此判断数据交互是否符合合理性条件,所述合理性条件包括:所述第二数据大于零,所述第一数据大于零,所述第一交互节点的原始数据大于零。
在某些实施例中,所述第一交互节点基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据,包括:
随机生成随机数r和r’;
生成证据w=(xi,r,r’),i∈(1,2,3),其中xi在(0,2^n)区间里,x1是自身的原始数据,x2是第一数据,x3是所述差值数据;
计算关于x∈L={y,y2}的证明π=Prov(x;w);其中,com(x1)=com(x2)+com(x3),x1>0,x2>=0,x3>0,其中:
y=compk(x2,r)和y2=compk2(x2,r’);pk是第一公钥,pk2是第二公钥。
在某些实施例中,第一交互节点广播申请请求包括:
通过MPC协议广播所述申请请求。
本发明的另一个方面,一种区块链节点数据安全交互的第一交互节点,包括:
数据加密模块,采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据;
证明生成模块,基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据;
广播模块,广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中所有接收所述申请请求的节点,执行智能合约验证交易的合规性,若验证通过,第二节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
在某些实施例中,交互的数据为数字格式,授信节点利用与所述第一公钥对应的第一私钥解密所述第一密文得到所述第一数据,并依此判断数据交互是否符合合理性条件,所述合理性条件包括:所述第二数据大于零,所述第一数据大于零,所述第一交互节点的原始数据大于零。
在某些实施例中,所述证明生成模块,包括:
随机数生成单元,随机生成随机数r和r’;
证据生成单元,生成证据w=(xi,r,r’),i∈(1,2,3),其中xi在(0,2^n)区间里,x1是自身的原始数据,x2是第一数据,x3是所述差值数据;
证明计算单元,计算关于x∈L={y,y2}的证明π=Prov(x;w);其中,com(x1)=com(x2)+com(x3),x1>0,x2>=0,x3>0,其中:
y=compk(x2,r)和y2=compk2(x2,r’);pk是第一公钥,pk2是第二公钥。
在某些实施例中,所述广播模块通过MPC协议广播所述申请请求。
本发明的又一个方面,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的数据交互方法。
本发明的又一个方面,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据交互方法。
由上述技术方案可知,本发明提供的区块链节点数据安全交互方法及第一交互节点,利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私;同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,保证了所做交易的业务合法性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术那个一种区块链网络结构示意图。
图2为本发明实施例中一种具体场景中转账发起端执行过程示意图。
图3为本发明实施例中一种具体场景中转账接收端执行过程示意图。
图4为本发明实施例中实现数据交互的所有参与节点的交互示意图。
图5为本发明实施例中数据交互方法的流程示意图。
图6为本发明实施例中第一交互节点的结构示意图。
图7为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前在区块链公有链中,每一个参与者都能获得完整的数据备份,所有的交易数据都是公开透明的,这是公有链的优势特点。然而就金融机构而言,用户的账户、交易信息是重要资产和商业机密,不希望被分享给同行。
基于此,本发明的核心构思是通过同态加密与零知识证明结合,进行金融相关等的数据交互。
零知识证明是一种无需泄漏数据本身情况下证明某些数据运算的一种密码学技术。而同态加密是一种无需对加密数据进行提前解密就可以执行计算的方法。即在密文空间对密文的操作等于对明文操作后加密。因此其在隐私保护方面有重要应用。这两种技术的结合将会极大提高区块链系统的隐私性。
本发明基于同态加密和零知识证明技术结合,具体的,同态性是一种特殊的对数据进行转换的方法的特性。如果对原始数据经过某一特定转换方法得到转换后数据,再对转换后数据进行某个操作的处理,其结果跟先对原始数据进行操作的处理,再进行转换方法得到的输出结果是一致的,那么则称这个转换方法针对这个操作具有同态性。同态加密即对加密数据做任意功能的运算,运算的结果相当于对明文做同样运算的结果再进行加密。同态加密原理如下:
记原始数据为m,转换方法为R,转换后数据为c,操作处理为F。
m可以经过R,从而被转换为c,再对c进行操作F得到c’,有:
c'=F(c)=F(R(m))
而对m,先经过操作F得到m’,再对m’进行转换R,得到c’,有:
c'=R(m')=R(F(m))
如果两者相等,则称转换R针对操作F具有同态性。椭圆曲线加密算法的公私钥转换具有针对加法的同态性,另外存在特定的加密算法的明文和密文之间具有加法或者乘法同态性,而这一类加密算法又被称为同态加密算法。
在此交易系统中用户不希望让区块链节点知道交易金额以及最新余额。同态加密技术对用户的交易数据用公钥进行加密保护,交易的时候都是密文运算,最终账本中加密保存,非业务参与方无法看到具体的余额和转账额,即使节点被攻破,获取到账本记录也无法解密。
但是同态加密后的交易金额以及最新余额对区块链是不可见的,如果交易后出现账户余额小于零,这样的交易是无效的,因此采用零知识证明对同态加密后的交易数据进行合规性校验,校验数据在一定的范围内且大于0,进而保证交易有效性。
下面对本发明进行说明,图1示出了本发明实施例中一种区块链网络结构示意图,当一笔交易(区块链中的数据交互具有的特定名词)产生时,其包括数据交互的第一交互节点(Alice发起端1),第二节点(Bob发起端3),以及记账节点3。
此外,在整个体系中还包括授信节点(可信授权机构客户端4),授信节点可以是处于区块链网络中的一个节点,也可以是非区块链网络中的节点,本发明对此不做限制。
可以理解,利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私;同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,保证了所做交易的业务合法性。
图5示出了本发明实施例中第一交互节点执行的数据交互方法,具体的,包括:
S1:第一交互节点采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据。
具体而言,如图2至图4,设定第一公钥为pk,第二公钥为pk2,第一交互节点用pk加密待交互数据(例如转账金额)x2为y(第一密文),用pk2加密待交互数据x2为y2(第二密文),用pk加密第二数据(例如剩余金额)x3为y1(第三密文)。
S2:所述第一交互节点基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据。
具体而言,利用上述的零知识证明技术,生成证据的步骤包括:
S21:随机生成随机数r和r’;
S22:生成证据w=(xi,r,r’),i∈(1,2,3),其中xi在(0,2^n)区间里,x1是自身的原始数据,x2是第一数据,x3是所述差值数据;
S23:计算关于x∈L={y,y2}的证明π=Prov(x;w);其中,(x1,x2,x3,r,r’)满足:com(x1)=com(x2)+com(x3),x1>0,x2>=0,x3>0。其中:
y=compk(x2,r)和y2=compk2(x2,r’);pk是第一公钥,pk2是第二公钥;
S24:证明xi在(0,2^n)区间里。
本发明中有关证明xi在(0,2^n)区间里如下(下面以v代表xi):
证明v存在于区间[0,1,2,...2^n)。证明者将要证明的值v,先进行承诺处理V=Com(v)发送给验证者,并证明v∈[0,2n),同时不泄漏v的具体的值。(这里的Com指PedersenCommitment算法)。
1.将v表示成一个内积.(其中a是一个只包含{0,1}的向量)
v=<a,2n>=a0·20+…+an-1·2n-1
2.等价交换(其中aL=a,aR=a-1)。
<aL,2n>=v
aL°aR=0
(aL-1)-aR=0
3.合并多向量陈述证明,对于任意y,都有
z2v=z2<aL,2n>+z<aL-1-aR,yn>
4.将陈述拆开,重新排列,两边同时加上<-z1,z22n+zyn>。且将不含秘密数的项合并起来记为新变量δ。
δ(y,z)=(z-z2)<1,yn>-z3<1,2n>
z2v+δ(y,z)=<aL-z1,yn°(aR+z1)+z22n>
5.内积左边部分即为unblinde l(x),右边部分记为unblinded r(x)。
ublinded l(x)=aL-z1
unblinded r(x)=yn°(aR+z1)+z22n
z2v+δ(y,z)=<unblinded l(x),unblinded r(x)>
6.sL,sR←ZP来构造盲化后的多项式,l(x)和r(x)将项aL,aR盲化,用aL+sLx,aR+sRx表示。l0,r0表示多项式里度数为0的项。
<l0,r0>=z2v+δ(y,z)
t(x)=<l(x),r(x)>=t0+t1x+t2x2
7.证明者已经用V=com(v)来承诺了v(本质上是承诺了t0,因此证明者再计算两个承诺T1=com(t1)和T2=com(t2),并将这些承诺发送给验证者。这些承诺V,T1,T2互相之间与t(x)均形成了一些关系。
如果成立,则证明v∈[0,2n)。
该实施例中,对零知识证明进行了相关改进,将v(即xi)先进行承诺处理V=Com(v)发送给验证者,步骤1至7中的处理过程不需要采用公共参数,而业内主流的零知识证明算法如zk-snark在处理流程上有Trust Setup这一步,需要生成CRS(公共字符串,即公共参数的一种)用以构造证明密钥和验证密钥,一但生成密钥后,比参数需要由系统销毁,因为存在CRS泄露造成信任缺失等问题,本申请提及的算法不存在这一点,安全性更好。
S3:所述第一交互节点广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中各验证节点接受到交易广播后,执行智能合约验证交易合规性,若验证通过则第二交互节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
具体而言,如图2至图4,第一交互节点输出包括(y,y1,y2,w)的申请请求。
本发明中,第二交互节点与第一交互节点之间不进行交互证明,例如即证明是根据(y,y1,y2,w)生成,这样只要得到(y,y1,y2,w),即可证明出所述第二数据是所述第一数据与自身的原始数据的差值数据,证明有效时,则说明证据是有效的,验证通过后第二交互节点进行同态加法运算,将第二密文与自身原始数据对应的原始密文(第二交互节点的账户余额也是加密的)相加,得到新的密文,然后替代原密文。
此外,本发明中,对于记账节点而言,不需要知晓具体的交互双方的账户余额,仅仅需要将密文更新保存即可。
具体而言,对于记账节点,其收到输出后,记账节点不知道用户具体金额,因为账户的真实余额以同态加密密文形式存储在区块链节点上。在区块链网络中,为了保证转账交易数据的合理性,记账节点进行交易验证时应当确认:
①校验输出承诺,调用零知识范围证明算法(Range Proof Protocol)来证明转账金额、剩余金额在合理范围内,如转账金额大于0。
②校验输出,确保密文y和密文y1的同态加法与第一交互节点的现有公共账户余额一致,校验成功后,更改第一交互节点的用户余额。
③运行同态加法,yb’=Add(yb,y)更新第二交互节点的用户余额。
并且,区块链网络各验证节点接受到广播的交易后,执行智能合约Verf(x,Π)算法,验证数据合规性。
同理,授权节点也需要验证合理性条件,以及证明的有效性。即Verf(x,π)=1是否成立,如果成立,则表明用户A所加密信息为用户A的交易额x2,用私钥sk解密y得到x2。
由于监管方(授信节点)知道各用户当前余额的情况,因而根据余额及交易额来维护用户最新的余额。一旦用户发现自己本地账户余额与区块链账户余额不一致时可向监管方提出申请查看自己真实余额。
在一些实施例中,上述的第一交互节点广播申请请求具体可以通过MPC协议广播所述申请请求,这样在证明过程中无需使第一交互节点与第二交互节点进行交互,提高了交易的安全性。
可以理解,本发明实施例提出了一种基于零知识证明和同态加密的区块链资产交易隐私保护系统和方法。通过引入零知识证明和同态加密两种算法,保证了资产交易过程的安全性、有效性。避免了公有链交易信息的暴露问题,同时保证了资产信息的安全、不可篡改特性。引入可授权的授信机构,对用户的明文余额进行维护,方便资金的监管。
本系统利用同态加密技术和零知识证明技术,构建了一个安全可靠的区块链交易系统,该系统具有如下几个特性:
匿名性:利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私;
合法性:同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,保证了所做交易的业务合法性;
易用性:同态加密和零知识证明均以独立模块接入区块链系统,系统改造成本低,易用性强。
安全性:业内主流的零知识证明算法如zk-snark在处理流程上有Trust Setup这一步,需要生成CRS(公共字符串)用以构造证明密钥和验证密钥,一但生成密钥后,比参数需要由系统销毁,因为存在CRS泄露造成信任缺失等问题。本发明专利提及的算法不存在这一点,安全性更好。
基于相同的发明构思,如图6所示,本发明实施例还提供一种区块链节点数据安全交互的第一交互节点,包括:
数据加密模块11,采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据;
证明生成模块12,基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据;
广播模块13,广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;
所述第一交互节点广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中所有接收所述申请请求的节点,执行智能合约验证交易的合规性,若验证通过,第二节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
在某些实施例中,交互的数据为数字格式,授信节点利用与所述第一公钥对应的第一私钥解密所述第一密文得到所述第一数据,并依此判断数据交互是否符合合理性条件,所述合理性条件包括:所述第二数据大于零,所述第一数据大于零,所述第一交互节点的原始数据大于零。
在某些实施例中,所述证明生成模块,包括:
随机数生成单元,随机生成随机数r和r’;
证据生成单元,生成证据w=(xi,r,r’),i∈(1,2,3),其中xi在(0,2^n)区间里,x1是自身的原始数据,x2是第一数据,x3是所述差值数据;
证明计算单元,计算关于x∈L={y,y2}的证明π=Prov(x;w);其中,com(x1)=com(x2)+com(x3),x1>0,x2>=0,x3>0,其中:
y=compk(x2,r)和y2=compk2(x2,r’);pk是第一公钥,pk2是第二公钥。
在某些实施例中,所述广播模块通过MPC协议广播所述申请请求。
可以理解,本发明提供的区块链的第一交互节点,利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私;同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,保证了所做交易的业务合法性。
从硬件层面来说,本发明提供一种用于实现数据交互方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现服务器、装置、分布式消息中间件集群装置、各类数据库以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的数据交互方法的实施例,其内容被合并于此,重复之处不再赘述。
图7为本发明实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据交互步骤可以被集成到中央处理器9100中。例如,中央处理器9100可以被配置为进行如下控制:
S1:第一交互节点采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据。
S2:所述第一交互节点基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据。
S3:所述第一交互节点广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中各验证节点接受到交易广播后,执行智能合约验证交易合规性,若验证通过则第二交互节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
从上述描述可知,本发明的实施例提供的电子设备,利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私;同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,保证了所做交易的业务合法性。
如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据交互方法的全部步骤。
从上述描述可知,本发明的实施例提供的计算机可读存储介质,利用同态加密技术对交易信息进行加密,区块链账本同样只存储密文,交易信息对链上的其他用户不可见,有效地保护了用户交易隐私;同态加密后的交易信息无法验证是否合法,利用零知识证明技术在交易金额不可见的状态对交易金额进行范围证明,保证了所做交易的业务合法性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种区块链节点数据安全交互方法,其特征在于,包括:
第一交互节点采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据;
所述第一交互节点基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据;
所述第一交互节点广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中所有接收所述申请请求的节点,执行智能合约验证交易的合规性,若验证通过,第二节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
2.根据权利要求1所述的区块链节点数据安全交互方法,其特征在于,交互的数据为数字格式,授信节点利用与所述第一公钥对应的第一私钥解密所述第一密文得到所述第一数据,并依此判断数据交互是否符合合理性条件,所述合理性条件包括:所述第二数据大于零,所述第一数据大于零,所述第一交互节点的原始数据大于零。
3.根据权利要求2所述的区块链节点数据安全交互方法,其特征在于,所述第一交互节点基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据,包括:
随机生成随机数r和r’;
生成证据w=(xi,r,r’),i∈(1,2,3),其中xi在(0,2^n)区间里,x1是自身的原始数据,x2是第一数据,x3是所述差值数据;
计算关于x∈L={y,y2}的证明π=Prov(x;w);其中,com(x1)=com(x2)+com(x3),x1>0,x2>=0,x3>0,其中:
y=compk(x2,r)和y2=compk2(x2,r’);pk是第一公钥,pk2是第二公钥;
证明xi在(0,2^n)。
4.根据权利要求1所述的区块链节点数据安全交互方法,其特征在于,第一交互节点广播申请请求包括:
通过MPC协议广播所述申请请求。
5.一种区块链节点数据安全交互的第一交互节点,其特征在于,包括:
数据加密模块,采用授信节点广播的第一公钥以及第二交互节点的第二公钥,基于同态加密技术加密待交互的第一数据得到第一密文和第二密文,采用所述第一公钥加密第二数据得到第三密文,所述第二数据是所述第一数据与自身的原始数据的差值数据;
证明生成模块,基于零知识证明技术生成证据,并证明所述第二数据是所述第一数据与自身的原始数据的差值数据;
广播模块,所述第一交互节点广播由所述第一密文、第二密文、第三密文以及所述证明组成的申请请求;区块链网络中所有接收所述申请请求的节点,执行智能合约验证交易的合规性,若验证通过,第二节点将所述第二密文与自身原始数据对应的原始密文相加,并用相加后的密文替代原始密文。
6.根据权利要求5所述的第一交互节点,其特征在于,交互的数据为数字格式,授信节点利用与所述第一公钥对应的第一私钥解密所述第一密文得到所述第一数据,并依此判断数据交互是否符合合理性条件,所述合理性条件包括:所述第二数据大于零,所述第一数据大于零,所述第一交互节点的原始数据大于零。
7.根据权利要求5所述的第一交互节点,其特征在于,所述证明生成模块,包括:
随机数生成单元,随机生成随机数r和r’;
证据生成单元,生成证据w=(xi,r,r’),i∈(1,2,3),其中xi在(0,2^n)区间里,x1是自身的原始数据,x2是第一数据,x3是所述差值数据;
证明计算单元,计算关于x∈L={y,y2}的证明π=Prov(x;w);其中,com(x1)=com(x2)+com(x3),x1>0,x2>=0,x3>0,其中:
y=compk(x2,r)和y2=compk2(x2,r’),pk是第一公钥,pk2是第二公钥;
验证单元,证明xi在(0,2^n)。
8.根据权利要求5所述的第一交互节点,其特征在于,所述广播模块通过MPC协议广播所述申请请求。
9.根据权利要求5所述的第一交互节点,其特征在于,区块链网络各验证节点接受到广播的交易后,执行智能合约Verf(x,Π)算法,验证数据合规性。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的区块链节点数据安全交互方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的区块链节点数据安全交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216766.9A CN111429138A (zh) | 2020-03-25 | 2020-03-25 | 区块链节点数据安全交互方法及第一交互节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216766.9A CN111429138A (zh) | 2020-03-25 | 2020-03-25 | 区块链节点数据安全交互方法及第一交互节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111429138A true CN111429138A (zh) | 2020-07-17 |
Family
ID=71549477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010216766.9A Pending CN111429138A (zh) | 2020-03-25 | 2020-03-25 | 区块链节点数据安全交互方法及第一交互节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111429138A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931209A (zh) * | 2020-08-18 | 2020-11-13 | 金网络(北京)电子商务有限公司 | 基于零知识证明的合同信息验证方法及装置 |
CN112257102A (zh) * | 2020-09-28 | 2021-01-22 | 铭数科技(青岛)有限公司 | 基于区块链的能源交易隐私保护方法 |
CN112765667A (zh) * | 2021-01-29 | 2021-05-07 | 北京市计算中心 | 基于区块链的隐私保护方法、装置及系统 |
CN113032800A (zh) * | 2021-02-22 | 2021-06-25 | 北京航空航天大学 | 一种基于零知识证明的链上自动执行智能合约中间件系统 |
CN114092242A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 基于范围证明实现隐私交易的方法和系统 |
CN115208585A (zh) * | 2022-09-07 | 2022-10-18 | 环球数科集团有限公司 | 一种基于零知识证明的数据交互方法与系统 |
CN115801474A (zh) * | 2023-02-13 | 2023-03-14 | 天聚地合(苏州)科技股份有限公司 | 基于隐私计算的电力交易方法和系统、用电端和发电端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN107666388A (zh) * | 2016-07-28 | 2018-02-06 | 郑珂威 | 基于完全同态加密方法的区块链信息加密方法 |
CN108021821A (zh) * | 2017-11-28 | 2018-05-11 | 北京航空航天大学 | 多中心区块链交易隐私保护系统及方法 |
CN108418783A (zh) * | 2017-09-01 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种保护区块链智能合约隐私的方法、介质 |
CN108711105A (zh) * | 2018-05-16 | 2018-10-26 | 四川吉鼎科技有限公司 | 一种基于区块链的安全交易验证方法及系统 |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
WO2019209168A2 (zh) * | 2018-04-26 | 2019-10-31 | 华为国际有限公司 | 数据处理方法、相关装置及区块链系统 |
-
2020
- 2020-03-25 CN CN202010216766.9A patent/CN111429138A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666388A (zh) * | 2016-07-28 | 2018-02-06 | 郑珂威 | 基于完全同态加密方法的区块链信息加密方法 |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN108418783A (zh) * | 2017-09-01 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种保护区块链智能合约隐私的方法、介质 |
CN108021821A (zh) * | 2017-11-28 | 2018-05-11 | 北京航空航天大学 | 多中心区块链交易隐私保护系统及方法 |
WO2019209168A2 (zh) * | 2018-04-26 | 2019-10-31 | 华为国际有限公司 | 数据处理方法、相关装置及区块链系统 |
CN108711105A (zh) * | 2018-05-16 | 2018-10-26 | 四川吉鼎科技有限公司 | 一种基于区块链的安全交易验证方法及系统 |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931209A (zh) * | 2020-08-18 | 2020-11-13 | 金网络(北京)电子商务有限公司 | 基于零知识证明的合同信息验证方法及装置 |
CN111931209B (zh) * | 2020-08-18 | 2024-03-22 | 金网络(北京)数字科技有限公司 | 基于零知识证明的合同信息验证方法及装置 |
CN112257102A (zh) * | 2020-09-28 | 2021-01-22 | 铭数科技(青岛)有限公司 | 基于区块链的能源交易隐私保护方法 |
CN112257102B (zh) * | 2020-09-28 | 2022-03-11 | 铭数科技(青岛)有限公司 | 基于区块链的能源交易隐私保护方法 |
CN112765667A (zh) * | 2021-01-29 | 2021-05-07 | 北京市计算中心 | 基于区块链的隐私保护方法、装置及系统 |
CN112765667B (zh) * | 2021-01-29 | 2022-04-26 | 北京市计算中心有限公司 | 基于区块链的隐私保护方法、装置及系统 |
CN113032800A (zh) * | 2021-02-22 | 2021-06-25 | 北京航空航天大学 | 一种基于零知识证明的链上自动执行智能合约中间件系统 |
CN114092242A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 基于范围证明实现隐私交易的方法和系统 |
CN115208585A (zh) * | 2022-09-07 | 2022-10-18 | 环球数科集团有限公司 | 一种基于零知识证明的数据交互方法与系统 |
CN115208585B (zh) * | 2022-09-07 | 2022-11-18 | 环球数科集团有限公司 | 一种基于零知识证明的数据交互方法与系统 |
CN115801474A (zh) * | 2023-02-13 | 2023-03-14 | 天聚地合(苏州)科技股份有限公司 | 基于隐私计算的电力交易方法和系统、用电端和发电端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911216B (zh) | 一种区块链交易隐私保护方法及系统 | |
US11689371B2 (en) | Techniques for securing digital signatures using multi-party computation | |
WO2021114819A1 (zh) | 生成和执行智能合约交易的方法及装置 | |
CN108764874B (zh) | 基于区块链的匿名转账方法、系统及存储介质 | |
TWI760149B (zh) | 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰 | |
CN111429138A (zh) | 区块链节点数据安全交互方法及第一交互节点 | |
CN107666388B (zh) | 基于完全同态加密方法的区块链信息加密方法 | |
US10944566B2 (en) | Methods and systems for supporting fairness in secure computations | |
CN113743939A (zh) | 基于区块链的身份认证方法、装置及系统 | |
CN113674077A (zh) | 消费信贷风险防范方法、系统、设备及存储介质 | |
CN109767218A (zh) | 区块链证书处理方法及系统 | |
CN113393225B (zh) | 数字货币加密支付方法及系统 | |
McCorry et al. | Authenticated key exchange over bitcoin | |
Kiayias et al. | Peredi: Privacy-enhanced, regulated and distributed central bank digital currencies | |
CN112073196A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN115345618A (zh) | 基于混合后量子数字签名的区块链交易验证方法及系统 | |
Islam | A privacy-preserving transparent central bank digital currency system based on consortium blockchain and unspent transaction outputs | |
CN112765667B (zh) | 基于区块链的隐私保护方法、装置及系统 | |
KR20230002941A (ko) | 비밀 공유를 갖는 (ec)dsa 임계값 서명 | |
CN111245594B (zh) | 一种基于同态运算的协同签名方法及系统 | |
CN116757698B (zh) | 一种用于完善支付安全性能的加密方法及系统 | |
CN111861462A (zh) | 基于区块链的金融产品交易方法及装置 | |
CN112003690A (zh) | 密码服务系统、方法及装置 | |
Feng et al. | Research on privacy enhancement scheme of blockchain transactions | |
CN115526629A (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 |