Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 4.72 KB

index.rst

File metadata and controls

42 lines (30 loc) · 4.72 KB

共识算法

区块链系统通过共识算法保障系统一致性。 理论上,共识是对某个提案达成一致意见的过程,分布式系统中提案的含义十分宽泛,包括事件发生顺序、谁是leader等。区块链系统中,共识是通过特殊节点的提案,在很短的时间内完成对交易的验证和确认。

共识算法分类

根据是否容忍 拜占庭错误 ,共识算法可分为容错(Crash Fault Tolerance, CFT)类算法和拜占庭容错(Byzantine Fault Tolerance, BFT)类算法:

  • CFT类算法 :普通容错类算法,当系统出现网络、磁盘故障,服务器宕机等普通故障时,仍能针对某个提议达成共识,经典的算法包括Paxos、Raft等,这类算法性能较好、处理速度较快、可以容忍不超过一半的故障节点;
  • BFT类算法 :拜占庭容错类算法,除了容忍系统共识过程中出现的普通故障外,还可容忍部分节点故意欺骗(如伪造交易执行结果)等拜占庭错误,经典算法包括PBFT等,这类算法性能较差,能容忍不超过三分之一的故障节点。

Chiron共识算法

  • CHIRON共识算法: CHIRON结合了VRF+BLS,并引入了分布式系统中的分片、高并发协作、预处理等技术.简要的工作流程描述如下:Chiron共识对轻节点随机采样形成若干个验证组,组协作VRF算法产生的真随机数来确定每轮的验证组,全网重节点通过VRF以秘密抽签的方式给出候选区块提案给到验证组,验证组以组协作方式来完成候选区块验证给出最终出块。
  • PBFT共识算法: BFT类算法,可容忍不超过三分之一的故障节点和作恶节点,可达到最终一致性;
  • Raft共识算法: CFT类算法, 可容忍一半故障节点,不能防止节点作恶,可达到一致性。

CHIRON自研共识算法

该算法具有如下优点:

  • 在去中心化方面,它比比特币更佳,任何可联网设备均可成为节点。并设计了轻节点和重节点机制兼顾广度和深度。
  • 在安全性方面, VRF真随机数选组,确保某高度上工作组唯一,消除长程攻击和私自铸块问题,同时需要控制95%的节点才能发起类似比特币的51%算力攻击。
  • 在性能方面,在不做分片等优化的情况下,目标TPS 3000。

该算法包含一系列数学理论工具、密码学算法及完备的协议,其核心机制可以精简成如下过程:

  • 轻节点矿工节点被分组,通常100个节点为一组。
  • 每次出块时,全网重节点通过VRF算法随机选出提案组,使提案人随机,不可预测,限制了提案与验证联手作恶的情况。在提案时多通道并行发送给验证组。
  • 由基于门限签名算法的VRF机制选择验证组,保证了验证组的不可预测、不可选择和不可隐藏。在真正出块时,只需在组内达成轻量级验证,以多通道并行流水线方式快速出块。
  • 通过与前沿公链的对比,我们可以看出Chiron的全面优势:
  • 与BTC相比,Chiron在去中心化与安全性上更强,且性能大幅提升,能耗大幅降低。
  • 与EOS相比,Chiron在性能上大致相当,但在去中心化与安全性上有明显的优势。我们认为,区块链系统的去中心化>安全性>性能。
  • 与DFINITY相比,Chiron在去中心化上与之相当,但是Chiron的组内被设计成一个小的分布式协作体,组员之间通过分工协作极大的提高了性能和鲁棒性。区块提案人由全网重节点VRF秘密抽签方式随机产生,提案人与验证组联手作恶难度从组层面提升全网层面,大幅限制两者联手作恶的可能。
  • 与algorand相比,分组VRF接力模式在每个铸块高度都唯一确定且无法预测的验证组一一映射;候选区块定向广播给验证组;验证时组内BLS门限签名达成共识,在通讯,签名数据大小,性能都具有明显的优势。
  • 与Cardano相比,Chiron全网节点都可以参与铸块,且出块的每个环节都做了无单点的镜像设计,通过提高系统的鲁棒性带来平均性能的显著提升。
  • 与Zilliqa相比,Chiron验证组内所有成员收到门限个签名后均能恢复出最终组签名,不需选定某位成员成为Leader,完成最后的多重签名聚合操作,系统的鲁棒性以及安全性更好。
  • 通过与主流及新兴公链的比对及数学与形式化的论证,可以得出结论,Chiron共识机制是迄今为止 “不可能共识三角”问题的最优解,领先于目前所有已知的共识机制。