在每种伟大的加密货币背后,都有着一个伟大的共识算法。没有共识算法是完美的,但是它们各有千秋。在加密世界中,需要共识算法来防止重支付。这是迄今为止一些最流行的共识算法的简要介绍,从区块链到DAG以及介于两者之间的所有内容。

1. 工作量证明:POW (Proof - of -Work)

代表项目:BTC.ETH.BCH.LTC.Doge

优点:目前最安全的共识算法

缺点:需要成长期,吞吐速度慢

工作量证明是第一个区块链共识算法。由中本聪(Satoshi Nakamoto)设计用于比特币区块链,我们要感谢PoW,感谢我们在全球范围内看到的大量采矿作业和电力消耗。但是在行业发展的这个阶段,它开始被认为是一种过去的技术。甚至以太坊也从PoW迁移到更多能源和经济高效的PoS。有这么多新的替代方案,很难理解为什么新的区块链会使用PoW。

在PoW中,矿工解决了无用的难题,从而创建了区块。PoW在“最长链胜”系统上运行。因此,假设大多数矿工都在同一链上工作,那么增长最快的人将是最长,最值得信赖的。因此,只要矿工投入的工作中超过50%是诚实的,区块链就是安全的。

2. 权益证明:POS ( Proof - of - Stake )

代表项目:ETH2.0.Peercoin

优点:攻击成本更高,节能,可扩展

缺点:完整攻击之后区块链容易完全失去价值

在PoS中,区块不是由矿工工作创建的,而是由矿工将其令牌押在有效区块上的“赌注”中来创建的。对于分叉,铸造者花费他们的代币投票支持哪个分叉。假设大多数人对正确的分叉进行投票,那么对错误的分叉进行投票的验证者将“丢掉他们的股份”。

反对股权证明的常见论点是“ 一无所有” 问题。令人担忧的是,由于验证器不像PoW那样花费验证器几乎没有计算能力,因此验证器可以对发生的每个分支的两端进行投票。这样一来,PoS中的此时分叉可能会比PoW中的更为普遍,有些人担心这会损害货币的信誉。

3. 委托权益证明:DPoS ( Delegated - Proof - of - Stake )

流行的实现:Steemit.EOS.BitShares

优点:便宜的交易;可扩展 ,高效节能

缺点:弱中心化,不稳定,易攻击

DPoS是Daniel Larimer的创意,实际上与PoS截然不同。在DPoS中,令牌持有者不会对区块本身的有效性进行投票,而是会投票选举代表他们进行验证的代表。在DPoS系统中,通常有21-100位民选代表。代表会定期洗牌,并下达命令以交付他们的区块。很少的代表可以使他们高效地组织自己,并为每个代表创建指定的时间以发布他们的图块。如果代表继续错过他们的障碍或发布无效交易,则大众将其投票出去,并用更好的代表代替他们。

在DPoS中,矿工可以协作制作区块,而不必像PoW和PoS中那样竞争。通过部分集中块的创建,DPoS可以比大多数其他共识算法计算速度快几个数量级。EOS被设置为一个区块时间少于1秒,大约0.5秒一个块。

4. 授权证明PoA ( Proof - of - authority )

代表项目:POA.Network,以太坊Kovan测试网

优点:高吞吐量;可扩展的

缺点:企业集中式系统

权威证明是一种共识算法,其中交易通过批准的帐户进行验证,类似于系统的“管理员”。这些帐户是其他节点从其接收真相的权限。PoA具有高吞吐量,并针对专用网络进行了优化。由于其集中性,您不太可能看到PoA在公共链上运行。

5. 权重证明 POWeight ( Proof - of -Weight )

代表项目:Algorand,Filecoin,Chia

优点:可定制;可扩展的

缺点:激励方式可能是一个问题

权重证明是基于Algorand共识模型的共识算法的广泛分类。通常的想法是,在PoS中,您在网络中拥有的代币的百分比表示您“发现”下一个区块的可能性,在PoWeight系统中,会使用其他相对加权的值。比如Filecoin的时空证明是根据您要存储的IPFS数据量来加权的,其他系统可能包括信誉证明之类的权重。

6. 拜占庭容错BFT

代表项目:Hyperledger,Stellar,Dispatch和Ripple

优点:高吞吐量;低成本; 可扩展的

缺点:可信任度低

有一个经典的问题是分布式计算,通常用拜占庭将军来解释。问题是几位拜占庭将军及其各自的拜占庭军队部分已经包围了一个城市。他们必须一致决定是否进攻。如果一些将军在没有其他人的情况下发动进攻,他们的包围将以悲剧告终。将军通常被距离隔开,必须传递信息进行交流。几种加密货币协议使用某种版本的BFT达成共识,每种协议各有利弊。

实用拜占庭式容错(PBFT):此问题的第一个解决方案是“ 实用拜占庭式容错”。Hyperledger Fabric当前正在使用,很少(少于20个)预选的将军PBFT高效地运行。

优点:高事务吞吐量
缺点:集中/允许

联邦拜占庭协定(FBA):FBA是另一种解决方案,用于解决Stellar和Ripple等货币使用的拜占庭将军问题。在一般的想法,是每一个拜占庭一般情况下,对自己负责的链,因为他们一进来就建立真相排序消息。在Ripple中,将由Ripple基础预先选择将军(验证人)。在Stellar中,任何人都可以成为验证者,因此您可以选择信任哪些验证者。

由于其令人难以置信的吞吐量,低交易成本和网络可扩展性,我相信FBA类共识算法是我们发现的最佳分布式共识算法。

7. 有向无环图 DAG

代表项目:Iota,Hashgraph,Raiblocks / Nano

优点:网络可扩展性;低成本

缺点:取决于实施

DAG现在比Vitalik的Tinder配置文件要热。DAG是一种共识形式,它不使用区块链数据结构并且大部分异步处理事务。理论上最大的优点是每秒无限事务,但DAG具有与其他共识一样的优点和缺点。

Tangle是Iota使用的DAG共识算法。为了发送Iota交易,您需要验证之前收到的两个交易。越多的交易添加到“纠缠不清”中,二对一,付费支付共识就增强了交易的有效性。由于共识是由交易建立的,因此从理论上讲,如果某人可以生成交易的1/3,则他们可以说服网络的其余部分认为其无效交易是有效的。在没有足够的交易量导致无法创建交易量的1/3之前,Iota会在称为“ 协调器 ” 的集中式节点上对网络的所有交易进行“双重检查” 。

艾奥塔说,协调器的工作原理类似于系统的训练轮,一旦Tangle足够大,协调器就会被拆除。

以下是我们为大家收集的部分资料,请大家下载来看吧,或者关注公众号之后,在对话栏输入“资料”下载区块链学习资料。

End

/ 关注盛合 /

获取更多有价值的行业信息,欢迎进入盛合区块链

投票选举 算法_区块链主流共识算法一文全通相关推荐

  1. 六、区块链主流共识算法浅析

    转自:http://www.cocoachina.com/cms/wap.php?action=article&id=22240. 一.概述: 1.工作量证明(Proof of Work): ...

  2. 【船长】区块链主流共识算法

    一.POW(Proof Of Work) Proof Of Work,也就是工作量证明.工作量证明系统(或者说协议.函数),是一种应对拒绝服务攻击和其他服务滥用的经济对策.它要求发起者进行一定量的运算 ...

  3. 第十一课 区块链常用共识算法介绍

    上一节课我们学习了共识算法理论基础,今天我们继续深入学习区块链共识算法,通过这节课我们将了解工作量证明.权威证明.权威授权证明.实用拜占庭容错等相关内容. 在学习课程的时候,你也可以领取BaaS平台为 ...

  4. 区块链常见共识算法(consensus)

    什么是共识(consensus)? 共识一词在区块链中尤为重要,并且与更广泛的问题有关在分布式系统中同步状态,使得分布式系统中的不同参与者都(最终)就一个系统范围的状态达成一致,这被称为"达 ...

  5. 区块链开发公司:区块链技术共识算法的新玩法

    共识算法是什么? 共识机制就是用来解决分布式系统的一致性问题,其核心为在某个协议(共识算法)保障下,在有限的时间内,使得指定操作在分布式网络中是一致的.被承认的.不可篡改的.在区块链系统中,特定的共识 ...

  6. 区块链新一代共识算法:VRF分布式可验证随机函数

    背景 共识分代 假设一个小岛,没有法币,由101个对等的没有隶属关系的记账人来记录小岛的经济活动(也就是所谓去中心化记账).这样的设计,冗余性应该非常好,某个记账人出问题了不影响整个系统,最大的麻烦是 ...

  7. 区块链常见共识算法总结

    这两年,区块链的技术可以说是非常的火爆,不了解点什么都不好说自己是在互联网混的,有人将区块链称之为互联网2.0,可以说区块链将对现有的互联网技术进行改造升级.那么,就让我们一起来了解下什么是区块链吧. ...

  8. java计步器算法_区块链+计步运动项目,主要采用以太坊、智能合约、springboot以及小程序等技术...

    runlife_api 项目介绍 区块链+计步运动项目,主要采用以太坊.智能合约.springboot以及小程序等技术 兑换步数算法 按照每总量剩余一半的时候兑换难度增加一倍,如目前按照平均步数511 ...

  9. poc白皮书通证经济体系_区块链中的PoC共识算法是什么意思?

    共识算法是区块链技术的核心要素, 由于区块链的快速发展,共识已得到各界关注,它将人类带入数学领域的信任时代,因为有共识的存在,人类可以展开无信用抵押的大规模协作,它不仅重构了生产关系,塑造了价值网络, ...

最新文章

  1. CC1100E被不同频段的频率干扰问题
  2. shell测试命令test、[ ]、[[ ]]
  3. 巨人也能身手敏捷?看美国KeyBank的实战经验
  4. 使用while循环输入 1 2 3 4 5 6 8 9 10
  5. SELinux让php程序无法远程连接数据库
  6. 【转】Linux系统编程---dup和dup2详解
  7. 操作系统原理_读懂操作系统之缓存原理(cache)(三)
  8. Java安全教程–创建SSL连接和证书的分步指南
  9. oracle之数据处理之其他数据库对象练习
  10. 使用Linux命令行测试网速
  11. vue调试工具 -- vue-devtools 安装方法
  12. 逍遥android模拟器设置,逍遥安卓模拟器最佳设置电脑上玩手游流畅不卡多开更好用...
  13. ARMv8体系结构基础05:比较和跳转指令
  14. hadoop重新启动之后Datanode无法启动的问题
  15. hdu 5175 Misaki's Kiss again
  16. 2017年5月—信息安全工程师—上午综合知识(11-15)
  17. spiders:你好污啊
  18. Vim配置#pathogen插件管理工具
  19. matlab线性方程组求解
  20. 问题记录之——windows10系统蓝牙失灵

热门文章

  1. 从达标到卓越 —— API 设计之道
  2. 1 分钟记住 docker 镜像和容器常用基本命令
  3. 垃圾回收策略和算法,看这篇就够了
  4. 终于有人把超融合和边缘计算说清楚了
  5. 强推!盘点阿里巴巴 15 款开发者工具 | 程序员硬核评测
  6. 如何让Kubernetes集群生产可用?
  7. 什么是oracle命名,ORACLE数据库命名规范
  8. ansys如何删除线_绘画新手不懂如何用ps提取线稿?教你用PS提取自己喜欢的线稿!...
  9. 企业微信H5_消息推送接收消息回调配置、内网穿透到本地
  10. String转int,int转String