Li X Y, Xu J, Yin L Y, et al. Escaping from consensus: Instantly redactable blockchain protocols in permissionless setting[J]. IEEE Transactions on Dependable and Secure Computing, 2022.
总结
主要工作
- 基于[DMT19]的思想进行改进,将投票机制和共识机制解耦,从而提高编辑的确认速度,实现即时编辑
- 即节点对是否编辑的投票不再记录在区块上而是直接发送给委员会
- 由于安全性不依赖于共识,对恶意敌手的要求从小于1/3,降低为1/2
- 实现编辑性的方法是类似于[DMT19],在区块头保存被编辑区块的$merkle_root$,验证区块的有效性时首先检查前一个区块的哈希,如果不满足则检查编辑策略和旧状态是否满足条件
- 实际工程实现可以在新节点和旧节点之间可以保持一样的区块结构,新节点分别保存原区块链和修改
- 所有编辑请求和投票都可以用现有的插入OP RETURN等脚本码来实现
- 目前编辑功能只局限于修改非金融字段,提出可以像Reparo一样,在更新UTXO的情况下修改金融数据
- 给出了形式化的可编辑区块链理想模型和基于模拟的安全证明
- 现有方案一般仅分析编辑带来的影响
- 证明了满足链质量、链增长和可编辑共同前缀
- 提供了方案在PoS和PoW区块链中的具体构造
- 实验使用c语言针对采用PoS的Cardano Settlement Layer进行实现
构造方法
- 利用$Cmt$随机选举委员会,保证委员会超过一定比例的委员一定诚实,恶意敌手无法生成足够投票
- 用户想要修改区块$B_j$就生成候选区块$B_j^\star$并广播
- 委员对候选区块投票
委员会选举实现方法
分析在PoS中实现的$Cmt$算法,使用VRF进行选择(包括Algorand、Cardano、Internet Computer和Polkadot在内的许多L1区块链都在共识机制中使用了VRF来随机选择出块节点)
$hash$的输出表明了$P_i$有多少投票,每个权益为$s_i$的用户相当于有$s_i$个子用户,每个子用户被选中的概率是$p=\frac{T}{S}$,T是当前委员会投票阶段的权益的和,S是区块链系统权益的和
$s_i$中$q$个子用户被选中的概率服从二项分布$B(p;q,s_i)=C_{s_i}^q p^q(1-p)^{s_i-q}$
将区间[0,1)分为连续的区间
如果$\frac{hash}{2^{hashlen} }$落在$I_c$,证明$c$个用户为$P_i$投票
问题
一般将每个出块者任期称为一个epoch,每个epoch由多个slot/round组成,每次生成一个区块
本文的slot是怎么定义的没有明确给出
共识和投票的区别
- 共识是输入状态,得到0,1
- 投票是将已经有的0,1进行收集