云南创新研究院研讨会 刘懿中老师分片共识研究分享
分片区块链共识机制研究
区块链共识机制
1982年提出了拜占庭将军问题
FLP提出异步环境下没有确定性一致算法
2016年ELASTICO是首个分片共识,结合数据库领域的分片技术
分片的基本流程
- 选出块者
- 随机出块
- 生成区块并广播
- 节点验证更新区块链
一致性consistency:指诚实节点输出的交易互为前缀
- 强一致性:PBFT
- 弱一致性:PoW PoS
活性liveness:交易一定会被处理
性能+安全性都取决于共识机制
经典的分布式一致算法能够容忍宕机错误(crash)
现在研究工作集中于异步网络环境下,信工所路远老师 清华段斯斯老师等均有相关研究工作
异步DKG,如何在动态环境下更新委员会,实现动态门限签名
PoW的能防止女巫攻击
PoW和PoS的安全性已经足够好了,但是性能比较低,设计混合共识的动机
先用PoW和PoS选委员会,委员会内跑PBFT等
多个委员会,每个委员会并行处理交易,分片登场了
分片区块链技术
如果在安全性上妥协,可以提高可扩展性
分片的思想就是将节点划分到不同的子集,每个分片负责维护本分片区块链
共识节点分片,交易分片
计算分片:分片内只验证分片内的交易
存储分片:片内节点只存片内的区块链
- 通信分片:大多数情况不需要和分片外节点通信
时期epoch是为了防止节点的腐化攻击设置的,进行重新配置
完整的分片区块链系统
- 节点选择
- permissionless:PoW/PoS
- permissioned:CA
- 随机数生成与节点分配:节点划分为不同分片过程中一般需要随机化分配(不随机的方案需要考虑敌手控制的节点低于某个阈值)
- VRF 门限签名 VSS TEE
- 分片内共识:都可以
- PBFT PoW
- 有的交易需要跨片协同交易
- 跨片交易处理
- 分片重配置:应对敌手corruption
- 激励机制:有一些博弈论的结论
公平性是节点选中的概率相同,鲁棒性指一定能选出来
委员会中心化问题后续可以再了解了解
BLS签名不管签名的 $t$ 个人是谁,签名是unique,需要DKG,实际上DKG
随机数生成复杂度一般是$O(n^2)$,因此需要先选一部分节点来做
利用概率来考虑如何进行节点分配
一致性的定义基于backbone protocol
2 phase commitment
- 准备阶段 两个分片运行片内共识,确认交易可用性,锁定输入(防止双花,直到第二轮片内共识结束)
- 承诺阶段
多输入输出拆分后不需要跨片吗,没理解
替换的方法:
- 随机
- 时间规则(rapid chain)
- 有界布谷鸟
基于博弈论的思想,分片+博弈+reputation的研究很少,有研究价值
以上研究内容发表在computer science review,中科院Q1的综述
Fleetchain
分片内签名可以聚合$O(n^2)\to O(n)$,是否可以在分片内签名聚合
片间复杂度同样降低$O(m^2)\to O(m)$
共识协议的安全性一般依赖于数字签名的安全性
将hotstuff每轮换leader改成stable leader
两部分都是线性复杂度
跨片交易处理
交易输入地址可能是共有的,众筹服务器!
由用户将每个分片给的证明再转发
分片直接互相广播,用户无感知
1个交易2个BFT,如果2次BFT处理1k个交易,输入merkle树根,输出树的路径证明
跨片视图转换
不同分片的领导者片间可能作恶,片内诚实
比如片间不发送证明,领导者censor
思想是本分片监控其他分片领导者是否作恶,作恶则运行BFT给出作恶的证明,发送给作恶分片进行视图转换
- 记得扒一下老师的工作