理解区块链共识算法的指南
已发表: 2019-10-21区块链是一个分散的分布式网络,提供更高的透明度、安全性和不变性。
我们都知道!!
但是,你有没有想过它是如何实现这一切的?
如果没有集中的权威,谁来管理这个网络并验证每笔交易?
听起来很有趣吧!
嗯,这是区块链共识算法——我们将在本综合指南中讨论的区块链开发世界的核心部分。
目录:
- 区块链共识算法的定义
- 共识机制的目标
- 市场流行的区块链共识算法
- 良好的区块链共识机制的属性
- 依赖糟糕的共识协议的后果
- 经常问的问题
- 结论
什么是区块链共识算法?
什么是区块链共识算法的最简单答案是,它是一个程序,区块链网络的所有对等方都通过它就分布式账本的实时状态达成共识或共识。
共识机制使区块链网络能够获得可靠性并在不同节点之间建立一定程度的信任,同时确保环境的安全性。 这就是为什么它是每个区块链应用程序开发指南和分布式账本环境中每个 dApp 项目的重要组成部分之一的原因。
这些算法基于不同的目标运行,我们将在本文的下一节中介绍其中的一些。
区块链共识机制的目标
1.统一协议
共识机制的主要目标之一是达成统一协议。
与需要对权威的信任的集中式系统不同,用户即使没有以分散的方式相互建立信任也可以操作。 分布式区块链网络中嵌入的协议保证了过程中涉及的数据真实准确,公共账本的状态是最新的。
2.调整经济激励
在建立一个自行监管的去信任系统时,必须协调网络参与者的利益。
在这种情况下,共识区块链协议为良好行为提供奖励并惩罚不良行为者。 这样,它也可以确保监管经济激励措施。
3.公平公正
共识机制使任何人都可以参与网络并使用相同的基础知识。 这样,它证明了区块链系统的开源和去中心化属性是合理的。
4.防止双重支出
共识机制基于某些算法工作,确保只有那些交易被包含在经过验证和有效的公开透明分类账中。 这解决了传统的双花问题,即数字货币两次花费的问题。
5.容错
共识方法的另一个特点是它确保了区块链是容错的、一致的和可靠的。 这意味着,即使在出现故障和威胁的情况下,受治理的系统也可以无限期地工作。
目前,生态系统中有大量的区块链共识算法,更多的区块链共识算法正在进入市场。 这使得每个区块链开发公司和热心的企业家都必须熟悉定义良好共识协议的因素,以及使用糟糕的共识协议可能产生的影响。
在介绍了区块链共识方法的基础知识之后,让我们深入探讨该主题并查看流行的共识机制类型。
市场流行的区块链共识算法
1.工作证明(PoW)
工作量证明由中本聪开发,是区块链领域最古老的共识机制。 它也被称为挖矿,参与的节点被称为矿工。
在这种机制中,矿工必须使用综合计算能力来解决复杂的数学难题。 他们使用不同形式的挖掘方法,例如 GPU 挖掘、CPU 挖掘、ASIC 挖掘和 FPGA 挖掘。 最早解决问题的人会获得一个区块作为奖励。
然而,这个过程并不那么容易。 谜题只能通过试错法来解决。 此外,谜题的复杂程度随着区块被挖掘的速度而增加。 因此,必须在特定时间范围内创建一个新块以应对难度级别。
工作量证明机制被多种加密货币使用,例如比特币、莱特币、ZCash、Primecoin、Monero 和 Vertcoin 等等。
该机制中解释的比特币算法使用随机数作为随机值来改变哈希值的输出。 在比特币共识算法中,每个块都旨在生成一个哈希值,而随机数是用于生成该哈希值的参数。
在实施方面,工作量证明 (PoW) 不仅影响了金融行业,还影响了医疗保健、治理、管理等领域。 事实上,它提供了通过地址进行多渠道支付和多重签名交易的机会,以增强安全性。
2. 股权证明(PoS)
权益证明是 PoW 共识协议的最基本、最环保的替代方案。
在这种区块链方法中,区块生产者不是矿工,但他们的行为类似于验证者。 他们有机会在每个人身上创建一个块,从而节省能源并减少时间。 然而,为了让他们成为验证者,他们应该投入一定数量的资金或股份。
此外,与 PoW 的情况不同,矿工有权在该算法中收取交易费用,因为该共识模型中没有奖励系统。
总的来说,这鼓励了像以太坊这样的品牌在他们的以太坊 2.0 更新中将他们的模型从 PoW 升级到 PoS 。 此外,它还帮助 Dash、Peercoin、Decred、Reddcoin 和 PivX 等各种区块链生态系统正常运行。
现在,虽然 PoS 解决了早期与 PoW 相关的各种问题,但市场上仍有许多挑战尚未解决。 为了缓解这些挑战并提供增强的区块链环境,出现了几种 PoS 变体。
权益证明 (PoS) 的两种流行变体是 DPoS 和 LPoS。
- 委托权益证明 (DPoS)
在委托权益证明 (DPoS) 的情况下,参与者将他们的代币质押并投票给一定数量的代表,这样他们投资的越多,他们获得的权重就越大。 例如:如果用户 A 为委托人花费了 10 个币,用户 B 投资了 5 个币,则 A 的投票权重高于 B 的投票权。
代表还以交易费用或一定数量的硬币的形式获得奖励。
由于这种权益加权投票机制,DPoS 是最快的区块链共识模型之一,并且作为数字民主备受青睐。 这种区块链共识机制的一些实际用例是 Steem、EOS 和 BitShares。
- 租赁股权证明 (LPoS)
LPoS 是在Waves 平台上运行的 PoS 共识机制的增强版。
与每个拥有一定数量加密货币的节点都有权添加下一个区块链的常规权益证明方法不同,用户可以将其余额出租给该共识算法区块链中的完整节点。 并且向全节点租用更多数量的那个有更高的概率生成下一个块。 此外,租赁者将获得由完整节点收取的交易费用的一定百分比的奖励。
这种 PoS 变体是开发公共加密货币的一种高效且安全的选择。
3. 权威证明
权威证明是权益证明的修改版本,其中网络中验证者的身份处于危险之中。 在此,为了验证验证者的身份,身份是验证者的个人身份与其官方文件之间的相似之处。 这些验证者将他们的声誉放在网络上。 在权威证明中,节点(成为验证者)是唯一允许生成新块的节点。 激励身份存在风险的验证者保护和维护区块链网络。 在这个证明中,验证者的数量相当少,大约 25 个或更少。
4.拜占庭容错(BFT)
拜占庭容错,顾名思义,用于处理拜占庭故障(也称为拜占庭将军问题)——系统的参与者必须就有效的策略达成一致以规避系统的灾难性故障,但有些他们是可疑的。
通过此视频了解有关拜占庭将军问题的更多信息:-
BFT 共识模型的两个变体在区块链领域是主要的,PBFT 和 DBFT。
- 实用拜占庭容错 (PBFT)
PBFT 是一种轻量级的区块链算法,它通过让用户通过执行计算来评估有关消息有效性的决定来确认已传递给他们的消息,从而解决了拜占庭将军的问题。
然后,该方将其决定宣布给最终处理决定的其他节点。 这样,最终决策依赖于从其他节点检索到的决策。
Stellar、Ripple 和 Hyperledger Fabric 是这种区块链共识机制的一些用例。
- 委托拜占庭容错 (DBFT)
由 NEO 引入的 Delegated Byzantine Fault Tolerance 机制类似于 DPoS 共识模型。 在这里,NEO 代币持有者也有机会投票给代表。
但是,这与他们投资的货币数量无关。 任何满足基本要求,即经过验证的身份、正确的设备和 1,000 GAS的人都可以成为代表。 然后随机选择其中一名代表作为演讲者。
说话者从等待验证的交易中创建一个新块。 此外,他向有责任监督所有交易并将其记录在网络上的投票代表发送提案。 这些代表可以自由分享和分析提案,以检查数据的准确性和演讲者的诚实度。 然后,如果 2/3 的代表验证它,则该块被添加到区块链中。
这种类型的区块链共识协议也被称为“中国的以太坊”,通过将资产数字化并在区块链上提供智能合约,可以成为构建“智能经济”的有用资源。
5. 直接无环图(DAG)
每个使用区块链的移动应用程序开发服务公司都必须熟悉的另一个基本但主要的区块链共识模型是 DAG。
在这种区块链共识协议中,每个节点本身都准备成为“矿工”。 现在,当矿工被消灭并且交易由用户自己验证时,相关费用降低到零。 验证任意两个最近节点之间的交易变得更加容易,这使得整个过程轻量级、更快、更安全。
DAG 算法的两个最佳示例是 IOTA 和Hedera Hashgraph 。
虽然这些是开发环境中的主要共识模型,但许多不同的区块链共识机制已经慢慢地逐渐开始获得动力,例如:-
6. 容量证明(PoC)
在容量证明(PoC)机制中,每个复杂数学难题的解决方案都累积在硬盘等数字存储中。 用户可以使用这些硬盘来生成块,这样那些评估解决方案最快的人就有更好的机会来创建块。
它遵循的过程称为绘图。 依赖 PoC 区块链共识协议的两种加密货币是 Burstcoin 和 SpaceMint。
7. 燃烧证明 (PoB)
被认为是 PoW 和 PoS 在能源消耗方面的替代解决方案,燃烧证明 (PoB) 共识模型的工作原理是让矿工“燃烧”或“破坏”虚拟加密货币代币,这进一步为他们提供了写入的特权块与硬币成比例。 他们燃烧的硬币越多,为他们获得的每一枚硬币挑选新区块的机会就越大。
但是,为了销毁硬币,他们需要将其发送到无法用于验证区块的地址。
这在分布式共识的情况下被广泛采用。 这种共识机制最好的例子就是 Slim 币。
8.身份证明(PoI)
PoI(身份证明)的概念就像授权身份的概念一样。 它是附加到每个特定交易的用户私钥的加密确认。 每个已识别的用户都可以创建和管理可以呈现给网络中其他人的数据块。
这种区块链共识模型可确保创建数据的真实性和完整性。 因此,它是引入智慧城市的不错选择。
9. 活动证明 (PoA)
PoA 基本上是一种通过融合 PoW 和 PoS 区块链共识模型而设计的混合方法。
在 PoA 机制的情况下,矿工最早使用特殊的硬件和电能竞相解决密码难题,就像在 PoW 中一样。 但是,他们遇到的区块只包含有关区块赢家身份和奖励交易的信息。 这就是机制切换到 PoS 的地方。
验证者(被任命验证交易的股东)测试并确保区块的正确性。 如果该块被多次检查,验证器将激活一个完整的块。 这证实了开放交易是进程,并最终集成到找到的块容器中。
此外,区块奖励被划分,以便验证者获得份额。
该机制的两个实际实现是 Espers 和Decred硬币。
10.经过时间证明(PoET)
英特尔引入 PoET 的目的是通过考虑 CPU 架构和挖矿硬件的数量知道矿工何时以及以什么频率赢得区块这一事实来接管 PoW 机制中涉及的密码难题。
它基于公平分配和扩大更大比例参与者的几率的想法。 因此,要求每个参与节点等待特定时间以参与下一个挖掘过程。 要求等待时间最短的成员提供块。
同时,每个节点也有自己的等待时间,然后进入睡眠模式。
因此,一旦一个节点激活并且一个块可用,该节点就被认为是“幸运的赢家”。 然后该节点可以在整个网络中传播信息,同时保持去中心化的属性并获得奖励。
11. 重要性证明(PoI)
PoI由NEM引入,是 PoS 协议的一种变体,它考虑了股东和验证者在其运营中的作用。 然而,这不仅受其股份规模和机会的影响; 其他各种因素,如声誉、整体平衡和否。 通过任何特定地址进行的交易也在其中发挥作用。
基于 POI 共识模型的网络攻击成本高,并且奖励用户为网络的安全做出贡献。
到目前为止共享的信息将帮助您区分各种区块链共识协议。
但是,为简化起见,这里有一个区块链共识算法比较表。
现在,让我们从确定是什么让区块链共识成为一个好的共识开始。
良好的区块链共识机制的属性
1.安全
在良好的共识机制中,所有节点都能够根据协议规则生成有效的结果。
2.包容
良好的共识区块链机制确保网络的每个特定节点都参与投票过程。
3.参与式
所有节点都积极参与并为更新区块链数据库做出贡献的共识机制称为良好共识模型。
4.平等主义
一个好的机制的另一个特点是它给从节点收到的每一个投票赋予相同的价值和权重。
考虑到这一点,让我们看看当您不考虑这些因素并在您的开发过程中引入一个糟糕的共识模型时会发生什么。
选择错误的共识协议的后果
1.区块链分叉
选择较差的区块链共识方法会增加链的脆弱性。 区块链爱好者和开发人员面临的此类漏洞之一是区块链分叉。
用通俗的语言来说,区块链分叉是指一条链分叉成两条或更多条的一种或多种情况。 下面嵌入的视频中提供了有关区块链分叉及其类型的详细说明。
当区块链分叉发生时,应用程序开始以不可预知的方式运行,在前面创建两个或多个分叉节点。
2.表现不佳
当考虑到糟糕的共识区块链机制时,节点要么出现故障,要么遭受网络分区的影响。 这延迟了节点之间交换消息的过程并增加了应用程序的延迟,最终降低了性能水平。
3.共识失败
将糟糕的共识机制纳入您的业务模型的另一个影响是共识失败。 在这种情况下,一小部分节点无法参与任何过程,因此,在没有他们的投票的情况下,共识无法提供准确和预期的结果。
现在涵盖了区块链共识方法的基础知识,让我们深入探讨该主题并查看流行的共识机制类型。
关于区块链共识算法的常见问题
Q. 什么是区块链共识协议?
共识协议是一组规则或程序,用于管理两个或多个节点如何在区块链生态系统中交互、交换信息和执行相关流程。
Q. 以太坊使用什么共识模型?
早些时候,以太坊正在使用 PoW(工作证明)共识模型。 但是,它现在已经转向 PoS(Proof of Stake)区块链共识算法。
最终的想法
最后,所有这些组件都有一个相似的目标,即在去中心化网络中达成共识。 然而,即使有了共同的目标,这些机制在达成共识的方式上也有所不同。 虽然理想的共识尚不存在,但从长远来看共识机制如何发展和调整以适应此类协议不断变化的要求,这令人着迷且令人感动,毫无疑问,观察到突破性想法的实现将是令人兴奋的.
重要的是根据业务网络的需要明智地选择一个,因为如果没有共识算法来确认正在提交的每一笔交易,区块链网络就无法正常工作。