区块链共识算法是什么?有哪些类型?区块链共识算法工作原理与类型介绍
公链是近20 年来最重要的技术创新之一。区块链网络是一种分布式数据分类账,不可变,仅附加,受加密机制保护。区块链使参与者网络能够在不依赖中央机构的情况下存储和更新记录,同时保持数据完整性和防篡改性。
要实现这些属性,网络必须持续商定交易分类账的有效版本。这一共享协议被称为共识,维护这一协议是任何区块链系统可靠性和安全性的基础。
在本文中,我们将讨论什么是共识算法,它如何作为更广泛区块链流程的一部分发挥作用,去中心化网络如何达成共识,以及目前业界正在实施哪些流行的共识算法。
关键要点:
- 共识算法对于区块链网络至关重要。它们确保所有节点在单一的防篡改账本状态上达成一致,解决冲突,避免双重支出等问题,从而在去中心化系统中保持信任和完整性。
- 共识算法是确保区块链网络中的所有节点都对分布式分类账的状态达成一致的机制。
- 最常用的共识算法包括工作证明、质押证明、委托质押证明、实际的拜占庭容错和授权证明。

什么是共识算法?
区块链网络是一种去中心化系统,其中多个节点维护共享交易分类账。每个节点都是一台计算机(连接到网络),至少持有部分分类账副本,并参与验证和转发交易数据。交易分为多个区块,每个新区块均引用之前的交易块,形成一个按时间顺序排列的链。一旦添加到链中,区块中的数据将无法在不影响每个后续区块的情况下进行修改,这使得账本防篡改且不可更改。
为了使该系统可靠运行,所有参与节点必须就账本的当前状态达成一致。由于节点独立运行,并可能在不同的时间接收数据,因此需要一种机制来解决冲突,并确保每个诚实节点都能看到和接受同一版本的分类账。共识算法就在这方面变得至关重要。
共识算法是用于在交易有效的节点之间达成共识的流程,接下来应将哪个区块添加到分类账中。其职责是确保所有诚实的参与者在区块链的单一权威版本上融合,即使在存在延迟、错误或恶意行为的情况下也是如此。如果没有有效的共识机制,网络的不同部分可能会在交易订单或内容上产生分歧,导致双重支出、数据不一致以及对系统完整性失去信任等问题。
共识过程不仅仅涉及多数规则,还必须考虑到节点不诚实或发生故障的可能性,这意味着系统必须稳健,防止操纵,并抵御链的更改和冲突版本。共识算法的设计直接影响区块链的安全性、性能和去中心化程度。它是区块链架构最基本的组成部分之一,也是确保网络作为可靠统一系统运行的前提条件。
共识算法的工作原理
公链共识算法依赖于两个相互关联的流程,确保所有参与者都同意分布式网络的单一版本。第一个过程涉及收集交易的方式,而一个或多个节点有权提出包含这些交易的新区块,而第二个过程涉及在将拟议区块永久添加到分类账之前,在整个网络中共享并由其他节点验证的方式。
在区块链上,用户透过将其发送到网络来不断发起交易。这些交易将广播到所有节点,并被收集并暂时存储在未确认的交易池中。网络不会立即将每笔交易添加到账本中,而是将一批交易组合到一个区块中。每个区块都包含一系列交易,以及元数据,例如对前一区块的引用、时间戳和其他协议特定数据。每个新区块均引用其前代产品,确保按时间顺序排列并防止篡改,因此该结构构成一个连续链。
但是,节点无法随意向区块链添加区块。网络必须确定哪些节点有权提出下一个区块。这一任务代表共识算法中的第一个关键过程,因区块链而异。一些系统依赖于竞争性流程,即节点争先恐后地解决加密难题,或展示出一种质押或授权形式,以赢得提出下一个区块的权利。其他人使用选举或轮换机制。无论采用哪种方法,选择过程都旨在控制区块提案,从而最大限度地减少冲突区块,使网络有序进行。
有权向分类账添加下一个区块的节点或(节点)会将建议的区块广播到其他节点以供审核。初步验证的区块传播到整个网络进行最终确认是共识算法的第二大关键阶段。
收到建议的区块后,整个网络的节点开始验证过程。该流程包括多次检查,以确保区块符合区块链协议的规则。节点首先验证拟议区块是否正确引用链中的前一个区块,保持分类账的顺序完整性。然后,他们会验证区块中包含的每笔交易,确认数字签名有效,且交易输入尚未用于之前的区块或交易。这样可以防止双币支出,并保持账本的一致性。
验证还包括检查所有交易是否符合协议规则,例如交易规模限制、格式和费用要求。节点会检查拟议区块的元数据,包括时间戳,以确保区块未在允许的时间窗口之外形成。此外,节点会验证任何能够证明提案人有资格或有权提交区块的加密证明或签名(由使用的共识机制决定)。
如果任何验证步骤失败,节点将拒绝建议的区块。拒绝意味着区块不会添加到区块链中,并且会被所有诚实节点丢弃。这种拒绝保护网络免受无效数据和潜在攻击。网络继续依赖最后接受的区块,同时提出有效的下一区块重复。
如果拟议区块透过所有验证检查,则达成共识。全部诚实节点均接受区块,并将其永久添加到区块链的本地副本中。这一集体协议可确保区块链在所有节点中保持单一、一致的记录。添加区块后,节点会继续收集新交易,并为下一个区块提案周期做好准备。
这种两步法,即由责任节点形成拟议区块,并由更广泛的网络进一步验证区块,代表了区块链共识的整个过程。虽然共识算法的选择和验证机制有所不同,但这一通用框架可确保网络在没有集中控制的情况下可靠运行。它可以防止错误、恶意行为和不一致,从而破坏对区块链系统的信任。
区块链中的共识算法类型
如上所述,每个共识算法执行两个关键功能:首先,选择负责提议下一个区块的节点或节点组;其次,在整个更广泛的网络中验证提议的区块。
这一过程的第二部分(全网验证)在大多数区块链中通常非常相似,涉及各种检查,例如验证交易签名,确保正确的区块链接和双重支出检查。然而,根据所使用的共识算法,第一部分可能会有很大差异。这些差异对网络去中心化、能源使用、性能和攻击脆弱性产生了重大影响。
下面是区块链网络目前使用的五种最常见的共识算法。虽然还有许多其他共识算法正在使用中,但这五种算法被区块链行业中大多数最受欢迎的网络使用。
工作证明(PoW)
工作量证明(PoW) 是2009 年推出的首款可行区块链比特币(BTC) 推出的两种最受欢迎的共识算法之一。在PoW 共识算法中,矿工(专业节点)争夺复杂的数学难题。解决难题需要大量的计算努力,这就是为什么它被称为「工作」。第一位解决这一问题的矿工有权提出下一个区块并赚取奖励,通常是以新币和交易手续费的形式。
PoW 被广泛认为是高度安全的,因为攻击者需要控制网络的大部分计算能力才能操纵链。然而,这种安全性是以PoW过程中涉及的高能耗为代价的,这引起了批评,并导致许多较新的链采用替代共识算法。除了比特币,PoW 还被Litecoin (LTC)和Dogecoin (DOGE) 等使用。
质押证明(PoS)
质押证明(PoS) 是PoW 的另一种广泛使用的共识方法。 PoS 没有使用计算能力来争夺区块提案权利,而是根据其在网络上「质押」或锁定的代币数量来选择区块验证者。质押的代币越多,被选中提出下一个区块的机会就越高。
与PoW 不同,PoS 的能效更高,通常能够加快交易处理速度。随着Cardano (ADA) 和Polkadot (DOT) 等连锁店的上线,PoS 得到了广泛推广,并在2022 年以太坊(ETH) 从PoW 过渡到PoS 时进一步脱颖而出。每个网络通常都有自己的PoS 变体,对选择标准进行了细微调整。
尽管与PoW 相比,PoS 具有更高的能效和更优性能,但其自身存在漏洞:这种共识算法可能会导致少数具有重大代币风险的验证节点使用网络。这个问题在以太坊这样的高度去中心化链上可能不那么明显,但当去中心化时,它可能会成为一种真正的风险- 根据网络上活跃验证者的数量来衡量- 受到限制。
委托质押证明(DPoS)
委托质押证明(DPoS) 是标准PoS 的一种更具民主代表性的变体。在DPoS 中,包括普通用户在内的代币持有者将其权益委托给一组可信的验证节点。吸引更多权益的验证者更有机会获得下一个区块的提议权。从本质上讲,这组较小的验证者节点会轮流代表更广泛的社区提出和验证交易区块。
该模型可实现更快的共识和更大的可扩展性,因为在任何给定时间,提议区块的节点数量更少。此外,它还能提升用户参与度,即使是小型代币持有者也可以透过委托影响共识结果。然而,批评者认为,它可能会减少去中心化,因为它将权力集中在少数代表身上。使用DPoS 的网络示例包括EOS (EOS) 和TRON (TRX)。
实际拜占庭容错(PBFT)
实践拜占庭容错(PBFT) 最初是在20 世纪90 年代为分布式计算系统开发的,后来又改编用于区块链技术。其设计旨在透过有限数量的已知验证者(通常是私有区块链)在去中心化计算机网络中高效工作。在PBFT 中,节点透过一系列轮次达成共识,包括提议区块、对其投票并达成最终协议,只要2/3 的节点一致即可。
PBFT 具有快速的交易决算性和高吞吐量,因此在企业用例中极具吸引力。然而,它无法很好地扩展到数千个节点,这限制了其在开放的去中心化网络中的使用。受PBFT 启发的模型用于Hyperledger Fabric 和Tendermint 等区块链,后者为Cosmos (ATOM) 生态系统提供支持。
授权证明(PoA)
授权证明(PoA) 是一种共识算法,在该算法中,区块提议者会获得预先批准并识别实体,通常是声誉良好的公司或个人。验证者并非透过计算能力或质押代币进行竞争,而是根据身份和可信度进行选择。
PoA通常用于许可区块链,其中速度、效率和基于身份的信任比去中心化更重要。它能够实现快速最终性和高交易吞吐量,但经常因过于集中而受到批评。VeChain(VET) 等网络和众多获许可的企业链已达成PoA 共识。
结语
共识算法是区块链网络的支柱。它们对于确保所有参与者都同意单一防篡改版本的账本至关重要。整个流程包括选择区块提议者和验证整个网络的区块,而选择提议者的特定方法真正使这些算法与众不同。
从能源密集型PoW 到高效可扩展的PoS 和DPoS 等模型,每种算法在安全性、去中心化和性能方面都体现出不同的权衡。选择正确的共识机制取决于区块链的目标和设计,无论是公开的、无许可的网络还是更集中的企业解决方案。
以上就是区块链共识算法是什么?有哪些类型?区块链共识算法工作原理与类型介绍的详细内容,更多关于区块链共识算法介绍的资料请关注脚本之家其它相关文章!
你可能感兴趣的文章
-
区块链技术科普:什么是拜占庭将军问题?
区块链与拜占庭将军问题有着密切的联系,区块链网络是一种分布式网络,其节点就像拜占庭将军一样,需要在不可靠的网络环境中达成交易和数据的共识,那么,什么是拜占庭将军…
2024-07-30 -
区块链时代我们该如何选择共识算法?
随着区块链技术的发展,共识算法成为了区块链的核心技术之一,共识算法是指在区块链网络中,各个节点之间达成共识的一种算法,是区块链技术中不可或缺的一环,对于区块链时代…
2023-08-08 -
什么是区块链共识算法?共识算法有哪些?
这篇文章主要介绍了什么是区块链共识算法?共识算法有哪些?共识算法可以被定义为使区块链网络达成共识的机制。最常见的共识算法类型是工作量证明(PoW)和权益证明(PoS)…
2021-04-08 -
以太坊共识算法是什么?ETH使用的共识协议介绍
这篇文章主要介绍了以太坊共识算法是什么?ETH使用的共识协议介绍,以太坊作为目前全球数字货币排行榜第二的存在,要说到以太坊共识算法,新手们一脸蒙圈,目前共识算法比…
2021-03-25










