CN111191280B - 基于加密数据的区块链交易方法、电子设备和存储介质 - Google Patents
基于加密数据的区块链交易方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111191280B CN111191280B CN201911350577.4A CN201911350577A CN111191280B CN 111191280 B CN111191280 B CN 111191280B CN 201911350577 A CN201911350577 A CN 201911350577A CN 111191280 B CN111191280 B CN 111191280B
- Authority
- CN
- China
- Prior art keywords
- transaction
- information
- ciphertext
- ciphertext information
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000006243 chemical reaction Methods 0.000 claims abstract description 23
- 239000003999 initiator Substances 0.000 claims description 57
- 238000012795 verification Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 19
- 239000013598 vector Substances 0.000 description 14
- 230000003993 interaction Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了基于加密数据的区块链交易方法、电子设备和存储介质,其中,所述方法包括:获取交易信息;采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息;将密文信息发布到区块链网络,以进行分布式存储。通过上述方式,本申请能够把交易信息完全隐藏起来,减小区块链上交易信息被其它恶意对手所分析的威胁,提高交易的安全性。
Description
技术领域
本申请涉及区块链交易技术领域,特别是涉及基于加密数据的区块链交易方法、电子设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,具有去中心化、开放性、独立性、安全性和匿名性的特点。由于区块链账本数据不可篡改的特点,在区块链上进行的交易更加安全可靠。
区块链在金融领域、物联网和物流领域、公共管理、能源、交通、数字版权领域、保险领域等许多领域均有广阔的应用前景。
发明内容
本申请主要解决的技术问题是:提供基于加密数据的区块链交易方法、电子设备和存储介质,能够把交易信息完全隐藏起来,减小区块链上交易信息被其它恶意对手所分析的威胁,提高交易的安全性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种基于加密数据的区块链交易方法,包括:
获取交易信息;
采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息;
将密文信息发布到区块链网络以进行分布式存储。
可选地,交易信息包括交易金额;
采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息包括:
采用交易发起方的公钥对交易金额进行全同态加密形成第一密文信息;
采用交易接收方的公钥对交易金额进行全同态加密形成第二密文信息;
基于第一密文信息和第二密文信息生成交易信息的第一零知识证明;
将密文信息发布到区块链网络还包括:
将第一零知识证明发布到区块链网络。
可选地,交易信息包括交易金额、交易发起方交易前的第一账户余额以及交易后的第二账户余额;
采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息包括:
采用交易发起方的公钥分别对交易金额、第一账户余额以及第二账户余额进行全同态加密形成第三密文信息;
基于第三密文信息生成交易信息的第二零知识证明;
将密文信息发布到区块链网络还包括:
将第二零知识证明发布到区块链网络。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种基于加密数据的区块链交易方法,包括:
接收密文信息;密文信息是交易端采用无自举转换的全同态加密方法对交易信息进行加密后形成的;
对密文信息进行分布式存储。
可选地,对密文信息进行分布式存储之前还包括:
在不解密密文信息的条件下,验证密文信息对应的交易信息的合法性;
若验证交易信息合法,才执行对密文信息进行分布式存储的步骤。
可选地,验证密文信息所对应的交易信息的合法性之前还包括:
接收来自交易端的第一零知识证明;
验证密文信息所对应的交易信息的合法性包括:
基于第一零知识证明验证交易信息是否满足第一交易条件;其中,第一交易条件包括交易发起方减少的金额与交易接收方增加的金额相等;
若满足,则验证交易信息合法。
可选地,验证密文信息所对应的交易信息的合法性之前还包括:
接收来自交易端的第二零知识证明;
验证密文信息所对应的交易信息的合法性包括:
基于第二零知识证明验证交易信息是否满足第二交易条件;其中,第二交易条件包括交易发起方在交易前的账户余额不小于交易金额;
若满足,则验证交易信息合法。
可选地,对密文信息进行分布式存储包括:
将密文信息进行排序打包成区块;
执行智能合约并广播区块;
将被验证通过后的区块进行存储。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,包括处理器、存储器和通信电路,处理器耦接存储器和通信电路;
通信电路用于电子设备与外部设备进行通信;
存储器用于存储程序指令;
处理器用于执行程序指令以实现上述本申请基于加密数据的区块链交易方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种存储介质,存储介质用于存储程序指令,程序指令能够被处理器执行以实现上述本申请基于加密数据的区块链交易方法。
本申请的有益效果是:
本申请采用无自举转换的全同态加密方法对交易信息进行加密,可以把区块链交易体系的输入和输出以及交易信息的细节完全隐藏起来,除了交易双方,隐藏细节对其他任何人是完全不可见的,区块链上的交易信息被其它恶意对手所分析的威胁将大大的减小,显著地提高了交易信息隐私的安全性。
附图说明
图1是本申请区块链交易***实施例的结构示意图;
图2是本申请基于加密数据的区块链交易方法第一实施例的流程示意图;
图3是本申请基于加密数据的区块链交易方法一实施方式的流程示意图;
图4是本申请基于加密数据的区块链交易方法第二实施例的流程示意图;
图5是本申请基于加密数据的区块链交易方法第三实施例的流程示意图;
图6是本申请基于加密数据的区块链交易方法第四实施例的流程示意图;
图7是本申请基于加密数据的区块链交易方法第五实施例的流程示意图;
图8是本申请电子设备实施例的结构示意图;
图9是本申请存储介质实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过长期的研究发现:区块链中保存的交易数据具有不可篡改的特性,但由于区块链上的数据可以被任意节点获取,容易造成交易信息隐私数据的泄露,影响交易信息的安全性和公平性。比如在拍卖交易中,用户需要将竞拍价格提交到区块链上进行竞拍,而由于区块链数据的透明性,提交到区块链上的竞拍价格可以被其他竞争对手恶意获取到,造成数据泄露严重影响竞拍的公平性。对于这些涉及到隐私交易的应用领域,区块链的透明性使得其无法很好地保护交易信息的安全性。为解决这些问题,本申请提出至少如下实施例。需要说明的是,除另外说明的外,本申请各实施例中所涉及到的加密均为采用无自举转换的全同态加密方法进行的加密,以下不再赘述。
参阅图1,图1是本申请区块链交易***实施例的结构示意图。区块链交易***10包括交易端11和区块链节点12。交易端11用于实现用户与区块链网络的交互。交易端11例如是手机、平板、电脑等电子设备,可以与区块链节点12之间进行信息交互。交易端11也可以参与区块链网络,作为区块链网络中的节点参与区块链中的事物,如背书、记账等。交易端11可以是区块链网络中的轻量节点,保存与自身相关的区块链数据。区块链节点12是区块链网络中的计算机,例如包括手机、矿机、台式机和服务器等。区块链节点12可以依据相应的共识方法对区块链网络中的交易进行共识存储,也可参与完成区块链网络中的事物,如交易、背书、排序、记账等。
交易端11可以接收交易发起方发起的交易信息,并采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息。密文信息中的交易信息只对交易双方可见,显著地提高了交易信息隐私的安全性。交易端11可以将密文信息发布到区块链网络,以进行分布式存储。本实施例中,交易端11可以与区块链节点12进行交互,将密文信息发送给区块链节点12。例如,交易端11可以将密文信息发送至一个或多个区块链节点12,区块链节点12也可将接收到的密文信息广播至其他区块链节点12;或者,交易端11也可以直接将密文信息广播至区块链节点12。区块链节点12接收到密文信息后,依照一定的共识方法对密文信息进行共识以实现分布式存储。
在本实施例中,区块链节点12也可作为交易端11,参与区块链网络中的交易,此时,区块链节点12作为交易端11,可以将加密后的密文信息发送给其他区块链节点12以进行分布式存储。交易端11也可以是区块链节点12,可以参与对密文信息进行共识及存储。
参阅图2,图2是本申请基于加密数据的区块链交易方法第一实施例的流程示意图。本实施例包括:
S101:交易端获取交易信息。
在本实施例中,交易端可作为参与区块链交易的用户与区块链网络之间进行信息交互的桥梁。交易端接收交易信息,例如是交易发起方通过交易端的相应接口输入交易信息,交易端接收到交易信息后,可以对交易信息进行处理。或者,交易发起方也可以通过客户端将交易信息发送至交易端,交易端接收交易信息后对其进行处理。
交易信息例如包括交易发起方的地址、交易接收方的地址、交易发起方的账户余额、交易金额等。在一些实施方式中,交易信息还可以包括交易背书,交易背书可以对交易信息进行增信,提高交易信息的可信度。
在一些实施方式中,交易端在接收到交易信息后,还可以验证交易发起方和交易接收方的身份信息是否合法。例如,交易端可以验证交易信息中交易发起方的地址与交易接收方的地址是否有效,若验证有效,则验证交易发起方和交易接收方的身份信息合法。或者,交易端也可以验证交易信息是否合法,例如交易端可以验证交易背书的有效性和正确性,若验证交易背书有效且正确,则验证交易信息合法。本实施方式通过验证交易发起方与交易接收方的身份信息以及交易信息,可以有效提高交易信息的可信度,减少因交易信息无效造成区块链节点的资源浪费,提升区块链***的交易效率。
S102:交易端采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息。
在本实施例中,交易端接收到交易信息后,采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息。密文信息例如包括:交易发起方的地址、交易接收方的地址、交易发起方用自己公钥加密的账户余额的密文、用交易接收方的公钥加密的交易金额的密文、证明该笔交易合理的非交互式的零知识证明π、密文状态下指定转移通证的数量、交易相关的子串等。交易信息加密成密文信息后,隐藏了交易信息中的隐私数据,除了交易双方,隐藏的数据对其他任何节点是完全不可见的,可以有效提高交易信息隐私的安全性。
在本实施例中,无自举转换的全同态加密方法可以利用密钥交换、模数交换来替代传统加密方法中的自举过程,如此可以有效提高运行效率。例如,在一个具体的实施方式中,可以采用如下步骤对交易信息进行全同态加密:
(1)计算公共参数:设安全参数为λ、可以进行同态处理的计算电路的深度为L,选取μ比特的模数q,选取其他参数:n=n(λ,μ)、μ=μ(λ,L)=θ(logλ+log L)、整数高斯差错分布χ=χ(λ,μ);d=1,令R=Z[x]/(xd+1),公共参数params=(q,d,n,N,χ);令参数j从L到0循环计算输出公共参数paramsj←(qj,dj,nj,Nj,χj);其中,L+1个模数qL到q0逐渐减小,j从L-1到0过程中,用dL和χL替换dj和χj,即dj=dL、χj=χL。
(2)利用公共参数生成私钥和公钥:在高斯差错分布χ上采样s'←χn,令其中s[0]=1,/>由参数j从L到0循环计算得到的全部sj组成私钥sk;令/>sj”←BitDecomp(sj',qj),将sk=s=(1,s')作为输入,生成随机矩阵/>和一个向量e←χN,令b=A's'+2e,A=[b-A']为N行n+1列的矩阵,则A·s=2e,将sj’和sj-1作为输入,循环计算得/>由全部的Aj和/>组成公钥pk。
(3)利用公钥加密交易信息:交易信息m∈R2,令取样/>公钥pk为AL,输出密文/>
(4)加法同态:在上一步骤中将交易信息m1加密成密文c1,将交易信息m2加密成密文c2;判断密文是否对应相同的私钥sj,若不同,可以利用步骤(6)刷新密文使c1和c2对应相同的私钥;在密文c1和c2对应相同的私钥sj的条件下,令c3←c1+c2modqj,把c3作为对应sj’的密文。
(5)乘法同态:在密文c1和c2对应相同的私钥sj的条件下,令c4=c1·c2modqj,把c4作为对应sj’的密文。
(6)重加密刷新密文:设密文c对应的私钥为sj’,利用辅助信息进行密钥交换,具体步骤如下:
先将密文c进行展开,令c1←Powerof2(c,qj),其中,
计算得到<c1,sj”>=<c1,sj”>mod qj;然后进行模数交换,令c2←Scale(c1,qj,qj-1,2),密文c2对应sj”和模数qj-1;最后以c2、和qj-1作为输入进行私钥变换,输出密文c3,其对应私钥sj-1和模数qj-1。
本实施方式中,交易端可以通过利用密钥交换和模数交换重加密刷新密文,而不需要再进行自举过程,可以有效提高全同态加密的效率。而采用全同态加密后的密文信息既支持加法同态加密,也支持乘法同态加密,有利于对密文信息进行验证操作,扩宽了交易信息的验证途径。
S103:交易端将密文信息发送给区块链节点。
交易端将交易信息加密成密文信息后,将密文信息发送给区块链节点以进行分布式存储。在本实施例中,交易端可以将密文信息发送给某一个或多个区块链节点,这些区块链节点接收到密文信息后可以将其广播至区块链网络中的其他区块链节点。或者,交易端也可以直接将密文信息广播至区块链网络中的区块链节点。
S104:区块链节点对密文信息进行分布式存储。
区块链节点接收到交易端的密文信息后,可以对密文信息进行分布式存储。通过对密文信息进行分布式存储,存储至区块链的密文信息不可被篡改,有效提高交易的安全可靠性,而以密文信息的方式存储至区块链中,还可以有效避免交易信息的泄露,提高交易信息隐私的安全性。
如图3所示,在一些实施方式中,区块链节点对密文信息进行分布式存储还可以包括以下步骤:
S1041:将密文信息进行排序打包成区块。
区块链节点接收到密文信息后,可以将密文信息添加至交易池,以便后续进行排序打包。在一些实施方式中,区块链节点在将密文信息添加至交易池之前,还可以验证密文信息所对应的交易信息是否满足区块链的交易要求。交易要求例如包括交易提供了相应的奖励、交易方式符合标准、不属于双花交易等。区块链节点可以在验证满***易要求后,将密文信息添加至交易池进行排序。
在一些实施方式中,区块链节点可以依据相应的规则对密文信息进行排序。例如,区块链节点可以依据每笔交易提供的奖励大小对密文信息进行排序,对提供了较高奖励的密文信息进行优先排序打包。或者,区块链节点也可以依据密文信息添加至交易池的时间对密文信息进行排序,较早添加的优先进行排序打包。区块链节点依据相应的规则对密文信息进行排序打包,可以保证区块链交易的有序性,提高交易效率。
区块链节点将密文信息进行排序打包形成区块,新的区块链接至区块链末端,区块链节点可以将其广播至区块链网络中的其他节点以进行分布式存储。
S1042:执行智能合约并广播区块。
在本实施方式中,区块链节点将密文信息打包到区块中,还可以运行该密文信息调用的合约代码,直到代码结束,模拟完成该笔交易,以至少在本地账本中更新交易后交易发起方和交易接收方的账户余额。
区块链节点还可以将生成的区块广播至区块链网络中的其他节点,从而其他节点可以验证区块的正确性,并在验证通过后存储区块。
S1043:将被验证通过后的区块进行存储。
在本实施方式中,区块链节点将生成的区块广播至区块链网络中的其他区块链节点,其他区块链节点可以依据相应的共识验证方法对区块进行验证,在验证通过后将区块进行存储。当在该区块后链接相应数目的区块后,该区块中的密文信息被最终确定下来,从而区块中的密文信息对应的交易即完成,区块中的密文信息即被永久保存且不可被篡改。
本实施例中交易端采用无自举转换的全同态加密方法对交易信息进行加密,可以把区块链交易体系的输入和输出以及交易信息的细节完全隐藏起来,除了交易双方,隐藏细节对其他任何人是完全不可见的,区块链上的交易信息被其它恶意对手所分析的威胁将大大的减小,显著地提高了交易信息隐私的安全性。
参阅图4,图4是本申请基于加密数据的区块链交易方法第二实施例的流程示意图。本实施例是在本申请基于加密数据的区块链交易方法第一实施例的基础上进一步阐述,本实施例与本申请基于加密数据的区块链交易方法第一实施例相同的步骤在此不再赘述。本实施例包括:
S201:交易端获取交易信息。
S202:交易端采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息。
在本实施例中,交易端还可以向区块链节点提供非交互式的零知识证明,从而区块链节点可以在不解密的情况下验证密文信息对应的交易信息。例如,交易端在对交易信息进行加密形成密文信息时,还可以基于密文信息生成零知识证明,以便一次性地将非交互式的零知识证明发布到区块链网络中。例如,S202还可以包括:
S2021:采用交易发起方的公钥对交易金额进行全同态加密形成第一密文信息。
在本实施例中,交易信息包括交易金额。交易端可以采用交易发起方的公钥对交易金额进行全同态加密形成第一密文信息。全同态加密的具体过程可以参照本申请基于加密数据的区块链交易方法第一实施例中交易端采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息的步骤,在此不再赘述。第一密文信息对应的交易金额除了交易发起方和交易接收方可见外,对其他任何人是完全不可见的。
S2022:采用交易接收方的公钥对所交易金额进行全同态加密形成第二密文信息。
在本实施例中,全同态加密的具体过程可以参照本申请基于加密数据的区块链交易方法第一实施例中交易端采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息的步骤,在此不再赘述。第二密文信息对应的交易金额除了交易发起方和交易接收方可见外,对其他任何人是完全不可见的。
S2023:基于第一密文信息和第二密文信息生成交易信息的第一零知识证明。
在本实施例中,交易端采用全同态加密方法加密得到第一密文信息和第二密文信息后,基于第一密文信息和第二密文信息生成交易信息的第一零知识证明。第一零知识证明可以用于在不解密的情况下验证交易信息中的交易金额。
在一个具体的实施方式中,例如,交易发起方A需要转账t金额给交易接收方B,生成第一零知识证明的步骤如下:
(1)交易端首先采用交易发起方的公钥加密交易金额t为第一密文信息CA,t,加密过程中所用的随机向量为rA,t;交易端再采用交易接收方的公钥加密交易金额t为第二密文信息CB,t,所用的随机向量为rB,t;交易端将CA,t和CB,t加入到空的零知识证明π1中。
(2)交易端选取安全参数k(哈希长度),生成均匀分布的随机数δi(1≤i≤k);交易端采用交易发起方的公钥加密随机数δi为γA,i,所用的随机向量为rA,i;采用交易接收方的公钥加密随机数δi为γB,i,所用的随机向量为rB,i;交易端将γA,i和γB,i加入到零知识证明π1中。
(3)交易端计算生成交易金额t的密文与随机数δi的密文之和,表示如下:
ΓA,i=CA,t+γA,i;
ΓB,i=CB,t+γB,i;
将ΓA,i和ΓB,i加入到零知识证明π1中,生成第一零知识证明如下:
π1=(CA,t,CB,t,γA,i,γB,i,ΓA,i,ΓB,i);
第一零知识证明π1中给出了密文(γA,i,γB,i)、对应的明文信息δi和把δi加密成(γA,i,γB,i)的随机向量rA,i和rB,i;和/或给出了密文(ΓA,i,ΓB,i)、对应的明文t+δi和把t+δi加密成(ΓA,i,ΓB,i)的随机向量rA,t+rA,i和rB,t+rB,i,通过验证交易端给出的第一零知识证明中的明文信息能否加密成对应的密文,即可检验交易信息的正确性。
S203:交易端将密文信息发送给区块链节点。
在本实施例中,交易端在将密文信息发送给区块链节点时,还可以一次性地将密文信息的第一零知识证明发送给区块链节点。例如,S203还可以包括:交易端将第一零知识证明发送给区块链节点。如此便于减少交易端与区块链节点之间的交互过程,节省交互成本并提高区块链的交易效率。
在本实施例中,区块链节点在接收到密文信息后,可以在不解密密文信息的条件下,验证密文信息对应的交易信息的合法性。若区块链节点验证交易信息合法,才执行对密文信息进行分布式存储的步骤。
区块链节点验证密文信息所对应的交易信息的合法性例如包括:
S204:区块链节点基于第一零知识证明验证交易信息是否满足第一交易条件。
在本实施例中,区块链节点接收到密文信息后,可以基于第一零知识证明验证交易信息是否满足第一交易条件。第一交易条件例如包括交易发起方减少的金额与交易接收方增加的金额相等。该验证过程是在不解密密文信息的条件下进行地,有效地保护了交易信息隐私的安全性。
在上述具体的实施方式中,区块链节点基于第一零知识证明验证交易信息的合法性的具体步骤如下:
从{0,1}中随机选取随机数为bi;如果bi=0,则验证随机数δi可否用交易发起方的公钥加密成γA,i以及可否用交易接收方的公钥加密成γB,i;如果bi=1,则验证t+δi可否用交易发起方的公钥加密成ΓA,i以及可否用交易接收方的公钥加密成ΓB,i;若验证通过,则交易信息满足第一交易条件;若验证有至少一项不通过,则交易信息不满足第一交易条件。
上述验证步骤中,由于第一零知识证明中的CA,t和CB,t是全同态加密后的,在密文状态下,区块链节点无法获知交易金额t,而从γA,i、γB,i、ΓA,i或ΓB,i也无法获得关于交易金额的内容,由此可以对交易金额进行保密,提高交易的安全性。
在本实施例中,若验证交易信息满足第一交易条件,也即验证交易信息合法,则可以执行以下S205的步骤;若验证交易信息不满足第一交易条件,即验证交易信息不合法,则不执行S205的步骤。在一些实施方式中,在验证交易信息不合法时还可以反馈交易信息不合法的消息至交易端,从而交易端可以及时检查修正交易信息,减少交易延误造成的损失。
S205:区块链节点对密文信息进行分布式存储。
本实施例中交易端通过生成交易信息的第一零知识证明,使得区块链节点可以在不解密密文信息的条件下,验证交易信息的合法性,既能提供快速有效的验证途径,还能隐藏交易金额,避免在密文信息上链过程中造成信息泄露,减小区块链上的交易信息被其它恶意对手所分析的威胁,有效提高交易信息隐私的安全性,第一零知识证明还可以一次性的发送给区块链节点,减少区块链节点与交易端的交互过程,节省交互成本并提高区块链的交易效率。
本实施例中,步骤S201~S205的顺序是本实施例中的描述顺序,不限制为本实施例基于加密数据的区块链交易方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序或是同时执行。
参阅图5,图5是本申请基于加密数据的区块链交易方法第三实施例的流程示意图。本实施例是在本申请基于加密数据的区块链交易方法第一实施例的基础上进一步阐述,本实施例与本申请基于加密数据的区块链交易方法第一实施例相同的步骤在此不再赘述。本实施例包括:
S301:交易端获取交易信息。
S302:交易端采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息。
在本实施例中,交易端在对交易信息进行加密形成密文信息时,还可以基于密文信息生成第二零知识证明,并一次性地将非交互式的第二零知识证明发布到区块链网络中。例如,S302还可以包括:
S3021:采用交易发起方的公钥对交易金额、第一账户余额以及第二账户余额进行全同态加密形成第三密文信息。
在本实施例中,交易信息还包括交易金额、第一账户余额以及第二账户余额。第一账户余额是指交易发起方交易前的账户余额。第二账户余额是指交易发起方交易后的账户余额。在本实施例中,第二账户余额等于第一账户余额减去交易金额。
交易端可以采用交易发起方的公钥对交易金额、第一账户余额以及第二账户余额进行全同态加密形成第三密文信息。全同态加密的具体过程可以参照本申请基于加密数据的区块链交易方法第一实施例中交易端采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息的步骤,在此不再赘述。第三密文信息对应的交易金额、第一账户余额以及第二账户余额除了交易发起方和交易接收方可见外,对其他任何人是完全不可见的。
S3022:基于第三密文信息生成交易信息的第二零知识证明。
在本实施例中,交易端采用全同态加密方法加密得到第三密文信息后,基于第三密文信息生成交易信息的第二零知识证明。第二零知识证明可以用于在不解密的情况下验证交易信息。
在一个具体的实施方式中,例如,交易发起方A的第一账户余额为tA,需要转账t金额给交易接收方B,生成第二零知识证明的步骤如下:
(1)交易端首先采用交易发起方的公钥加密第一账户余额tA为CA,tA,加密过程中所用的随机向量为rA,tA;然后采用交易发起方的公钥加密交易金额t为CA,t,所用的随机向量为rA,t;再采用交易发起方的公钥加密第二账户余额tA-t为CA,tA-t,所用的随机向量为rA,tA-rA,t。
(2)交易端选取安全参数k(哈希长度),选取公共参数D,以证明tA∈[0,3D)、t∈[0,3D)以及tA-t∈[0,3D)。
(3)以第一账户余额tA为例,选取随机数ω1,i∈[0,D),ω2,i=ω1,i-D(1≤i≤k);交易端采用交易发起方的公钥加密ω1,i为W1,i,所用的随机向量为r1,i;采用交易发起方的公钥加密ω2,i为W2,i,所用的随机向量为r2,i;将CA,tA、W1,i和W2,i加入到空的零知识证明πtA中。
(4)交易端分别计算生成第一账户余额tA的密文CA,tA与随机数ω1,i、ω2,i的密文之和,表示如下:
将G1,i和G2,i加入到零知识证明πtA中,生成第一账户余额tA的零知识证明如下:
同理,可得到交易金额t对应的零知识证明πt以及第二账户余额tA-t对应的零知识证明πtA-t。交易端将πtA、πt和πtA-t加入到零知识证明π2中,得到第二零知识证明如下:
第二零知识证明π2中给出了第一账户余额tA、交易金额t以及第二账户余额tA-t分别对应的零知识证明,这些零知识证明中包括随机数的密文、明文信息及加密时相应的随机向量,和/或包括进行加法运算后的密文、明文信息及相应的随机向量,可以用于验证第一账户余额tA、交易金额t以及第二账户余额tA-t的正确性。
S303:交易端将密文信息发送给区块链节点。
在本实施例中,交易端在将密文信息发送给区块链节点时,还可以一次性地将密文信息的第二零知识证明发送给区块链节点。例如,S303还可以包括:交易端将第二零知识证明发送给区块链节点。如此便于减少交易端与区块链节点之间的交互过程,节省交互成本并提高区块链的交易效率。
在本实施例中,区块链节点在接收到密文信息后,可以在不解密密文信息的条件下,验证密文信息对应的交易信息的合法性。若区块链节点验证交易信息合法,才执行对密文信息进行分布式存储的步骤。
区块链节点验证密文信息所对应的交易信息的合法性例如包括:
S304:区块链节点基于第二零知识证明验证交易信息是否满足第二交易条件。
在本实施例中,区块链节点接收到密文信息后,可以基于第二零知识证明验证交易信息是否满足第二交易条件。第二交易条件例如包括交易发起方在交易前的账户余额不小于交易金额,也即交易发起方的第二账户余额大于或等于零。该验证过程是在不解密密文信息的条件下进行地,有效地保护了交易信息隐私的安全性。
在上述具体的实施方式中,区块链节点基于第二零知识证明验证交易信息的合法性的具体步骤如下:
以验证第一账户余额tA为例,从{0,1}中随机选取随机数为bi;如果bi=0,则验证|ω1,i-ω2,i|是否等于D,并验证ω1,i能否用交易发起方的公钥加密成W1,i以及ω2,i能否用交易发起方的公钥加密成W2,i;如果bi=1,则验证tA+ω1,i能否用交易发起方的公钥加密成G1,i和/或验证tA+ω2,i能否用交易发起方的公钥加密成G2,i。
同理,可以对交易金额t与第二账户余额tA-t分别进行验证;若对第一账户余额tA、交易金额t与第二账户余额tA-t均验证通过,则交易信息满足第二交易条件;若有至少一项验证不通过,则交易信息不满足第二交易条件。
上述验证步骤中,由于第二零知识证明中的CA,t、CA,tA-t以及rA,tA-rA,t。是全同态加密后的,在密文状态下,区块链节点无法从第二零知识证明中获知交易发起方的账户余额以及交易金额,由此可以对交易金额进行保密,提高交易的安全性。
在本实施例中,若验证交易信息满足第二交易条件,也即验证交易信息合法,则可以执行以下S305的步骤;若验证交易信息不满足第二交易条件,即验证交易信息不合法,则不执行S305的步骤。在一些实施方式中,在验证交易信息不合法时还可以反馈交易信息不合法的消息至交易端,从而交易端可以及时检查修正交易信息,减少造成交易延误造成的损失。
S305:区块链节点对密文信息进行分布式存储。
本实施例中交易端通过生成交易信息的第二零知识证明,使得区块链节点可以在不解密密文信息的条件下,验证交易发起方的账户余额大于交易金额而能够正确完成转账,如此既能提供快速有效的验证途径,还能隐藏交易金额以及交易发起方的账户余额,避免在密文信息上链过程中造成信息泄露,减小区块链上的交易信息被其它恶意对手所分析的威胁,有效提高交易信息隐私的安全性,第二零知识证明还可以一次性的发送给区块链节点,减少区块链节点与交易端的交互过程,节省交互成本并提高区块链的交易效率。
本实施例中,步骤S301~S305的顺序是本实施例中的描述顺序,不限制为本实施例基于加密数据的区块链交易方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序或是同时执行。本实施例可以与上述本申请基于加密数据的区块链交易方法第二实施例结合。
参阅图6,图6是本申请基于加密数据的区块链交易方法第四实施例的流程示意图。本实施例以交易端为执行主体,包括:
S401:获取交易信息。
S402:采用无自举转换的全同态加密方法对交易信息进行加密以形成密文信息。
S403:将密文信息发布到区块链网络,以进行分布式存储。
关于本实施例中交易端的更多步骤和功能可以参照上述本申请基于加密数据的区块链交易方法第一实施例至第三实施例的描述,在此不再赘述。
参阅图7,图7是本申请基于加密数据的区块链交易方法第五实施例的流程示意图。本实施例以区块链节点为执行主体,包括:
S501:接收密文信息。
密文信息是交易端采用无自举转换的全同态加密方法对交易信息进行加密后形成的。
S502:对密文信息进行分布式存储。
关于本实施例中区块链节点的更多步骤和功能可以参照上述本申请基于加密数据的区块链交易方法第一实施例至第三实施例的描述,在此不再赘述。
参阅图8,图8是本申请电子设备实施例的结构示意图。本实施例中电子设备80包括处理器81、存储器82和通信电路83。处理器81分别耦接存储器82和通信电路83。
本实施例中,电子设备80可以通过通信电路83与其他设备进行通信。电子设备80的存储器82用于存储处理器81执行的程序指令。处理器81用于执行程序指令以实现上述本申请基于加密数据的区块链交易方法第一实施例至第五实施例中交易端或区块链节点的步骤。
在本实施例中,处理器81还可以称为CPU(Central Processing Unit,中央处理单元)。处理器81可能是一种集成电路芯片,具有信号的处理能力。处理器81还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中关于电子设备80的更多执行过程和功能等可以参照上述本申请基于加密数据的区块链交易方法第一实施例至第五实施例的描述,在此不再赘述。
参阅图9,图9是本申请存储介质实施例的结构示意图。本实施例中存储介质90用于存储程序指令91,程序指令91能够被处理器运行,以实现上述本申请基于加密数据的区块链交易方法第一实施例至第五实施例中交易端或区块链节点的步骤。具体可以参照上述本申请基于加密数据的区块链交易方法第一实施例至第五实施例的描述,在此不再赘述。
本申请基于加密数据的区块链交易方法第一实施例至第五实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质90包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的移动终端等其他装置。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于加密数据的区块链交易方法,其特征在于,所述交易方法包括:
交易端获取交易信息;
所述交易端验证交易发起方和交易接收方的信息是否合法,所述信息包括地址信息、交易背书有效性和准确性中的至少一者;所述地址信息包括所述交易发起方的地址和所述交易接收方的地址;
响应于所述信息合法,采用无自举转换的全同态加密方法对所述交易信息进行加密以形成密文信息;所述密文信息包括证明交易合理的非交互式的零知识证明;
将所述密文信息发布到区块链网络,以进行分布式存储。
2.根据权利要求1所述的交易方法,其特征在于,所述交易信息包括交易金额;
所述采用无自举转换的全同态加密方法对所述交易信息进行加密以形成密文信息包括:
采用所述交易发起方的公钥对所述交易金额进行全同态加密形成第一密文信息;
采用所述交易接收方的公钥对所述交易金额进行全同态加密形成第二密文信息;
基于所述第一密文信息和所述第二密文信息生成所述交易信息的第一零知识证明;
所述将所述密文信息发布到区块链网络还包括:
将所述第一零知识证明发布到区块链网络。
3.根据权利要求1所述的交易方法,其特征在于,所述交易信息包括交易金额、所述交易发起方交易前的第一账户余额以及交易后的第二账户余额;
所述采用无自举转换的全同态加密方法对所述交易信息进行加密以形成密文信息包括:
采用所述交易发起方的公钥分别对所述交易金额、所述第一账户余额以及所述第二账户余额进行全同态加密形成第三密文信息;
基于所述第三密文信息生成所述交易信息的第二零知识证明;
所述将所述密文信息发布到区块链网络还包括:
将所述第二零知识证明发布到区块链网络。
4.一种基于加密数据的区块链交易方法,其特征在于,所述交易方法包括:
接收密文信息;所述密文信息是交易端在验证交易发起方和交易接收方的信息合法后,采用无自举转换的全同态加密方法对交易信息进行加密后形成的,所述信息包括地址信息、交易背书有效性和准确性中的至少一者,所述地址信息包括所述交易发起方的地址和所述交易接收方的地址,所述密文信息包括证明交易合理的非交互式的零知识证明;
对所述密文信息进行分布式存储。
5.根据权利要求4所述的交易方法,其特征在于,
所述对所述密文信息进行分布式存储之前还包括:
在不解密所述密文信息的条件下,验证所述密文信息对应的交易信息的合法性;
若验证所述交易信息合法,才执行对所述密文信息进行分布式存储的步骤。
6.根据权利要求5所述的交易方法,其特征在于,
所述验证所述密文信息所对应的交易信息的合法性之前还包括:
接收来自所述交易端的第一零知识证明;
所述验证所述密文信息所对应的交易信息的合法性包括:
基于所述第一零知识证明验证所述交易信息是否满足第一交易条件;其中,所述第一交易条件包括交易发起方减少的金额与交易接收方增加的金额相等;
若满足,则验证所述交易信息合法。
7.根据权利要求5所述的交易方法,其特征在于,
所述验证所述密文信息所对应的交易信息的合法性之前还包括:
接收来自所述交易端的第二零知识证明;
所述验证所述密文信息所对应的交易信息的合法性包括:
基于所述第二零知识证明验证所述交易信息是否满足第二交易条件;其中,所述第二交易条件包括交易发起方在交易前的账户余额不小于交易金额;
若满足,则验证所述交易信息合法。
8.根据权利要求4所述的交易方法,其特征在于,
所述对所述密文信息进行分布式存储包括:
将所述密文信息进行排序打包成区块;
执行智能合约并广播所述区块;
将被验证通过后的区块进行存储。
9.一种电子设备,其特征在于,包括处理器、存储器和通信电路,所述处理器耦接所述存储器和所述通信电路;
所述通信电路用于所述电子设备与外部设备进行通信;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令以实现如权利要求1~8任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质用于存储程序指令,所述程序指令能够被处理器执行以实现权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911350577.4A CN111191280B (zh) | 2019-12-24 | 2019-12-24 | 基于加密数据的区块链交易方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911350577.4A CN111191280B (zh) | 2019-12-24 | 2019-12-24 | 基于加密数据的区块链交易方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191280A CN111191280A (zh) | 2020-05-22 |
CN111191280B true CN111191280B (zh) | 2024-04-12 |
Family
ID=70705827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911350577.4A Active CN111191280B (zh) | 2019-12-24 | 2019-12-24 | 基于加密数据的区块链交易方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191280B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639925B (zh) * | 2020-06-01 | 2021-07-30 | 上海旺链信息科技有限公司 | 一种基于区块链的密封式拍卖方法及*** |
CN111783151A (zh) * | 2020-06-30 | 2020-10-16 | 平安科技(深圳)有限公司 | 区块链账本的管理方法、装置和计算机设备 |
CN111800252A (zh) * | 2020-07-22 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 基于区块链的信息审核方法、装置和计算机设备 |
CN112257102B (zh) * | 2020-09-28 | 2022-03-11 | 铭数科技(青岛)有限公司 | 基于区块链的能源交易隐私保护方法 |
CN112182110A (zh) * | 2020-10-13 | 2021-01-05 | 成都数融科技有限公司 | 一种基于区块链的市民数据可信共享方法及*** |
CN112307504B (zh) * | 2020-11-18 | 2024-02-09 | 成都佳华物链云科技有限公司 | 一种安全多方计算方法、装置、电子设备及存储介质 |
CN112734423A (zh) * | 2020-12-31 | 2021-04-30 | 杭州趣链科技有限公司 | 一种基于区块链的交易方法及终端设备 |
CN113159745B (zh) * | 2021-03-23 | 2023-06-16 | 西安电子科技大学 | 基于全同态的区块链交易隐私保护方法 |
CN113643134B (zh) * | 2021-08-24 | 2023-08-25 | 杭州云象网络技术有限公司 | 基于多密钥同态加密的物联网区块链交易方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472678A (zh) * | 2018-09-29 | 2019-03-15 | 刘建平 | 一种基于区块链的会计账本管理方法、电子装置及可读存储介质 |
CN109840771A (zh) * | 2019-04-01 | 2019-06-04 | 西安电子科技大学 | 一种基于同态加密的区块链隐私保护***及其方法 |
-
2019
- 2019-12-24 CN CN201911350577.4A patent/CN111191280B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472678A (zh) * | 2018-09-29 | 2019-03-15 | 刘建平 | 一种基于区块链的会计账本管理方法、电子装置及可读存储介质 |
CN109840771A (zh) * | 2019-04-01 | 2019-06-04 | 西安电子科技大学 | 一种基于同态加密的区块链隐私保护***及其方法 |
Non-Patent Citations (1)
Title |
---|
晁昭昭.基于全同态加密的数据隐私区块链研究.《中国优秀硕士学位论文》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111191280A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191280B (zh) | 基于加密数据的区块链交易方法、电子设备和存储介质 | |
US11861606B2 (en) | Blockchain system for confidential and anonymous smart contracts | |
US11558398B2 (en) | Selectivity in privacy and verification with applications | |
US20200322132A1 (en) | System and method for authenticating off-chain data based on proof verification | |
US20230216833A1 (en) | Systems and methods for ensuring correct execution of computer program using a mediator computer system | |
US11341487B2 (en) | System and method for information protection | |
Chaudhry et al. | A secure and efficient authenticated encryption for electronic payment systems using elliptic curve cryptography | |
US9495668B1 (en) | Computing solutions to a problem involving inversion of a one-way function | |
US20210049600A1 (en) | Digital Asset Delivery Network | |
US20190356481A1 (en) | System and method for securing digital assets | |
WO2019010430A2 (en) | METHOD AND SYSTEM FOR PUBLICITY BY SOCIAL MEDIA PRESERVING CONFIDENTIALITY | |
EP3966998B1 (en) | Hash function attacks | |
TW498233B (en) | Method of authenticating anonymous users while reducing potential for ""middleman"" fraud | |
CA3048425A1 (en) | System and method for an electronic identity brokerage | |
US11997107B2 (en) | Decentralized techniques for verification of data in transport layer security and other contexts | |
Dreier et al. | Formal verification of e-auction protocols | |
CN109565440B (zh) | 密钥交换方法,密钥交换*** | |
US20230336567A1 (en) | Selectivity in privacy and verification with applications | |
US20220374544A1 (en) | Secure aggregation of information using federated learning | |
Sarfaraz et al. | A tree structure-based improved blockchain framework for a secure online bidding system | |
CN110278266B (zh) | 一种基于区块链的资源处理方法及装置 | |
CN114747172A (zh) | 加密链接身份 | |
Kokaras et al. | The cost of privacy on blockchain: A study on sealed-bid auctions | |
EP3973661B1 (en) | Knowledge proof | |
Hou et al. | Blockchain-based efficient verifiable outsourced attribute-based encryption in cloud |
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 |