0%

Sharding_Blockchain_Consensus

云南创新研究院研讨会 刘懿中老师分片共识研究分享

分片区块链共识机制研究

区块链共识机制

image-20230531163125372

1982年提出了拜占庭将军问题

FLP提出异步环境下没有确定性一致算法

2016年ELASTICO是首个分片共识,结合数据库领域的分片技术

image-20230531163950433

分片的基本流程

  • 选出块者
    • 随机出块
  • 生成区块并广播
  • 节点验证更新区块链

一致性consistency:指诚实节点输出的交易互为前缀

  • 强一致性:PBFT
  • 弱一致性:PoW PoS

活性liveness:交易一定会被处理

image-20230531164356367

性能+安全性都取决于共识机制

image-20230531164845023

image-20230531164926354

经典的分布式一致算法能够容忍宕机错误(crash)

image-20230531165205097

现在研究工作集中于异步网络环境下,信工所路远老师 清华段斯斯老师等均有相关研究工作

异步DKG,如何在动态环境下更新委员会,实现动态门限签名

image-20230531165353683

PoW的能防止女巫攻击

image-20230531165444310

PoW和PoS的安全性已经足够好了,但是性能比较低,设计混合共识的动机

image-20230531165609984

先用PoW和PoS选委员会,委员会内跑PBFT等

image-20230531165938027

多个委员会,每个委员会并行处理交易,分片登场了

image-20230531170048237

分片区块链技术

image-20230531170221192

如果在安全性上妥协,可以提高可扩展性

分片的思想就是将节点划分到不同的子集,每个分片负责维护本分片区块链

image-20230531170346117

共识节点分片,交易分片

  • 计算分片:分片内只验证分片内的交易

  • 存储分片:片内节点只存片内的区块链

  • 通信分片:大多数情况不需要和分片外节点通信

image-20230531170603682

时期epoch是为了防止节点的腐化攻击设置的,进行重新配置

image-20230531170753693

image-20230531171408957

完整的分片区块链系统

  • 节点选择
    • permissionless:PoW/PoS
    • permissioned:CA
  • 随机数生成与节点分配:节点划分为不同分片过程中一般需要随机化分配(不随机的方案需要考虑敌手控制的节点低于某个阈值)
    • VRF 门限签名 VSS TEE
  • 分片内共识:都可以
    • PBFT PoW
    • 有的交易需要跨片协同交易
  • 跨片交易处理
  • 分片重配置:应对敌手corruption
  • 激励机制:有一些博弈论的结论

image-20230531171805722

公平性是节点选中的概率相同,鲁棒性指一定能选出来

委员会中心化问题后续可以再了解了解

image-20230531171935276

image-20230531172038191

image-20230531172228946

BLS签名不管签名的 $t$ 个人是谁,签名是unique,需要DKG,实际上DKG

随机数生成复杂度一般是$O(n^2)$,因此需要先选一部分节点来做

image-20230531173107903

利用概率来考虑如何进行节点分配

image-20230531173338979

image-20230531173458813

一致性的定义基于backbone protocol

image-20230531173630844

image-20230531173726776

2 phase commitment

  • 准备阶段 两个分片运行片内共识,确认交易可用性,锁定输入(防止双花,直到第二轮片内共识结束)
  • 承诺阶段

多输入输出拆分后不需要跨片吗,没理解

image-20230531174150817

image-20230531174655816

替换的方法:

  • 随机
  • 时间规则(rapid chain)
  • 有界布谷鸟

image-20230531174810883

基于博弈论的思想,分片+博弈+reputation的研究很少,有研究价值

以上研究内容发表在computer science review,中科院Q1的综述

Fleetchain

image-20230531175230991

分片内签名可以聚合$O(n^2)\to O(n)$,是否可以在分片内签名聚合

片间复杂度同样降低$O(m^2)\to O(m)$

image-20230531175429371

image-20230531175438271

共识协议的安全性一般依赖于数字签名的安全性

image-20230531175529500

将hotstuff每轮换leader改成stable leader

image-20230531175600846

image-20230531175612448

image-20230531175639194

两部分都是线性复杂度

跨片交易处理

image-20230531175713097

交易输入地址可能是共有的,众筹服务器!

image-20230531175835847

image-20230531175944598

由用户将每个分片给的证明再转发

image-20230531180116957

分片直接互相广播,用户无感知

image-20230531180154281

1个交易2个BFT,如果2次BFT处理1k个交易,输入merkle树根,输出树的路径证明

image-20230531180335584

image-20230531180437719

image-20230531180507265

image-20230531180613883

image-20230531180625949

跨片视图转换

image-20230531180651927

不同分片的领导者片间可能作恶,片内诚实

比如片间不发送证明,领导者censor

思想是本分片监控其他分片领导者是否作恶,作恶则运行BFT给出作恶的证明,发送给作恶分片进行视图转换

image-20230531180923215

  • 记得扒一下老师的工作