K-Time Modifiable and Epoch-Based Redactable Blockchain(k次修改与基于epoch的可修正的区块链)
首先在开始讲之前,我们先了解这篇论文讲了什么?它大概是要解决什么问题?
- 首先先是讲区块链的一些基础知识,之后再讲解安全性的问题,比如说非法修改或者由于区块链的不可篡改性导致上传的事务无法修改会引发一系列问题,最后通过一些有效的方案来解决这个问题,并且通过比较前人的方案得出结论这个新方案KEBR更优
- 通过使用数字签名DS与原始的变色龙哈希CHET陷门密钥公开技术来保证安全性。
- 本篇论文采用K-time Modifiable 来限制修改者,而epoch-Based Redactable 是一种惩罚机制,都是一个很好的创新点。
接下来,我通过自身的阅读,结合自己的理解与笔记来归纳这篇论文,若有哪里说的不对,请批评指正!
目录
基础知识学习
基于属性加密(ABE)
ABE和CHET实现细粒度级别的修改权限
零知识证明
没了解过的请拉到附录,我提供了许多比较好的零知识证明的文章,都很通俗易懂!
通俗的来讲,零知识证明就是我让你相信我说的一句话或一个结论而不需要向你透露任何有关该结论的有用信息.举个简单的例子,比如说凡尔赛文学,我可以再不向你透露我有多少资产的前提下让你相信我非常有钱,毕竟财产总数是我的私人信息,我不想告诉任何人。
Sigma协议
Schnorr签名
这里提供一个讲解视频,讲的非常好,建议观看,以上的图片只是做了个总结。
零知识证明,schnorr签名,环签名
一、论文摘要与介绍
1.1文章摘要
我们都知道区块链的五大特性。去中心化、不可篡改性(安全性)、可回溯性、匿名性、开放性。这篇文章主要还是解决不可篡改性给我们带来的隐患!它本身是优点,但本质上也是缺点。当涉及到一些法律问题(言论自由,性别平等等)加载到区块链上时,由于无法修改该数据,那此时当事人是否承担法律责任?当事人非故意发表此言论又或者有第三方故意发表,那此时又应该由谁承当责任?而这篇文章给出了更好的解决方案。
1.2 文章介绍
区块链是可允许分叉的,且区块交易需要验证(例如矿工验证),例如比特币就是以后6个区块生成之后,才算该区块交易成功,这也是区块链来保证交易的一个安全性。而如果要修改该交易,必须算力超过原有链,这样就可以覆盖该次交易。
而这也是区块链的不变性(保证在链中很难被修改),同时区块链的后续区块也没有办法保证前面的区块没有被修改。
这本质上还是在说明区块链的不可修改性导致的缺陷,所以要放松不变性,且不会影响到后续区块(介绍新区块链结构)
二、相关工作
2.1 不可变区块链的发展历程
Puddu等人提出用μchain,将交易结构改成可变结构,通过可以以投票的方式来解决问题,在共享密钥中解决。缺点在于参与者开销大与交互的次数多,所以不采纳
Florian等人提出允许参与者去消除每个事务的内容,但原始事务不可更改,全节点也都会保留初始区块。所以也是没完全解决问题。
Ateniese等人首先提出了可读区块链的概念,通过增强的抗碰撞变色龙散列CH和公钥基础设施PKI技术提供了在粗粒度级别控制的块级重写。
Derler等人提出了一种允许设置的可读区块链,通过变色龙哈希与短暂活板门CHET和基于属性的加密ABE在细粒度级别控制事务级重写。
Deuber等人提出了通过参与者共识投票的块级可读区块链,允许参与者发起重写提案,并提交到一个候选池中,如果票数足够就更改原始区块。(更改原始区块是主要问题)。但矿工会不检查候选池去获得更改区块的机会。而且若重写的成本过低,容易被Dos攻击(因为成本太低,恶意用户就可以提交大量的提案到候选池中,这样就需要矿工去用大量时间去验证导致网络拥挤,使得其他正常的提案未被采纳或者正常交易没有被处理)。
所以我们主要还是要解决该思想的实用性与安全性
因此了解到以上的诸多方案,我们提出让ca为每个用户提供秘密通道,以便于发送密钥重写权限。
具体通过变色龙哈希来生成陷门的哈希结果,利用陷阱门再不修改哈希结果的情况下找到哈希冲突,为了控制重写权限,将陷门进行了加密,只有修改者才能揭示。
所以最终提出新方案,即增加了一位角色(修改者),给予它修改的权限与恶意惩罚行为。引入KERB的安全性方案。相关几个方案的对比图:
三、贡献
该方案的提出还是为了限制修改者重写特权与修改者的惩罚机制来对抗合谋攻击。
主要贡献有:
- k-time修改: 为ca设置一个k次请求重写次数,若请求>k次,则ca可以获取秘密签名私钥,来处理货币惩罚。
- 基于epoch的惩罚机制:修改者重写权限时,需要付保证金(由ca与修改者双方的私钥签名),在授权的时间t之前,可由ca与修改者提取存款,在授权期结束之后,只能由修改者提取。而如果出现恶意行为,ca讲收取这笔存款(通过ca私钥与修改者私钥来提取)
- 强大的安全模型:在KEBR中使用的是原始的变色龙哈希,且不需要对陷阱门做检查要求,使用数字签名实现,而不用密钥来实现,降低了成本(密钥的封装,不再使用通道来分发密钥),属性增加和删除次数对我们解决方案的成本影响要小得多。
当时我的疑问是:那如果ca发现恶意行为过晚的话,修改者是不是可以提前提取?
四、问题制定及技术概述
4.1功能问题
- 第一个问题:RABE技术需要半可信的第三方来更新密文,防止篡改者利用吊销前的密文干坏事
问题在于很难找到可信的第三方。 - 分布式同步更新密文信息是一项昂贵的任务
- 因为区块链的公开的,所以吊销密文信息可以从历史信息中被查询出来并解密。
所以要保证两点,责任性与透明性。责任性是为了找出恶意修改者,因为ABE单个属性可能与多个参与者共享