一种比特币交易隐私增强方法技术

技术编号:15749687 阅读:102 留言:0更新日期:2017-07-03 14:25
一种比特币交易隐私增强方法,其步骤如下:1、初始化,输出系统加解密和验证初始值;2、计算总输入金额;3、对发送的各个数额进行加密;4进行验证过程,确保交易值始终为正,且确保交易输入输出相等;5、验证通过后进行发送,接受者解密;6、交易单公开全网进行确认。通过以上步骤,从现有比特币系统存在的问题产生,继而进行完整的设计,用于解决比特币系统中数额暴露的隐私泄露问题;它覆盖了比特币系统、同态加密体制和承诺值证明几个密码学原语,将不同领域的方法从新应用在隐私增强的实际问题上,该方法具有加解密性、同态特性、零知识特性、安全性、高效性和兼容性,实现了加密后比特币的顺畅交易过程。

【技术实现步骤摘要】
一种比特币交易隐私增强方法(一)
:本专利技术设计了一种比特币交易隐私增强方法,用于保护比特币交易过程中的明文数额安全。方案通过加同态体制实现了对数额的加密解密运算,保证了传输过程中的数额隐私,同时通过承诺值证明保证了交易中隐藏数额始终为正且输入输出总额相等的要求。该方案属于信息安全中的密码学以及密码学货币领域。(二)技术背景:2008年,日本程序员中本聪(SatoshiNakamoto)设计并发布了一种点对点的去中心化数字货币——比特币。比特币系统提出了基于点对点的新型分布式模式,去除了传统电子货币的可信中心机构。比特币以及底层区块链技术展现出的去中心化、信息不可篡改、信息广泛传播、信息匿名特性逐渐被学术界与工业界关注并展开深入研究。比特币的产生与发展带动了一系列基于密码学的互联网货币兴起。按照工作原理的不同,可以大致分为三类:基于PoW的、基于PoS的以及基于PoW+PoS的。POW(ProofofWork,工作量证明)是指获得多少货币,取决于你挖矿贡献的工作量,电脑性能越好,分给你的矿就会越多,代表的货币有:比特币、莱特币、狗狗币、Zcash。POS(ProofofStake,股权证明)根据你持有货币的量和时间进行利息分配的制度,在POS模式下,你的“挖矿”收益正比于你的币龄,而与电脑的计算性能无关,代表的有:比特股、智能坊黑币。基于PoW+PoS的代表有:以太坊、点点币。其他的还有一些货币如:瑞波币、恒星币、合约币。比特币及其他电子货币的兴起引发了对于区块链技术的广泛应用,区块链1.0时代,是以比特币等数字货币为核心形成的底层产业结构,形成了矿机、矿池、数字货币、支付钱包、交易所、数字货币网关的产业群和产业链。在区块链2.0时代,技术和应用的焦点从单纯电子货币转移到底层技术区块链技术的应用上来,形成了多元化、多样式、多场景的应用,类别和行业跨越大、独立程度高。资产验证、金融服务、慈善、媒体及社区、研究及投资、智能合约、公正防伪、资产交易、银行结算、电子商务、社交通讯、物联网、文件存储等领域。针对大面积比特币使用的所带来的交易隐私泄露问题,方案通过运用加同态加密方案Paillier体制对明文交易数额进行加密传输。该体制是1999年由PascalPaillier提出,加密体制的困难性基于合数阶剩余类困难问题,具有在标准模型下的抗选择明文攻击安全。该体制具有加同态特性,使得通过对加密后的密文进行乘操作来实现相应的明文加减操作,该性质运用于在不泄露隐私情况下的验证过程。除了同态特性,该体制还具备高效性,使得方案可以通过进行预计算以及运用中国剩余定理进行快速计算,满足在比特币交易时间内的加密解密步骤。在运用加密体制进行加密后,生成的密文将存在于每个交易单中。为保证相应密文隐藏的明文的满足正值以及和相等的要求,方案运用了承诺值证明来进行验证。证明承诺值在特定区间采用2004年伍前红等人提出的方法,该方法在步骤相对简单的过程下保证了小的扩张域,使秘密数额保持为正值可证。证明两个承诺值相等运用哈希映射值相等的思想,在不泄露被承诺数的情况下验证两个承诺值包含同一个秘密。两个承诺值证明方案都具备零知识特性,保证了加密后的数额在验证过程中不被泄露。(三)
技术实现思路
:1、目的:本专利技术的目的是提出一种比特币交易隐私增强方法,以实现交易过程中将原始交易数额明文进行加密隐藏的隐私增强功能。方案一方面使加密后的密文值良好的保护了交易者隐私,另一方面还确保了隐藏的交易值始终为正值且交易数额前后总数一致,以满足与原比特系统的兼容性。2、技术方案:本专利技术方法分为六个步骤,六个步骤依次分散于交易层和验证层:1)系统初始化,生成初始值。2)计算交易总输入值,即上单交易与挖矿总收入。3)系统在交易层使用接收者公钥分别加密传输数额,同时在验证层使用系统公钥加密相同数额的各个数额。4)在验证层验证隐藏后的数额是否为证,以及输入输出总额是否相等。5)验证层验证通过后,交易层将加密后的数额发送给接收者,接收者依据自己的私钥进行解密。6)接收者核查无误后进行全网广播交易单等待确认。2.1基础知识:2.1.1比特币系统比特币系统包含三个技术元素:交易、共识机制、分布式网络。该三个技术元素也形成了比特币和区块链的三层结构:交易单、区块、区块链。比特币的存在形式是一笔笔不可逆的交易单,每笔交易单记录了数个用户的交易数据,包括交易来源和发送地址、交易数额、签名等信息。每笔交易单中都会有一个由SHA-256哈希算法生成的特殊标识符来对交易单进行标识。当每笔交易单完成后必须向全网进行广播等待确认。每个旷工对过去一段时间的交易单进行验证后并找到一个首字符连续为d个零的哈希值后可生成一个数据块,每个数据块在其后生成六个数据块后最终确认且不可更改。不可更改的数据块形成一个链式结构,即区块链。区块的生成是由分布式全网节点的算力进行确认的,算力越大越容易找到新的区块,但由于计算难度的相应调整,对应的计算时间保持在10分钟左右。比特币系统相对于原有电子货币系统具体去中心化、不可伪造、公开可验证、密码学安全等优势,该系统经过近9年发展已经证明其稳定性和拓展性。2.1.2Paillier公钥加密体制Paillier加密体制提供了标准模型下的抗选择明文攻击安全,具备高效的加密解密效率以及加同态的特性,该体制加解密步骤如下:生成:设p和q为大素数,g为系统生成元,令n=pq,计算λ=λ(n)=lcm(p-1,q-1),其中公钥为(n,g),私钥为λ。加密:c=gm·rnmodn2,其中r为任意选取。解密:同态特性:Decsk(Encpk(m1)·Encpk(m2)modn2)=m1+m2modn。2.1.3承诺值证明承诺值证明主要用于方案的验证层,一方面解决被承诺值始终为正,另一方面解决被承诺值进行操作后保证输入输出相等的特性。为了保证被加密后的隐私数额为始终为正值以防止比特币的偷窃行为,方案采用了伍前红等人于2004年提出的承诺值在特定区间的高效证明方法。该方法设计步骤相对简单,且扩张域为1,使得被承诺数可以限定在特定的区间,方案将下界设为0,即可证明被承诺数为正值。为了保证加密后的数值作为输出与交易输入值前后一致,方案采用了证明两个承诺数相等的方法。该方案设计思路简单,通过将秘密值隐藏于承诺值中,并且加入随机选取的值,利用两次哈希函数的值是否相等来进行判断是否前后一致,即可证明被承诺值前后和一直。2.2技术方案内容本专利技术设计一种比特币交易隐私增强方法,该方法依据流程分为六个步骤进行实现,方案架构分为交易层和验证层两层,六个步骤依次分布于两层之中;本专利技术一种比特币交易隐私增强方法,其运行步骤如下:步骤1:系统初始化/KeyGen:生成用于加解密运算以及验证的安全参数;系统输入安全参数,输出用于加解密运算的生成的公钥和私钥对(pki,ski),同时输出用于验证的公钥pkd,注意此公钥无配对私钥;步骤2:计算输入总值/Insum:计算交易总输入值,即上单交易与挖矿总收入(非初始区块链则无此项收入);若该交易单是作为新确认的区块,则该交易单将获得额外的50比特币费用作为奖励,总收入为该部分明文与原密文相操作的总和;若该交易单不是新确认区块首单,则无额外收入,总收入即本文档来自技高网
...
一种比特币交易隐私增强方法

【技术保护点】
一种比特币交易隐私增强方法,其特征在于:其运行步骤如下:步骤1:系统初始化/KeyGen:生成用于加解密运算以及验证的安全参数;系统输入安全参数,输出用于加解密运算的生成的公钥和私钥对(pk

【技术特征摘要】
1.一种比特币交易隐私增强方法,其特征在于:其运行步骤如下:步骤1:系统初始化/KeyGen:生成用于加解密运算以及验证的安全参数;系统输入安全参数,输出用于加解密运算的生成的公钥和私钥对(pki,ski),同时输出用于验证的公钥pkd,注意此公钥无配对私钥;步骤2:计算输入总值/Insum:计算交易总输入值,即上单交易与挖矿总收入;若该交易单是作为新确认的区块,则该交易单将获得额外的50比特币费用作为奖励,总收入为该部分明文与原密文相操作的总和;若该交易单不是新确认区块首单,则无额外收入,总收入即为上单交易传来的值;步骤3:加密项/Encrypt:系统在交易层使用接受者公钥分别加密传输数额,同时在验证层使用系统公钥加密相同数额的各个数额;在交易层所加密的数额将在验证层通过后发送至各个接收者账户,注意到在验证层发送的加密数额将进入“哑巴账户”,该账户无私钥,金额在验证后即丢弃;步骤4:验证项/Verify:在验证层验证隐藏后的数额是否为正值,以及输入输出总额是否相等;验证层分为两步,第一步通过承诺值在特定区间的证明方法证明隐藏的金额始终为正值;第二步用过两个承诺值相等的证明方法证明隐藏的金额输入输出前后总数相等;当两个步骤都为真时,进入交易层的发送环节;步骤5:解密项/Decrypt:验证层验证通过后,交易层将加密后的数额发送给接收者,接收者依据自己的私钥进行解密;在接受者核对自己的接收金额正确后,继续下一单的交易;该接受者的接收值即为下一单的输入值;步骤6:广播确认/Broadcast:即接收者核查无误后进行全网广播交易单等待确认;经过该方案处理后的交易单上原始的明文信息将隐藏为无法识读的密文,保证了交易过程唯一可能被分析处理的隐私;通过以上步骤,本发明所提出的比特币隐私增强的方法得到了论述,该方法是从现有比特币系统存在的问题产生,继而进行完整的设计,用于解决比特币系统中数额暴露的隐私泄露问题;该方法覆盖了比特币系统、同态加密体制和承诺值证明几个密码学原语,将不同领域的方法从新应用在隐私增强的实际问题上,依据其方案设计知,该方案具有加解密性、同态特性、零知识特性、安全性、高效性和兼容性;最终,该系统方法实现了加密后比特币的顺畅交易过程。2.根据权利要求1所述的一种比特币交易隐私增强方法,其特征在于:在步骤1中所述的“系统初始化/KeyGen”,其具体作法如下:系统的输入为安全参数,输出则为用于加解密运算以及验证的参数;在交易层,对于每个不同的接收者i,系统生成给每个接收者生成两个大素数pi和qi;接收者私钥为ski=λi,公钥为pki=(ni,gi),其中ni=piqi;同时在验证层,系统输出用于验证的“哑巴账户”的公钥pkd=(nd,gd),注意到此公钥无配对私钥;即该系统账户不能对收到的金额进行操作;系统生成参数Vα(gα,hα)和Vβ(gβ,hβ)用于验证。3.根据权利要求1所述的一种比特币交易隐私增强方法,其特征在于:在步骤2中所述的“计算输入总值/Insum”,计算输入总值分为两种情况,其具体作法如下:若该交易单是作为新确认的区块,则该交易单将获得额外的50比特币费用作为奖励,总收入为该部分明文与原密文相操作的总和,表示为若该交易单不是新确认区块首单,则无额外收入,总收入即为上单交易传来的值,表示为4.根据权利要求1所述的一种比特币交易隐私增强方法,其特征在于:在步骤3中所述的“加密项/Encrypt”,加密过程为在交易层和验证层同时加密相同的数额,其具体作法如下:在交易层,方案使用不同接收者的公钥pk1,pk2,...,pki使用Paillier加密体制来加密发送的明文数额m1,m2,...,mi为c1,c2,...,ci,表示为:同时,在验证层,方案使用系统的同一个公钥pkd将交易层中每一个发送的数额m1,m2,...,mi进行加密,表示为:其中方案设定随机数rd=hβ。5.根据权利要求1所述的一种比特币交易隐私增强方法,其特征在于:在步骤4中所述的“验证项/Verify”,其验证层分为两步,第一步通过承诺值在特定区间的证明方法证明隐藏的金额始终为正值;第二步用过两个承诺值相等的证明方法证明隐藏的金额输入输出前后总数相等;其具体作法如下:对于第一步即Verify-I,方案使用承诺值在特定区间的证明来保证被加密的数额mi为正值,发送者Alice对于不同的接收者i,分别做出承诺为了简化,使用E0,E1,E2,E3,F,V来代替Ei0,Ei1,Ei2,Ei3,Fi,Vi;1)Alice设置v=α2y+ω>2t+l+s+T,其中任意选择α≠0,0<ω≤2s+T;设置r3-rα2+r1α+r2∈[-2sn+1,...,2sn-1],其中任意选择r1,r2,r3∈[-2...

【专利技术属性】
技术研发人员:伍前红王沁
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1