11种区块链主流共识算法介绍

简单介绍下常见的共识算法,对算法中涉及的细节不做过多的解释>w<

1. PoW 工作量证明

  • 简介

    工作量证明(PoW)被比特币和其他众多加密货币均使用工作量证明机制来保护自身区块链网络和数据的安全。

    PoW要求矿工(创建区块的用户)投入电力和算力等资源,对候选区块的数据进行hash运算,直至找到破解难题的方案。

    换言之,矿工必须验证和收集待处理的交易,并将这些交易整理成一个候选区块,并将该区块的数据带入哈希函数生成有效的哈希值。矿工成功找到候选区块的有效哈希值后就会发布到网络中,将该区块添加到区块链中,然后获得挖矿奖励。

优点

  • 可以防止双花攻击,安全性高。
  • 要获得多数节点承认,那攻击者必须投入超过总体一半的运算量(51%攻击),攻击成功的成本非常高昂

缺点

  • 电力开销大,会造成一定的资源浪费

应用

Bitcoin, Ethereum 1.0

2. dPoW 延迟工作证明

  • 简介

    dPoW 是一种混合共识方法,dPow的原理是允许一个区块链利用第二个区块链的哈希算力(Hashing Power)所提供的安全。该机制是通过一组公证员节点(Notary Node)实现的。公证员节点实现将第一个区块链的数据添加到第二个区块链中。进而,第二个区块链请求在两个区块链间达成妥协,弱化第一个区块链的安全。

    也就是说,dPoW 共识机制不识别最长链规则来解决网络中的冲突,而是寻找之前插入到所选PoW区块链中的备份。

优点

  • 高效节能,提升安全性,通过非直接提供比特币,添加价值到其他区块链,无需付出比特币交易的代价

缺点

  • 仅限于使用PoW和PoS的区块链中,如比特币和以太坊
  • 在公证员激活的模式下,必须校准不同节点的哈希率,否则哈希率间的差异会爆炸

应用

Komodo

3. PoS 权益(股权)证明

  • 简介

    权益证明会选择具有最高股权的参与者作为验证者,假设最高的利益相关者受到激励以确保交易得到处理。这个想法是,那些拥有最多流通代币的人损失最大,因此他们的定位是为了网络的利益而工作。网络可能需要的代币数量会发生变化,就像 PoW 的难度一样。

    反对权益证明的常见论点是“无利害关系”问题。令人担忧的是,与 PoW 不同,验证者几乎不需要花费任何计算能力来支持分叉,因此验证者可以为每个发生的分叉的双方进行投票。PoS 中的分叉可能比 PoW 中更为常见,一些人担心这可能会损害货币的可信度。

    一句话概括的话就是指通过自己手上的份额来进行算力的统计,权益的份额代表算力的占比,权益持有者都可以投票决定决策的实施与否。

特殊概念

币龄

为了区分刚刚获得代币的用户和已经持有代币一段时间的用户,权益证明算法使用了币龄的概念。

币龄用于计算质押权重和质押奖励。质押奖励由代币的年利率决定。其效果是,无论输入大小或合理的停机时间如何,所有质押钱包都会获得稳定、一致的兴趣。

用户持有币的时间越长,赢得创建网络区块链区块并获得奖励的权利的变化就越大。

激励保持联系

为了保持大部分用户的活跃度,如果离线用户过多,则创建区块的奖励会增加,因此上线有更多好处。

惩罚离线用户

大多数PoS算法都会惩罚那些长时间离线的持有者。他们可以通过重新连接来获得控制权,可以通过大量持有Stake来锁定自己的投票权。

如果不惩罚的话就对相当于放任他们空占区块的权益。

伪匿名用户

PoS 网络中的验证者是匿名用户,只能通过钱包地址来识别。对于那些可以在网络上积累大量财富的不良行为者来说,这不会比 PoW提供额外的责任。

优点

  • 使用网络并拥有代币的人越多,网络就越安全。
  • 成本效益:速度、能源、硬件上都有提效
  • 更加去中心化

缺点

  • 经济不平等,富者愈富
  • 攻击者可以根据谁拥有多少币来计算赢得创建区块链奖励的概率。
  • 无利害关系攻击 (Nothing at stake)【如果不对攻击者进行经济处罚,该链可能会遭受无利害关系攻击,其中质押者会被激励验证所有提议的分叉以最大化其回报。】

应用

Ethereum 2.0,Cardano, PolkPot,Cosmos

4. DPoS 委托权益证明

  • 简介

    委托权益证明机制(DPoS)算法是PoS算法的改进。DPoS算法中使用见证人机制(witness)解决了中心化的问题。总共有N个见证人对区块进行签名。DPoS消除了交易需要等待一定数量区块被非信任节点验证的时间消耗。通过减少确认的要求,DPoS算法大大提高了交易的速度。通过信任少量的诚信节点,可以去除区块签名过程中不必要的步骤。

    在DPoS区块链共识协议中,代币持有者可以使用他们的代币余额来选举代表,称为Witnesses。这些Witnesses有机会质押新交易的区块,并将其添加到区块链中。投票权由网络财富决定。那些拥有更多代币的人将会获得更大的影响力。

优点

  • 便宜的交易
  • 可扩展
  • 高效节能
  • 币龄无影响,代币权重相同
  • 仅对活跃且少量投入的钱包才产生稳定一致的收益

缺点

  • 没有任何利害关系
  • 部分中心化,拥有高权益的参与者可投票使自己成为一名验证者

应用

EOS

5. PBFT 实用拜占庭容错算法

  • 简介

    PBFT算法应用于不需要大交易量但需要处理许多事件的数字资产平台,每个节点都可以发布公钥,这是被允许的。节点将签名所有通过节点的消息,以验证其准确性。当得到一定数量的签名想用,此交易就被认定为有效

    PBFT算法的运作原理为:

    • 取一个副本作为主节点,其他的副本作为备份
    • 用户端向主节点发送使用服务操作的请求
    • 主节点通过广播将请求发送给其他副本
    • 所有副本执行请求并将结果发回用户端
    • 用户端需要等待F+1个不同副本节点发回相同的结果,作为整个操作的最终结果。

优点

  • 高性能的运算,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。

缺点

  • 计算效率依赖于参与协议的节点数量,不适用于节点数量过大的区块链系统,扩展性差。
  • 系统节点是固定的,无法应对公有链的开放环境,只适用于联盟链或私有链环境。
  • PBFT算法要求总节点数n>=3f+1(其中,f代表作恶节点数)。系统的失效节点数量不得超过全网节点的1/3,容错率相对较低。

应用

HyperLedgerFabric, Stellar, Ripple, Dispatch

6. dBFT 授权拜占庭容错

  • 简介

    Neo采用的授权拜占庭容错算法,简称 dBFT,是一种支持通过代理投票实现大规模参与共识的拜占庭容错共识算法。dBFT 可为具有个共识节点的共识系统提供容错。这种容错也涵盖了安全性和可用性、不受将军和拜占庭错误影响,并且适合任何网络环境。dBFT 具有很好的最终性(finality),这意味着一旦最终确认,区块将不可分叉,交易将不可再撤销或是回滚。

    在 Neo 中,令牌持有者可以通过投票选取其支持的 bookkeeper。之后,选定的 bookkeeper 组采用 BFT 算法达成共识,并生成新区块。Neo 网络中的投票是实时的,而非因人而异的。

优点

  • 快速 ( 生成一个块需要 15-20 秒 );
  • 交易吞吐量大,无需消耗能量
  • 可扩展,没有分叉

缺点

  • 没有匿名性,需要真实身份运作才能被选举
  • 每个人都争相成为根链,其中可能存在多个根链。

应用

Neo

7. PoH 历史证明

  • 简介

    PoH大致理念是不相信交易中的时间戳,而是证明交易在某个事件之前或之后的某个时刻发生,而不是信任事务上的时间戳。历史证明是一种高频可验证延迟函数。可验证延迟函数需要特定数量的连续步骤来进行评估,但会产生可以有效且公开验证的独特输出。

优点

  • 高吞吐量,低延迟
  • 链上时间记录,提供了一种内置的时间追踪方式,确保每个事件的顺序可以直接验证。

缺点

  • 硬件要求较高
  • 集中化风险高
  • 生态系统发展面临挑战

应用

Solana

8. PoET 时间证明

  • 简介

    PoET通常用于许可区块链网络,它可决定网络中获得区块者的挖矿权利。许可区块链网络需要任何预期参与者在加入前验证身份。PoET 机制赋予大量可能的网络参与者以平等胜出的机会。机制如下:

    网络中的每位参与节点都必须等待一个随机选取的时期,首个完成设定等待时间的节点将获得一个新区块。区块链网络中的每个节点会生成一个随机的等待时间,并休眠一个设定的时间。最先醒来的节点,即具有最短等待时间的节点,唤醒并向区块链提交一个新区块,然后广播必要的信息到整个对等网络中。同一过程将会重复,以发现下一个区块。

优点

  • 高效公平, 高扩展性
  • 硬件级别的安全性,PoET依赖可信执行环境(TEE)
  • 简化的区块验证过程

缺点

  • 依赖专有硬件,尤其是Intel的SGX技术
  • 存在硬件漏洞风险,漏洞风险基于Intel SGX等可信执行环境
  • 许可链存在局限性

应用

HyperLedger Sawtooth

9. PoI 重要性证明

  • 简介

    PoI共识不仅依赖于代币的数量,而且依赖于生成系统行动得到回报的可能性。区块收益机率是各种因素之一,此外还包括不好的名声(受控于不同的框架设计目的)、差额,以及从该处做出和得到的交易数量。

优点

  • 多维度评估用户贡献

  • 防止富者恒富

  • 鼓励用户主动进行交易和参与网络

缺点

  • 算法复杂性
  • 潜在的滥用行为,用户可能会通过制造虚假交易来提高其重要性分数,从而获得更多的验证机会
  • 应用范围有限,生态圈不是很大

应用

NEM

10. RAFT

  • 简介

    Raft 提供一种在计算系统集群中实现分布状态机的通用方式,确保了集群中的每个节点在同一组状态转移上取得一致。它具有一系列的开源参考实现,包括 Go、C++、Java、Scala 等语言的完全声明实现。

优点

  • 简单易懂
  • 高可用性
  • 一致性保证
  • 容错性强:

缺点

  • 领导者单点瓶颈
  • 选举延迟
  • 不适合大规模网络

应用

IPFS Private Cluster、Quorum、Hyperledger Fabric

11. PoA 权威证明

  • 简介

    在基于 PoA 的网络中,交易和区块由经过批准的帐户(称为Validator)进行验证。验证者运行的软件允许他们将交易放入区块中。该过程是自动化的,不需要Validator持续监控他们的计算机。然而,它确实需要维护计算机(the authority node)不受损害。通过 PoA,个人获得了成为Validator的权利,因此有动力保留他们已经获得的职位。通过将声誉附加到身份上,Validator就会受到激励来维护交易过程,因为他们不希望自己的身份附加到负面声誉上。

优点

  • 高吞吐量,可扩展性
  • 没有挖矿机制,PoA使用身份作为权威的唯一验证
  • PoA适用于专用网络和公共网络
  • PoA只允许一个Validator进行非连续的区块批准,这意味着风险最小化

缺点

  • 偏中心化系统

应用

PoA、Ethereum Kovantestnet、 xDai、 VeChain 

参考链接:

  1. https://learnblockchain.cn/article/4152
  2. 登链社区微信公众号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值