区块广播:

NEXT社区小课堂 | 第二课:几种主流共识对比,NEO dBFT更适用于大规模商用场景

NEO-NEXT水手发布在 技术文档
 4413  0

默认标题_公众号封面首图_2019.04.11.png

NEXT社区 | 小课堂

由于近期NEXT社区加入很多新的小伙伴,有在校大学生,有对区块链感兴趣的传统企业从业者。为了更方便、更系统的让NEXT社区的伙伴们了解NEO的技术知识,因此我们开设了小课堂,每周3节,向大家普及NEO相关的知识要点!

NEXT社区小课堂 | 第二课

几种主流共识对比

NEO dBFT更适用于大规模商用场景?


在区块链系统中,共识算法是每个区块链网络的关键要素,它们负责维护这些分布式系统的完整性和安全性,是区块链信任体系中的核心基石。

通俗地讲,共识算法就是通过算法机制去保证少数服从多数,当大多数人认定一件事,才被遵循为事实。随着区块链技术这几年的发展,适用于不同场景的共识算法被陆续改进与推出,主要有以下几种主流共识机制。

工作量证明共识机制(PoW)

基本机制:通过特定计算运算获取特定规则匹配值来取得记账权,对系统事务消息进行记录。

特点:网络节点都可参与,具备最广泛的参与性。一般情况下,与其他共识算法相比计算运算资源消耗相对较高,性能速度较低,也有越过51%恶意节点攻击的风险,特定情况下会产生数据分叉,造成时间段内的数据不一致。

容错性:容许全网50%的节点容错(恶意、非恶意、不可控)。

适用性:一般适用于对公平性、开放性要求高的场景,如公有链。但不适用于对性能以及数据一致性有要求的场景。

POW小结:

优点:

  • 算法简单粗暴
  • 安全
  • 去中心化

缺点

  • 能耗高
  • 同技术排他
  • 处理能力低(TPS),有可能分叉
  • 交易最终性只能逼近100%

典型的应用为比特币。

该共识算法简单,容易实现,节点间无需交换额外的信息即可达成共识,破坏系统需要投入极大的成本。

但PoW的基本机制是记账权的争夺。特点是因争夺记账权,系统内很多CPU都在进行计算,会产生大量资源的消耗,特定情况下也可能产生临时性的分叉,需要等待多个确认,造成短时间内的数据不一致。

此外,其容错性为50%,在一些公开性场景下较有优势,但有可能会面临51%攻击的问题。因此,大家一直在寻找替代方案。

基于相关权益的共识机制(PoS)

基本机制:节点通过特定的权益分配获得不同的成为记账节点的概率,一般情况下两者成正比,一般也会通过特定的计算运算获取记账权。

特点:相比PoW,一定程度减少了计算运算的资源消耗,仍有一定程度的获取记账权的计算消耗,在特定权益分配机制下,容易形成记账权的公平性问题,产生中心化控制风险。

容错性:根据不同的机制设计有所不同,但一般与PoW类似。

适用性:适用于对开放性较高,具备特定权益机制的场景。

POS小结:

优点:

  • 节约能源
  • 去中心化

缺点:

  • 技术复杂,问题多
  • 是否安全有待验证
  • 有可能分叉
  • 交易最终性只能逼近100%

典型应用为以太坊。

POS也称权宜证明。它将PoW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率越大。这种机制的优点是不像PoW那么费电,但是也有不少缺点:

(1)没有专业化,拥有权益的参与者未必希望参与记账;
(2)容易产生分叉,需要等待多个确认;
(3)永远没有最终性,需要检查点机制来弥补最终性,最终性只能逼近100%。

POS共识机制是未来的发展方向之一,但具有一定的不确定性,其处理能力提高空间不大。

基于拜占庭容错模型(BFT)的共识机制

基本机制:采用领导者选举机制,在领导者和共识参与者之间通过多轮交互达成共识,以达成拜占庭容措(恶意错误和不可控错误)。

特点:具备更好的容错机制,可以覆盖严格的错误类型(非恶意、恶意、不可控错误)。共识过程交互相对较多,记账人群体一般事先指定,在部分场景下有选择公平性问题。

容错性:一般可以容忍1/3的拜占庭错误节点,在特定的假设条件下,容错范围可以进一步扩大。

适用性:适用于大部分联盟链场景与特定的公有链场景,可以保障不产生分叉和数据的一致性。此外,有许多基于BFT的各类扩展共识机制,以适用于不同的场景。

区块链作为一种分布式账本系统,其内部的经济模型决定了每一位参与者都可以无需信任其他的参与者,即“去信任”。

拜占庭将军问题正是描述了参与者之间如何在去信任的情况下达成共识,而拜占庭容错技术正是解决此类问题的方法。

此外,区块链的网络环境非常复杂,会面临网络延迟、传输错误、软件错误、安全漏洞、黑客入侵等问题,还有各式各样的恶意节点,而拜占庭容错技术正是可以容忍这些错误的方案。

NEO dBFT共识机制:一种改进的拜占庭容错算法

dBFT共识机制是在Castro 和 Liskov提出的“实用拜占庭容错算法”
(Practical Byzantine Fault Tolerance)的基础上,经过改进后使其能够适用于区块链系统。

拜占庭容错技术被广泛应用在分布式系统中,比如分布式文件系统、分布式协作系统、云计算等。

改进如下:

  • 将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式。
  • 将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点。
  • 为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点)。
    · 在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。

dBFT小结:

优点:

  • 性能好(TPS)
  • 能耗低
  • 具有可论证的不分叉特性
  • 交易最终性能达到100%

缺点:

  • 弱中心化

dBFT共识算法由知名区块链项目NEO创始人张铮文改进而来,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识,这种方式的优点是:

(1)专业化的记账人;

(2)以容忍任何类型的错误;

(3)记账由多人协同完成,每一个区块都有最终性,不会分叉;

(4)算法的可靠性有严格的数学证明。

事实上,对于区块链系统来讲,共识机制的核心是要解决一致性问题。dBFT机制最核心的一点,就是能最大限度地确保系统的最终性。

而对于未来的区块链大规模商业应用,作为基础设施的公链在安全性上要求:不会分叉,不会双花,对攻击免疫,不会出现金融损失。NEO 新版的dBFT2.0正好可以保证这一点。
因此,dBFT是未来的发展方向之一,鉴于以上特点,它也将比其它共识算法更合适,也更有能力承担大规模的对安全性要求高的项目。

本文来源:NEOFANS
原文链接:http://neofans.org/

本主题由 walterF 于 2019-04-12 11:26:12 审核通过
  • 正序
  • 最新
帖子暂无回复,回帖抢沙发
登录 账号发表你的看法,还没有账号?立即免费 注册
推荐节点 更多
热帖榜 本周最热本月最热