V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lidiya
V2EX  ›  区块链

区块链几种常见的共识机制盘点

  •  
  •   lidiya · 2018-10-12 11:38:31 +08:00 · 1232 次点击
    这是一个创建于 2235 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说到区块链,我们就不得不说说共识机制,区块链上的共识机制有多种,但任何一种都不是完美无缺,或者说适用于所有应用场景的。本文整了几种比较常见的共识机制,通过对比他们的优缺点,希望对你的区块链应用开发有所帮助。

    PoW 工作量证明

    整个系统中每个节点为整个系统提供计算能力(简称算力) ,通过一个竞争机制,让计算工作完成最出色的节点获得系统的奖励,即完成新生成货币的分配,简单理解就是多劳多得, bictoin、LTC 等货币型区块链就应用 POW 机制。

    优点

    完全去中心化节点自由进出,算法简单,容易实现破坏系统花费的成本巨大,只要网络破坏者的算力不超过网络总算力的 50% ,网络的交易状态就能达成一致

    缺点

    浪费能源,这是最大的缺点区块的确认时间难以缩短,如 bictoin 每秒只能做 7 笔交易,不适合商业应用新的区块链必须找到一种不同的散列算法,否则就会面临 bictoin 的算力攻击对节点的性能网络环境要求高容易产生分叉,需要等待多个确认无法达成最终一致性

    PoS 权益证明

    也称股权证明,类似于你把财产存在银行,这种模式会根据你持有加密货币的数量和时间,分配给你相应的利息。

    优点

    对节点性能要求低,达成共识时间短

    缺点

    没有最终一致性,需要检查点机制来弥补最终性

    DPOS 委托股权证明

    DPOS 是 PoS 的进化方案,在常规 PoW 和 PoS 中,任何一个新加入的区块,都需要被整个网络所有节点做确认,非常影响效率。

    DPoS 则类似于现代董事会的投票机制,通过选举代表来进行投票和决策。被选举出的 n 个记账节点来做新区块的创建、验证、签名和相互监督,这样就极大地减少了区块创建和确认所需要消耗的时间和算力成本。

    优点

    大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证

    缺点

    牺牲了去中心化的概念,不适合公有链

    PBFT 实用拜站庭容错

    实用拜占庭容错机制是一种采用”许可投票、 少数服从多数”来选举领导者并进行记账的共识机制,该共识机制允许拜占庭容错,允许强监督节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许 33%的节点作恶,容错率为 33%。实用拜占庭容错特别适合联盟链的应用场景。

    优点

    会背离中心化,加密货币的存在及奖励机制会产生马太效应,让社区中的穷者更穷,富者更富共识效率高,可实现高频交易

    缺点

    当系统只剩下 33%的节点运行时,系统会停止运行

    dBFT 授权拜占庭容错

    这种机制是用权益来选出记账人,然后记账人之间通过拜占庭容错算法达成共识。授权拜占庭容错机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。

    优点

    专业化的记账人可以容忍任何类型的错误记账由多人协同完成,每一一个区 块都有最终性,不会分叉算法的可靠性有严格的数学证明

    缺点

    当三分之一或以上记账人停止工作后,系统将无法提供服务当三分之一或以 上记账人联合作恶,可能会使系统出现分叉

    Pool 验证池

    基于传统的分布式一致性技术 ,加上数据验证机制。

    优点

    不需要加密货币也可以工作,在成熟的分布式一致性算法 ( Pasox、Raft )基础上,实现秒级共识验证。

    缺点

    去中心化程度不如 bictoin ,更适合多方参与的多中心商业模式。

    原文链接: https://www.kg.com/article/499887327271849984

    1 条回复    2018-10-17 13:27:16 +08:00
    cock2
        1
    cock2  
       2018-10-17 13:27:16 +08:00 via iPhone
    補充一下 pbft 類算法 另一主要問題是消息爆炸 是呈節點數平方
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:11 · PVG 08:11 · LAX 16:11 · JFK 19:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.