区块链开发必读:一张图看懂共识算法

在投身区块链开发之前,你需要搞清楚PoW、PoS、PoI、PoET、DPoS“五大”在内的区块链共识算法之间到底有什么区别,以下Blockchain101给我们绘制的信息图简明扼要地给出了答案:

为了方便区块链开发新手快速入门,我们还推荐阅读下面这篇发表在Medium上的区块链共识算法介绍文章:

尼科洛·马基雅维利(Niccolo Machiavelli)曾经说过,“对于人类,我们可能会说他们一般都是善变的,虚伪的,贪得无厌”。这句话讲述了在一个充满不值得信任的人的世界中航行所必需的无信任,可以在他自己的时间和我们的时间中同等地被视为真理。在一个“虚假的世界里,重要的是理解信任的变幻无常的本质,并在我们自己所持有的’真理’中找到一些共识。虽然这个几个世纪以来人类面临的挑战在我们这个时代可能无法完全解决,但通过区块链技术带来的创新,我们已经比我们的祖先更加接近了。在区块链的世界中,有5个主要共识协议;

1.工作证明(PoW)

2.股权证明(PoS)

3.重要证明(PoI)

4.经过时间证明(PoET)

5.委托国家证明(DPoS)

虽然自区块链的最初构想以来,已经提出了许多建议和理论上的共识算法,但它们大多超出了本文的范围。

区块链生态系统中最广泛使用和众所周知的一致性算法是工作证明算法。这种算法被几乎所有主要硬币(如比特币和以太坊)(在某种程度上)所利用,通过确认链交易和通过称为矿工的特殊节点创建新块来工作。

想象一下,老师把64这个数字写在教室的黑板上,而坐在教室里的学生,每人手中有10个单独的骰子,每个人都不断投掷骰子,竞争谁先掷出64的组合,并且每当竞争对手投出一个点数为64的组合时,没有其他竞争者可以提交该组合再次获奖,这迫使每位参赛者在最终获得奖品之前做出越来越多的尝试。这种先发制人赢家通吃基本上就是PoW的工作方式,区别是在区块链上PoW使用计算机来执行称为Hash函数的复杂数学函数。

工作证明共识PoW的概念包含三个主要组成部分:交易,区块和矿工 。虽然工作证明算法看起来(并且通常是)非常直接且有用,但有许多因素 – 例如其总体成本,功耗和安全性(对于某些攻击,例如51%的攻击) – 这低估了它的整体功能。以比特币采矿为例; 比特币是第一个被发明的加密货币,利用PoW一致性算法来促进其连续的交易流和每10分钟创建一个新的块。由第一个矿工创建的每个区块成功地解决了上面解释的数学函数,需要无数,极其强大和高度专业化,要创建的计算机。在解决之后,成功的矿工(或矿工组)将获得总共12.5比特币(截至2014年11月18日的价值为69,962.50美元)。显然,这一高额奖金每天24小时都会吸引大量竞争激烈的矿工(并消耗大量电力)。因此,比特币网络消耗的电量相当于整个新加坡国家的电量。

除了工作证明共识算法所需的大量计算功耗之外,随着时间的推移,通过多个高增长和高功率矿工的集合创建的大型财团已经将“矿场”转移到“成本洼地”,例如沙漠中(为了利用过剩的太阳能发电),或寒冷的北方苔原,节省空调空调费用。大型矿场的快速成长和创造性的能源采购解决方案,正逐步将“业余的采矿者”推向近乎灭绝的边缘,这种区块链挖矿计算力的集中化趋势,导致“51%攻击”的威胁变得越来越严峻。

虽然工作证明仍然是比特币生态系统中不可或缺的一部分,但许多其他加密货币 – 例如以太坊 – 正在试图摆脱这种共识协议并转向利益证明协议。在基于证明的加密货币证明中,每个连续块的创建者可以通过以下两种方式之一进行选择:通过随机区组选择,或者通过基于通证的选择。

随机块选择使用一种公式,该公式将链上的最低哈希值(非常类似于工作证明算法的数学函数的合成哈希值)与块的桩(投入黑色的量)组合在一起。由于赌注是公开的,每个节点可以预测哪个账户将赢得伪造新区块的权利。这种类型的选择允许多个参与者构建块,并不排除任何个人参与交易,无论他们投入任何一个或多个块的资金数量。通过这种方式,由Stof of Stake算法实现的随机块选择使得每个参与者/竞争者更加平等。

由于在Stof of Stake算法中不需要复杂的计算工作,因此没有矿工涉及股权证明交易。相反,称为验证器的专用节点用于验证事务并通过专门的过程将它们放到链上。根据他们验证的相应资产中的总财富而选择的验证人将收取交易费用作为验证交易的付款,并且通常,在该资产中拥有最多的人验证最大量的交易,并且,赚取最大的交易费用。

我们将在本文中讨论的第三个协议是重要性证明(PoI)一致性算法,可以将其描述为基于大账户平衡和可信度的经济建筑协议。该协议最初由NEM设计和开发,是一个基于区块链的组织,发布和使用XEM加密货币令牌,根据网络中每个验证者/参与者的可信度来评分。为了获得更高且不断更新的分数,每个参与者不仅必须拥有大量账户余额,还要保持通过交易收到的所有资产以他们正在促进的加密货币的形式,并保持至少10%的他们的总体平衡投入了加密货币。这些规定,

就像股票市场投资一样,一个公司拥有的股票越多,个人在整个组织中的权重和权力越多,个人投入基于加密货币的重要性证明的越多,他们的整体可信度就越高。此外,尽管大型利益相关者具有大量影响力,但即使是拥有一个公司份额的利益相关者也可以从组织的整体增长中获益,或者在这种情况下,也可以从网络中获益。

一方面,重要性证明算法是有益的,因为它鼓励更多的个人参与并开辟整体财富分配的可能性 – 因为任何贡献者都可以获得更多的XEM。然而,另一方面,总是更大的参与者能够获得更高的可信度得分,从而获得更多的利润。这种奖励通过称为收获的过程完成,通过网络上每个归属节点对新块的分布式计算来实现。要参与此计算(并成为’既定’节点),必须拥有至少10,000个相应加密货币的既定或主动余额。

继续我们对本文开头列出的一致性算法的描述,我们现在将继续讨论经过时间的协议(PoET)。经验时间的证明被设计为“公平的”共识模型’,侧重于效率,并围绕分布式领导者选举的概念,跨越尽可能多的网络参与者。而且,控制过程(或引导链)的成本总是与从中获得的值成比例。因此,为了控制(或引导)链条,必须投入大量的时间和金钱。最后,链上的所有参与者都需要验证领导者是否以合法的方式被选中。

PoET旨在通过使用新的,安全的CPU指令来实现这些目标,这些指令在消费级处理器中迅速普及。通过利用这些新功能,基于PoET的硬币可确保领导者选举过程的安全性和随机性,而无需诸如工作证明等过程所需的电量或计算能力。此外,在基于PoET的加密货币中,每个验证器从包围区请求等待时间,并且具有事务块的最短等待时间的验证器被选为领导者。该方法在整个验证器池中任意分配领导选举,其分布类似于其他抽奖算法。因此,选举的概率与所贡献的资源成正比。然而,参与的低成本增加了验证器池将大于PoW或PoS共识协议的可能性。因此,使基于PoET的加密货币更加开放并且可供公众使用。

尽管经过时间的证明一致性算法并未像PoW或PoS那样广泛实现或已知,但由于更多人充当验证者的能力,它可能具有巨大的潜力。最后,同样重要的是,PoET算法在CPU而不是GPU或ASIC上运行,这意味着我们能重温区块链计算的“美好时光”——人人皆可参与,而不仅仅是那些功能强大,价格昂贵的计算机硬件。

本文将介绍的第五个也是最后一个共识协议是委托证明(DPoS)算法。这个协议被称为前所提到的最民主和“公平”的协议,可以概括为员工(节点)可以解雇他们的老板(领导者)的环境,而不是相反。通过Delegated Stof of Stake算法,利益相关者批准的权力用于解决共识问题。此外,利益相关者(当选代表)还决定了区间隔,费用和交易规模限制。

在DPoS系统中,利益相关者可以选择任意数量的“证人”来生成块。每个帐户每个证人每人可以投一票 – 这个过程称为批准投票。当利益相关者表达他们想要的证人数量时,他们还必须至少投票给一般人才库中的那么多证人。每当证人出示一个街区时,他们都会获得一笔民主投票的费用。证人组通过每日一次的投票统计更新,允许新证人与高级证人一样获得奖励。虽然DPoS尚未被广泛采用,但随着更多项目开始实现其整体潜力,它正在迅速获得动力。

随着区块链生态系统的不断发展,我们经济的私营和公共部门以及整个字体的相关性不断增强,新的协议将继续发布并超越我们今天使用的协议。虽然目前的工作证明和股权证明主导了区块链世界中的人们的思想和实施,但变化的潮流变得越来越强烈,许多算法 – 可能(并且很可能)本文中提到的一些 – 可能很快超过他们。虽然这些肯定不是最终所有的共识算法,但它们是许多新项目和新的共识协议的坚实基础。

英文原文

第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom

   

除非注明,本站文章均为原创或编译,未经许可严禁转载。

相关文章:


关于作者

IT经理网(CTOCIO.com)是中国领先的精确定位并服务CTO/CIO决策者人群的高端IT媒体和职业交互平台。核心团队由分布在美国和中国的资深IT媒体人、企业管理专家和市场分析专家组成。