最新论文笔记(+15):Redactable Blockchain Protocols with Instant Redaction /IACR Cryptol.ePrint Arch 2021
Posted crypto_cxf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最新论文笔记(+15):Redactable Blockchain Protocols with Instant Redaction /IACR Cryptol.ePrint Arch 2021相关的知识,希望对你有一定的参考价值。
Redactable Blockchain Protocols with Instant Redaction(具有即时编辑功能的可编辑区块链)
这篇文章是今年发表在IACR Cryptol.ePrint Arch上的一篇区块链相关论文,质量很不错,值得深入研读,有很多学习的地方。
主要内容是:在许多场景下,区块链的immutability(不可变性)同样带来了许多弊端。例如,存储一些非法数据在链上将带来诸多挑战。因此,本文设计了一种可编辑区块链构造的通用协议,该协议在无授权设置下可即时编辑,并在基于PoS和PoW共识区块链进行了实例化。最后,为编辑协议开发了一个概念验证(Proof of Concept, PoC)实现和应用该协议,实验表明较高的效率,引起的开销也很小。
下面将大致按照文章结构内容,并结合自己读后的学习笔记进行梳理和归纳,可能会有整理不当的地方,仅代表个人理解,详细内容还是建议看原文!
(长文警告,本篇大约1.6w个字,谨慎阅读!)
文章目录预览
文章主要贡献:
- 1)具有即时编辑功能的区块链通用构造方法:
- 第一步,利用通用函数 C m t Cmt Cmt和 V e r f i y C m t VerfiyCmt VerfiyCmt来随机选举委员会,以确保足够比例的委员会成员是诚实的;
- 第二步,每个委员的候选编辑区块 B j ∗ B^*_j Bj∗的哈希上签名进行投票,若 > 1 / 2 >1/2 >1/2的投票通过,则旧区块 B j B_j Bj被 B j ∗ B^*_j Bj∗取代。
- 2)基于仿真的可编辑区块链的安全性分析:
- 首次定义了可编辑区块链的理想化功能 F t r e e \\mathcal{F}_{tree} Ftree,它实时跟踪所有有效链;
- 并证明任何real-world协议中成功的攻击都可规约到ideal-world的 F t r e e \\mathcal{F}_{tree} Ftree模型中。
- 3)实例化和性能评估:
- 通过在基于PoS和PoW共识区块链上的通用函数 C m t Cmt Cmt和 V e r i f y C m t VerifyCmt VerifyCmt的具体实例化,证明了本文的方案构造是通用的。
一、写作背景
论文名称 | 作者 / 单位 | 来源 | 年份 | 简要内容 |
---|---|---|---|---|
Redactable Blockchain Protocols with Instant Redaction | Jing Xu et.al (Institute of Software, Chinese Academy of Sciences) | IACR Cryptol.ePrint Arch | 2021 | 本文设计了一种可编辑区块链构造的通用协议,该协议在无授权设置下可即时编辑。 |
(1)首先,要理解为什么要有可编辑区块链的出现?区块链的内容为什么有编辑需求,该如何进行编辑和审查?
论文中提到,由于任何人都可以在无授权设置(可以理解为是公有链,没有访问限制)的区块链中进行写入(上传)数据操作,一些恶意的用户久可能会滥用发布任意的交易消息 [ 40 ] \\textcolor{blue}{[40]} [40]。
- 区块链账本上存储的数据可能是敏感的、有害的或非法的,如侵犯知识产权的资料 [ 28 ] \\textcolor{blue}{[28]} [28]、儿童性侵照片 [ 34 ] \\textcolor{blue}{[34]} [34],它们可能会永远影响人们的生活,并阻碍更广泛的区块链应用。
- 欧盟在2018年发布了数据保护条例(GDPR) [ 7 ] \\textcolor{blue}{[7]} [7]不再与比特币和以太坊等当前区块链兼容 [ 6 ] \\textcolor{blue}{[6]} [6]记录个人资料。特别是,GDPR将“被遗忘权”规定为关键的数据主体权利。
- 另外,臭名昭著的DAO漏洞被利用时,以太坊的DAO合约 [ 31 ] \\textcolor{blue}{[31]} [31]的缺陷导致360w以太币(约7900w美元)被盗,必须通过硬分叉“回滚”来解决。
(2)其次,目前可编辑区块链的研究现状是怎样的?一些相关工作主要做了那些方面?
论文中提到,有一些不用编辑的方法就是发起硬分叉,这本质上要求所有社区成员进行投票。这样的方法会带来分裂社区的风险,且非常昂贵和缓慢,那么就有几篇可编辑区块链的研究工作。
- 在2017年,Ateniese等 [ 12 ] \\textcolor{blue}{[12]} [12]首次引入了可编辑区块链的概念,该方案使用了带陷门的变色龙函数(Chameleon Hash)(变色龙哈希函数的详细介绍)来代替了内层的普通抗碰撞哈希函数,而外层还是普通的哈希函数。带陷门的用户可以计算任意输入数据的哈希碰撞,而不知道陷门的用户则变色龙哈希与传统哈希函数一样具有抗碰撞性。该方案从而可以不改变外层哈希函数H、不破坏哈希链路完整性的情况下,实现对区块内容的修改。
- 在2019年,Derler等 [ 20 ] \\textcolor{blue}{[20]} [20]提出了一种基于策略的变色龙哈希函数的细粒度可控编辑机制,任何拥有足够特权满足策略的人都可以找到给定哈希的碰撞。他们的解决方案关注于授权设置,而在非授权设置中,没有单个可信实体,用户可以随时加入和离开系统,因此在共享陷门密钥时,他们的解决方案将面临可伸缩性问题。
- 在2017年,Puddu等 [ 39 ] \\textcolor{blue}{[39]} [39]提出了 μ \\mu μ链,交易发送方可对交易不同版本加密,用解密密钥在矿工之间秘密共享。收到编辑请求时,先根据交易发送方制定的编辑策略进行检测,然后通过执行多方计算协议算出相应的解密密钥,最后对该密钥解密。然而,建立编辑策略的恶意用户可能会逃避编辑,甚至会由于交易之间的影响而破坏交易的稳定性。此外, μ \\mu μ链采用多方计算协议重建解密密钥也面临可扩展问题。
- 在2019年,Deuber等 [ 21 ] \\textcolor{blue}{[21]} [21]在无权限设置中提出了第一个可编辑区块链协议,该协议不依赖繁重的加密协议或额外的信任假设。一旦用户提出修订,协议就开始一个基于共识的投票期,只有在获得足够的投票批准修订后,版本才在区块链上执行。每个用户都可查看链上的投票数来验证一个编辑填是否被批准。
- 最近,Thyagarajan等 [ 42 ] \\textcolor{blue}{[42]} [42]提出了一个称为Reparo的通用协议,用于在任何区块链上执行编辑,其中区块结构通过引入外部数据结构来存储区块内容保持不变。然而,他们的投票周期很长,实例化中需要1024个连续的区块,大约7天时间来确认和发布一个编辑区块。
最后,该论文依据上面的分析,提出设计了一种具有即时编辑的可编辑区块链协议!
该篇论文提出在无授权设置中,让受信任的一方持特定的陷门来修改链区块似乎是不合理的。因此,需要选取一个委员会共同决定。且论文指出编辑至少会与委员会规模大小T和底层区块链区块生成时间t呈线性关系。委员会规模要大,确保诚实的委员居多。论文的目标实现即时的可编辑功能,这意味着编辑链要像底层链一样快。
下面我们看下协议的具体设计。
二、 主要内容
2.1 传统(不可变)区块链
2.1.1 基本特征概述:
- n n n个参与方 P 1 , P 2 , . . . , P n P_1,P_2,...,P_n P1,P2,...,Pn拥有公私钥对 ( p k i , s k i ) (pk_i, sk_i) (pki,ski)
- slots:表示协议执行被划分的时间单位(记住,在本文中挺重要的,方便理解)
- c h a i n chain chain:表示链,由一个个区块组成,即 c h a i n : = { B 0 , B 1 , B 2 , . . . B m } chain:=\\{B_0,B_1,B_2,...B_m\\} chain:={B0,B1,B2,...Bm}
- B j : = ( h e a d e r j , d j ) B_j:=(header_j, d_j) Bj:=(headerj,dj):表示区块;
- h e a d e r j = ( s l j , s t j , G ( d j ) , π j ) header_j=(sl_j, st_j, G(d_j), \\pi_j) headerj=(slj,stj,G(dj),πj):表示区块头信息
- d j d_j dj:表示区块数据
- s l j ∈ { s l 1 , . . . , s l R } sl_j\\in \\{sl_1,..., sl_R\\} slj∈{sl1,...,slR}:表示slots的序号
- s t j st_j stj:表示前一个区块头的哈希值,即 H ( h e a d e r j − 1 ) H(header_{j-1}) H(headerj−1)
- G ( d j ) G(d_j) G(dj):表示区块数据的状态(实验中表示区块数据的Merkle root)
-
π
j
\\pi_j
πj:表示包含区块的一些特殊头数据(例如在PoS中,表示在生成区块slot 领导者下用密钥计算出的签名
(
s
l
j
,
s
t
j
,
G
(
d
j
)
)
(sl_j,st_j,G(d_j))
(slj,st以上是关于最新论文笔记(+15):Redactable Blockchain Protocols with Instant Redaction /IACR Cryptol.ePrint Arch 2021的主要内容,如果未能解决你的问题,请参考以下文章
最新论文笔记(+21):Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems/ TIFS2022
最新论文笔记(+19):TrustFed: A Framework for Fair and Trustworthy Cross-Device Federated Learning in IIoT