文摘
在传统的区块链系统,数据是公开的,无法屏蔽。区块链技术的发展,数据不能修改的问题会更严重一旦写在链。最近,一些redactable区块链方案已经提出。然而,大多数的方案是基于公众区块链,和用户的身份和交易数据可能披露。为了解决隐私披露的问题,我们提出一个保护隐私事务级redactable区块链。在拟议的方案中,使用对称加密和环签名保护交易数据和用户的身份,分别。为了证明数据的合法性编校,事务发送方可以揭示无效用户的身份和交易数据在一个匿名的环境中。构建一个事务级redactable区块链,用户只需要替换一个事务完成数据修订而不是替换整个块。实验结果表明,该方案可以节省20%的编校时间相比保护隐私blockchains,因此编校效率更高。
1。介绍
2009年1月,区块链的底层技术发明比特币(1),合并一些现代密码学等领域的重要成果和分布式网络。比特币的出现后,区块链网络支持大规模转移交易稳定在一个纯粹的分布式方式(2]。尤其是区块链的组合技术和物联网(物联网)开始大量出现,这证明了区块链是一个很好的解决分布式网络的基本需求(3,4]。例如,区块链是用来确保安全和anticounterfeiting可追溯性的食品供应链5]。
区块链技术在电子政务的广泛应用,军事,医学领域(6- - - - - -8),数据不能修改的问题将会更加严重。不断增长的数据区块链会导致剧烈的增加存储空间和数据验证成本,这将导致连续下降的数量在区块链full-nodes,加强集中化的趋势。此外,节点的计算开销来验证历史数据也将增加,这是不友好的一些物联网设备有限的计算资源(9]。因此,编辑或删除无用的数据将是一个重要的手段提高区块链的性能和可伸缩性。
最近,一些redactable blockchains提出了(10,11]。然而,用户的身份和交易是公开的。即使物联网设备区块链时仅仅使用假名的表演,他们只能提供有限的身份隐私。对手仍然可以跟踪透明块数据找出身份和交易之间的关系和分析用户的真实身份(12]。此外,在数据修订的过程中,校订者的个人信息可能会披露。由于物联网设备的广泛应用,数据所有者不想泄露他们的竞争对手的身份隐私或商业秘密。因此,它是非常重要的提出保护隐私redactable区块链同时保护用户的隐私和纠正不正确的数据。
1.1。保护隐私区块链
区块链的一个重要特性是数据透明度,这意味着公开身份和交易数据区块链是透明的。然而,对于一些公司或用户来说,数据是非常重要的保持强大的竞争力,和共享数据可能带来一些安全挑战。因此,越来越多的保护隐私机制区块链提出了研究人员。目前,最受欢迎的解决方案保护身份隐私是环签名(13),混合服务(14),而非交互式零知识证明(15),最常见的方法来保护数据隐私包括零知识证明,同态加密和承诺方案(16]。
1.2。Redactable区块链
在[10的概念,redactable区块链是第一次提出。协议的主要思想是保持块散列连接兼容当前状态当一个修订。他们使用一种特殊的散列函数称为变色龙哈希(17)来取代传统的collision-resistant哈希函数,散列碰撞的计算与活板门。因此,可以计算碰撞散列连接像往常一样。在这部作品中,作者改进变色龙哈希协议和解决关键接触问题在前面的变色龙哈希和还提供正式的新协议的安全性分析。然而,在这个方案中,一个信方需要控制变色龙哈希的活板门,这违背了权力下放的区块链的概念,和编校操作并不代表整个系统的意见。此外,这个方案只能实现在块级数据修订。数据修订一次,整个街区需要更换。
之后,Deuber等人提出了一个历史依赖redactable计划(11),这是依赖的历史交易数据。他们建议redactable协议无许可设置,可以集成到比特币。方案保留了原始事务merkle根保持散列连接块是否改变。在他们的方案中,复杂的加密工具或信任方不习惯,和实验证明,他们的方案是有效的和可行的协议。然而,在这个方案中,投票一致同意的编校过程中使用,这将导致隐私披露编辑者。此外,这个方案也意识到数据修订块级别,而不是事务级。数据修订一次,整个街区需要更换。
大多数redactable blockchains块级别上实现,这意味着交易只能屏蔽块作为一个单元。最近,一个事务级redactable区块链提出了(18),只有编辑事务的哈希碰撞应该发现。他们提出一个基于策略的变色龙哈希,这结合了ciphertext-policy基础与变色龙哈希加密算法(CP-ABE)计划。在他们的方案中,用户应满足的属性的访问结构CP-ABE算法(18]。变色龙哈希碰撞只能发现当用户获得短期和长期的活板门在同一时间。
然而,所有的区块链解决方案修订忽略数据隐私披露的问题。最近,可删除的区块链提出\ {cai2019privacy},在用户的身份和交易时保护一块被删除。为了删除一个块在一个匿名的环境中,事务数据的真实身份或披露通过可追踪的环签名或彼得森的承诺。此外,提出了一种可链接多重签名方案以防止披露用户的身份,可以跟踪敌人,如果他不止一次生成一个签名。然而,块只能删除发送方的一个事务但不能屏蔽。因此,迫切和有意义提出redactable区块链没有透露用户的身份和交易数据。
1.3。我们的贡献
(1)我们提出一个保护隐私redactable区块链协议没有透露用户的身份和交易数据。门限环签名和对称加密算法分别用于保护用户的身份和交易数据。(2)该区块链是一个细粒度的事务级redactable。数据块可以编辑事务级别而不是块级别,这意味着在阻止其他事务不需要改变一个事务时屏蔽。(3)我们形式化四个安全要求保护隐私redactable区块链包括身份隐私,数据隐私,链质量和常见的前缀和证明我们提出的协议可能为安全的基于对称加密和门限环签名。(4)提出了协议的效率是由一系列的实验证明。结果表明,修订一个事务的时间大约是创建一个块的两倍,和拟议中的协议可以节省大约20%的比之前的计算成本。
2。预赛
一些定义和算法利用本节介绍了拟议中的协议。
2.1。介绍区块链
假设 三个相邻区块链块。如图1, - - - - - -块是表示 。块可以指出先前块通过散列值 。所有的事务中包含打包在一块 ,和 是战俘谜题的结果20.]。用户检查是否阻塞是有效的或不是由下列不等式: 的参数是目标难度系数战俘共识机制。 是两个不同的加密哈希函数。
区块链是由一系列的模块,解决了战俘的难题。新创建的块指向先前块通过散列值。我们表示链的长度 ,和右边的块链可以表示为 。应该注意的是,一个区块链可以空链,这是表示 。
链将会更新 如果一个新的块由用户生成和验证,目前,最后一块链是一块 。对于任何 , 表示为链后删除最右边的块。请注意,可以是一个空链如果大于 ,在哪里链的长度吗 。如果链的前缀是 ,我们写 。
2.2。Redactable协议在公共区块链
在本节中,我们介绍一个redactable区块链协议(11),将用于我们的纸。主要贡献在于它保留了旧的状态 一块,实际上是merkle根旧的事务。如图2,一块与它的前身是由两个链接,一个古老的散列连接(实心箭头)和一个新的散列连接(虚线箭头表示),和 持有(11]。当块修订,新散列块之间的联系吗和是破碎的特点(红十字会),因为 。然而,还可以点成功穿过旧的散列连接(实心箭头)自merkle根旧的事务(老状态)仍然保留。原因如下所示:
请参见文献[11)的细节。
2.3。门限环签名
下面的算法通常包含在 门限环签名(TRS)计划, 的值阈值,是环成员的数量,和 (21]:TRS_Setup:输入安全参数 ,它输出的公共密钥 和私钥 的环成员TRS_Sign:输入消息 ,一个环,其中包含成员公共密钥 ,和私钥 的成员,它输出一个门限环签名在消息TRS_Verify:输入消息 ,一个签名和公钥 的成员在一个环,它输出或表示接受或拒绝签字
3所示。保护隐私Redactable区块链
本节描述了一个保护隐私redactable区块链协议 ,可编辑的数据块事务级没有披露交易数据和用户的身份。
3.1。保护隐私的语法Redactable区块链
我们构建一个保护隐私redactable区块链协议 ,它包含以下四个算法: :输入一个链 ,一个索引修订块的索引修订的事务,初步候选人事务 ,旧的交易数据 ,和旧的加密密钥 ,它返回如果编校请求是有效的;否则,它将返回 。 :输入一个链 ,最后一个候选人事务和一个指数 ,它返回如果是有效的;否则,它将返回 。 :输入一个链 ,它返回如果链是有效的;否则,它将返回0。 :在输入一个街区 ,它返回如果块是有效的;否则,它将返回0。
3.2。我们建议的协议
在拟议的协议,定期事务来标示 ,在哪里的交易数据,包括输入和输出是一个事务,是一个对称加密算法,是使用一个关键事务的密文数据吗和是一个环签名保护隐私的用户身份。 是一个密码散列函数。块的数据表示 ,在哪里是交易的数量在每一块打包。
3.2.1之上。提出了一个编校请求
一旦用户加入区块链系统,他需要生成一个公钥作为他的身份,和一个私钥,这将被用来生成一个签名。如果一个矿工想参与修订过程中,他可以申请门限环签名的密钥生成算法系统得到另一个密钥对,当他加入了区块链系统。密钥生成算法是由受信任方执行,如证书颁发机构(CA)。应该注意,生成私钥由用户生成的身份不同于TRS系统,前者是用于生成的环签名为了保护用户的身份,而后者是用来生成门限环签名允许编辑事务在一块。
如果用户希望提出一个编校请求事务在块 ,他透露交易加密密钥和加密的交易数据第一。然后,他产生一个新事务 ,拿起一个新的加密密钥 ,并计算出 , ,环签名和环签名在 。接下来,用户生成一个初始候选事务 。最后,用户广播编校请求 整个网络。注意,数据生成的两个环签名都是主人,随机选择两个环链,包括一些用户和计算这些用户的公钥签名的。
3.2.2。加入一个编辑操作
当一名矿工在区块链收到编校请求,调用算法1 判断是否编校请求是有效的。如果编校请求是有效的,他的选票编校把他投票结果在最新的块矿。如果矿工赞成编校请求超过阈值门限环签名,这些矿工生成门限环签名共同修订信息。最后,最后一个候选人事务生成和广播网络,在哪里 。
3.2.3。验证修订操作
每个人都可以验证是否最终候选人事务是有效的通过调用 (算法2)。如果最终候选人事务是有效的,用户替换旧事务在块最后的候选人事务在当地的连锁店。修订一个事务的过程如图3。
4所示。协议描述
在本节中,我们详细介绍每个算法提出的协议。
算法1可以验证是否编校请求是有效的。矿工们生成一个门限环签名的验证步骤5步骤9所有过去。
|
算法2可以验证是否最终候选人事务是有效的。该算法首先检查是否修订块是有效的还是无效的。在第6行,算法2检查门限环签名的有效性 。在第11行,它检查旧的散列连接来和散列链接来 。最终候选人事务可以被认为是有效的散列连接块可以正确地指向前一块。用户可以与最终的候选人取代旧的交易事务在他当地的连锁店。
|
算法3描述如何验证链在我们的系统。该算法检查链从开始到结束。用户只需要验证的链如果一个链的长度是1。否则,块应该验证。在第8行,用户首先检查当前的相邻块之间的联系;如果坏了的联系,那么用户在10号线检查旧的链接。用户接受该块旧的链接是否能成功地指向前一块,和候选块是有效的。
|
算法4描述如何验证一个街区在我们的系统。所有交易的块都应该检查使用一些预先定义的验证规则。2,这个算法检查是否解决了战俘的难题。如果已经修订之前,旧的状态应该检查来判断是否拼图块解决了战俘。
|
5。安全分析
以下内容提供安全分析我们的保护隐私redactable区块链协议 。最初的公共redactable区块链协议Γ满足两个安全需求:链质量和常见的前缀。假设该协议是一个安全和可靠的系统,拟议中的协议同时满足这两个要求。最重要的是,可以同时保护用户的身份和交易数据。下面的描述将清楚地显示,该协议是基于门限环签名证明地安全,对称加密,区块链协议提出了(11]。
5.1。身份隐私
分段状态,用户的身份在我们的私人协议。
定理1。的redactable区块链方案实现隐私的用户的身份如果门限环签名是匿名的。
证明。证明。敌人之间的执行游戏和一个模拟器 。在游戏的开始,给出一个元组 ,在哪里 , 都的子集大小相同,编校消息包括编校原因和时间戳,然后呢 生成的门限环签名吗 。假设对手获取用户的身份与拟议中的协议不可忽视的概率,模拟器可以获得真正的签名者的身份的一个不可忽视的概率门限环签名:设置。模拟器设置区块链系统和发送公共参数对手,是一个门限环签名方案,是一个对称的加密算法,是一个安全的哈希函数。甲骨文公司查询。敌人模拟以下神谕:事务代甲骨文。对手发送一个索引 ,收集的一些交易区块链系统。模拟器返回一个块 。事务编校甲骨文。对手发送一个块索引 ,交易指数 ,一个初始候选事务 ,一个旧的事务消息和一个旧事务加密密钥 ,修订的信息和两套和模拟器,是一个公共密钥集,是的一个子集和 。模拟器返回相应的交易最终候选人 。挑战。模拟器生成最终的候选人事务 ,在哪里包含了事务数据披露和加密密钥包含在事务 。然后,他传送的对手 。 输出 然后提交 。假设可以猜测用户的身份成功概率的多吗 ,模拟器可以区分真正的签名者的身份与概率超过 ,它与门限环签名的匿名性。因此,它是不可能的对手猜一个门限环签名的签名者的身份成功概率超过 ,和该redactable协议能有效地保护用户的身份。
5.2。数据隐私
分段州区块链系统的交易数据是私有的。
定理2。的redactable区块链方案实现事务数据的隐私,如果对称加密算法无法区分对选择明文攻击(IND-CPA)安全。
证明。敌人之间的执行游戏和一个模拟器 。假设对手能猜到事务数据的不可忽视的概率在拟议中的协议,模拟器可以区分明文的一个不可忽视的概率对称加密方案:设置。模拟器设置区块链系统,生成一个对称加密算法和一个加密密钥然后发送公共参数的对手。加密密钥是秘密本身。甲骨文公司查询。敌人模拟以下神谕:加密甲骨文。对手发送交易数据的明文模拟器。模拟器返回对应的密文 ,在哪里的密文通过使用对称加密算法,在密文的环签名模拟器 。挑战。对手发送一个元组 模拟器。然后,随机选择 和计算 。请注意,从来没有查询加密神谕。接下来,模拟器生成环签名在密文和密文传输事务 对对手 。 输出 然后提交 。假设可以猜出事务数据成功的概率比 ,模拟器可以区分两个明文密文的概率超过 ,它与IND-CPA对称加密方案的安全性。因此,它是不可能的对手猜事务数据的明文成功概率超过 ,和该redactable协议能有效地保护交易数据。
5.3。链质量
这个属性指出对手的比例块在区块链是有限的计算能力的对手。
定义1。的财产 链质量是参数化的 和 ,即,对于任何由链的一部分吗连续块由诚实的,对抗性的块的比例是最多的 ,在哪里用于评估的计算能力的敌人。
定理3。 满足 - - - - - -如果公众不可变的区块链满足链质量 - - - - - -链质量对任何 门限环签名的地方 。
证明。证明。不同于公众不可变的区块链,我们提供在一个匿名环境事务编辑的功能。为了增加链中的恶意块的比例和打破链质量属性,对手编辑一个诚实的交易吗块到一个恶意事务
。我们证明的概率与一个恶意替换一个诚实交易的对手是微不足道的。
假设对手提出了一种初始候选事务一个诚实的交易块
。计算资源有限的对手我只能块的比例在门限环签名的阶段。然而,该方案要求修订的支持者的比例生成门限环签名必须至少
,在哪里
。敌人不能被批准诚实的用户并生成一个有效的
门限环签名
。因此,对手需要创建一个“诚实的“初步候选人的事务
这样
,在哪里是一个collision-resistant哈希函数。接下来,对手欺骗了诚实的用户,和诚实的用户事务确保最初的候选人通过生成门限环签名
。然后,对手创建最终的候选人事务
成功和编校链式“诚实”最终候选人事务
。然而,建立这样一个交易的机会是可以忽略的,因为它违反了collision-resistance财产的哈希函数
。综上所述,定理的证明3建立了。
5.4。常见的前缀
常见的前缀是参数化的性质 ,即如果有两个诚实的用户,和他们持有两种不同的连锁店吗和最右边的数量分别不同的这两块链是最多的 。敌人之间的游戏也执行和一个模拟器 。
定义2。对于任何两个不同的链和由两个诚实的用户和分别,它认为
所示(3),和被指示为链式造成删除吗极右的链和
。
然而,定义2不能直接使用我们的新redactable协议
。考虑到如果一个编校请求和相应的交易最终候选人被批准,一个诚实的用户吗更新链在时间他取代了旧的事务与在他当地的链。然而,另一个诚实的用户可能不会更新链在时间及时的。在这种情况下,和
,这违反了定义3。
因此,一个新的定义描述如下新保护隐私redactable协议
。注意,修订块表示
。
定义3。对于任何两个不同的链和由两个诚实的用户和分别,它认为(1) 和(2)对于任何修订块 和 ,或块 和 ,它满足
定理4。 满足的性质 - - - - - -可编辑共同前缀如果公众不可变的区块链满足的性质 - - - - - -常见的前缀。
证明。证明。假设对手提出了一个交易最终候选人编辑一个诚实的块在链 。链是由一个诚实用户编辑以后。然而,对手不能创建另一个事务最终候选人 这样 因为collision-resistance哈希函数的性质 。因为最终的候选人事务是接受诚实的用户吗 ,它必须的情况包含一个有效的门限环签名并通过最诚实的用户系统。综上所述,定理4的证明。
6。实验
几个实验来测试执行的效率我们的工作。我们给的时间块修订和块生成和比较的效率提出了与之前的协议。我们主要关注在这些协议耗时的操作,和最昂贵的操作,生成和修订块分别解决战俘和生成门限环签名的难题。
我们进行实验与64位计算机赢得10操作系统,8.0 GB RAM和英特尔(R) (TM)核心i7 - 5500 CPU @ 2.4 GHz处理器。我们使用IntelliJ IDEA 2020编译器和Java语言来实现我们的计划。的JPBC 2.0.0图书馆是用来生成椭圆曲线组和配对。椭圆曲线组和配对使用门限环签名方案(22]。AES算法用于加密交易数据。
我们测试很多次的平均值作为最终从每个实验测量结果。应该注意的是,连续的数量为零的散列前缀定义是困难的水平。例如,难度是5当连续0的散列前缀的数量是5。
6.1。生成一个街区和修订的时间消耗一个事务
我们首先测试生成一个街区的计算开销。如图4,产生一个块的开销几乎是一个常数,即,2。894 s and 15.127 s, when the difficulty level is set as 4 and 6, respectively. The reason is that the overheads of generating a block depend on the difficulty of the谜题,而不是用户的比例参与修订操作。我们也测试修订一个事务的开销,这是更重要的,时间编辑事务实际上决定了我们方案的效率。如图5,时间消耗增加当用户参与修订操作的比例增长,以及修订的时间消耗事务不受困难的影响。原因是修订一个事务的时间主要是由生成的时间 门限环签名,这取决于阈值的值 。
在表1,我们给修订一个事务的时间当难度等级5和用户参与修订操作的比例是80%。实验结果表明,生成一个街区的平均时间和修订事务分别4580毫秒,7088毫秒,事务和修订的时间大约是产生一个块的两倍。因此,修订数据块在该协议有效。
为了描述块结构的变化前后块修订更明显,23块作为一个例子来说明什么是当一块屏蔽。原来的块的信息块22块24在当前区块链图所示6。假设第二个事务在23块需要修订。为了编辑事务,事务的所有者披露交易数据加密和加密密钥的修订的原因,然后一个新的事务生成取代旧的事务 。此外,难题的新块是解决。区块链中的用户达成共识修订块和生成门限环签名批准修订操作。新修订块信息块22块24如图7。
6.2。效率比较
这个实验的目的是比较的效率提出redactable协议与[11,19),保护隐私可删除的区块链和公众redactable区块链。
在接下来的实验中,我们产生redactable和可删除的连锁店。这两个链的长度和块的数量修改每个实验都是相同的。如图8,屏蔽的屏蔽或删除的数量范围从10到40岁,和头顶的比例从76%提高到84%,从而提出的修订协议的平均时间约为80%,可删除的链(19]。原因是我们的协议需要生成一个环签名只有一次,和协议(19)需要生成一个可追踪的环签名的两倍。因此,事务在拟议中的协议修订更有效率比删除一块(19]。
比较的效率我们的工作,11),我们都生成保护隐私redactable和公共redactable链。这两个链的长度和块的数量修改保持相同。如图9,屏蔽范围从10到40岁,和头顶的比率从30%降至41%,因此修订一个事务的平均时间提出的协议是在公共链(3倍11]。原因是我们的协议使用更耗时的操作,包括门限环签名和修订过程中的对称加密来保护用户的身份和数据。因此,拟议中的协议花更多的时间比协议(11]。
接下来,我们给一个时间比较这三种协议的修订,结果如表所示2。我们可以看到,在协议的19),平均需要8904 ms删除一个街区。然而,协议只能删除整个数据块的所有者,并且不能编辑单个事务的块。在我们的协议,平均需要7088 ms编辑事务,这是约79.6%的时间删除一块(19]。在协议的11),平均需要2552 ms编辑事务,这是约36.0%的时间修订的事务提出redactable区块链。然而,用户的身份和交易数据都是公开的协议(11]。因此,该协议可以实现编校事务级,而用户的身份和交易数据也是私人的。
最后,我们比较建议的协议与11,19),结果如表所示3。得出的结论是,我们的协议提供了事务编辑功能,事务删除没有透露用户的身份和交易数据。尽管协议(19实现删除的数据块时,事务修订是不允许的。在协议的11),事务修订是允许的,但用户和事务数据的身份是公开的。拟议中的协议构造一个事务级redactable区块链,用户只需要更换一个事务完成数据修订而不是替换整个块。然而,协议(11,19]只能实现块级redactable区块链。
7所示。结论
在本文中,我们提出一个保护隐私redactable区块链基础上的旧状态块。对称加密算法和一个门限环签名分别用来保护交易数据和用户的身份在修订的过程。所有的用户可以检查是否修订操作是有效的根据门限环签名和旧的修订块的链接。实验的结果表明,该协议是有效的,用户的身份和交易数据也是私人的。
数据可用性
所有数据都包含在这篇文章。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作得到了国家自然科学基金(批准号U1736120)和上海自然科学基金(20 zr1419700)。