主页 > imtoken下载最新版本 > 区块链共识与确定性简史:从比特币到 Polkadot

区块链共识与确定性简史:从比特币到 Polkadot

imtoken下载最新版本 2023-08-10 05:09:56

前言:去中心化的特性决定了区块链需要共识。 区块链的共识机制从比特币的PoW开始逐渐发展出新的模式,如PoS、BFT等。Polkadot采用的是混合共识算法。 共识机制永远是区块链技术发展的重点领域。 本文作者为Edward A Thomson,由“蓝狐笔记”社区“HQ”翻译。

为了更好地理解为什么我们需要在区块链技术中引入共识算法,我们需要了解比特币的区块链技术解决了什么问题? 有两个最关键的问题:

双重付款

中心化货币发行

本文首先介绍了比特币是如何解决上述问题的,然后讨论了共识的一些微妙之处,例如容错性和最终性(finality 的简称),最后以一些项目为例讨论了未来的发展方向。

什么是比特币区块链视频_先有区块链还是先有比特币_区块链和比特币的关系

比特币如何解决双重支付和货币发行问题?

要理解为什么容错对区块链如此重要,有必要解释一下比特币解决的两个问题(双重支出和中心化货币发行)。

换句话说,比特币以可预测、透明和去中心化的方式发行货币,以防止任意超额发行。 管理汇款和发行过程的机制是共识算法,它确保整个交易历史的一致性(共识)。

什么是比特币区块链视频_区块链和比特币的关系_先有区块链还是先有比特币

共识算法在区块链技术时代并不新鲜,强调比特币创新的原因很重要:因为在一个公共的、无需许可的网络上,即使存在潜在的恶意行为者,比特币也可以达成共识。 共识。

PoW 共识算法

众所周知,在比特币这样的 PoW 区块链中,节点通过创建新区块产生的新货币奖励来维护整个网络的安全。 这种奖励激励矿工在尽快创建新区块的同时始终诚实行事。

获胜的关键在于创建新块需要解决一个独特且计算困难的数学难题。 其数学问题的难度从根本上限制了新区块的生成速度,而答案的唯一性允许网络识别获胜节点(通过它们的地址)。 虽然恶意行为没有受到特别惩罚,但由于不诚实行为的机会成本,没有动机这样做。

一个问题是节点之间的通信不是即时的,因此网络不同地理区域的节点可能会收到声称已经解决难题(网络分区/分叉)的不同块。 两个不同的节点(矿工)可能恰好都合法地解决了问题,但是由于全网不同区域之间没有即时通信,网络中的不同分区会选择根据不同的获胜区块(临时)来构建区块链。 这会导致临时分叉,但由于总是有新块添加到每个分支,最终总会有更长的分支。

选择最长的区块分支实际上是比特币为了达成共识而制定的一个规则先有区块链还是先有比特币,称为最长链规则。 较短分支上的块被丢弃,所有不在主分支上的交易最终都被添加到主分支的块中。 请注意,构成最长链的区块中不包括非法交易(例如那些试图双花的交易)。 包含此类交易的区块也将被丢弃,因为任何“硬币”只能花费一次。 这里需要注意的是,大多数节点是诚实的(至少 51%),这些节点不会尝试破坏协议。

从理论上讲,可以创建具有更多挖矿能力的新的最长链。 但风险最大的是靠近“链头”(最近的区块)的区块。 区块在链中越深,被逆转的可能性就越小。

什么是比特币区块链视频_先有区块链还是先有比特币_区块链和比特币的关系

这表明 PoW 链上的区块总是有可能被逆转的,因此这些区块中的交易可能不会发生。 由于上述原因,在恶意创建的链上,交易不会保存在新区块中。

比特币白皮书建议等待6个区块的时间足以保证交易不会被拒绝,因为此时区块被丢弃的概率很小。 我们可以从这里理解“finality”(以下简称finality):不能逆转的区块可以称为“finalized”。 在比特币和其他 PoW 区块链中,最终性并不是那么完美,因为区块总是有被逆转的可能性。

以上表明比特币具有强大的抗故障能力,并且可以在公共和无许可的网络上以去中心化的方式发行货币。 通过探索确保最终性的方法,可以确保更高级别的安全性。 稍后将在容错部分探讨这一观点。

PoS区块链

还应该注意的是,一些权益证明 (PoS) 区块链的运作方式与比特币类似。 大多数 PoS 链使用选举来生成块而不是挖掘。 与获胜矿工创建下一个区块的 PoW 链不同,PoS 链的新区块由随机选择的节点(“领导者”)创建。

被选中(创建新区块)的概率由股份数量决定。 这个想法是,你持有的币越多,你就越希望区块链成功,所以这样的节点将有更大的概率创建下一个区块。

NXT 是最早使用这种随机(选举)领导者方法创建新区块的 PoS 链之一。 NXT 的共识机制与比特币相同:新创建的区块将添加到最长的链中。 通过遵循这条规则,任何分叉都可以被解决,并且节点可以继续在最长的链上创建区块。

区块链和比特币的关系_什么是比特币区块链视频_先有区块链还是先有比特币

拜占庭协议和容错

当参与者的行为违反协议时先有区块链还是先有比特币,(网络的)错误就会发生。 对于区块链,我们希望协议足够安全以防止任何故障,因为可能会有恶意行为者试图利用协议的弱点。 任何对任意故障具有鲁棒性的协议对于随机故障和恶意行为者也足够安全。

即使一小部分参与者行为异常,拜占庭容错 (BFT) 协议也能正常工作。 行为不端的节点,无论是意外故障还是恶意行为。 当然,这是假设大多数参与者都遵守协议。 这个观点在一篇名为“拜占庭将军问题”的研究论文中有所提及。 这个问题讨论了多个参与者如何就一个简单的消息达成一致。 (蓝狐笔记:拜占庭问题请参考蓝狐笔记上一篇文章《拜占庭容错的简单理解》)

当拜占庭协议达成共识时,商定的结果必须是正确的。 也就是说,商定的结果可以被视为确定性正确而不是概率正确。 当应用于区块链时,拜占庭算法保证了交易的最终性。 这意味着一旦在一个区块中达成协议,该区块就被最终确定,并且其中的交易无法撤销。

显然这与比特币和其他 PoW 链不同。 如上所述,那些链只能以一定的概率实现确定性。 比特币的共识类型通常被称为“中本聪共识”,很容易看出为什么它会与拜占庭容错相混淆,因为两者都是容错的,但只有后者才能保证最终性。 更深层次的混淆来自比特币的区块创建和共识算法之间的高度重叠。 但实际上大可不必。

以太坊未来路线的建议之一是继续像现在一样由矿工出块,但让部分节点充当验证者提供最终性,从而加强共识。 验证者对已创建的块进行投票。 通过投票给一个区块,他们表示他们相信这个区块是正确的。 一旦三分之二的验证者投票,该块就可以被认为是最终确定的。 这种挖矿后的拜占庭共识机制被称为“finality component”。

开发探索

什么是比特币区块链视频_先有区块链还是先有比特币_区块链和比特币的关系

大多数正在开发的新项目将块创建与共识分开。 一些未来的区块链也将采用混合共识算法。 本节介绍一些正在探索的未来方向。

宇宙(原子)

Cosmos 中的区块创建也是由随机选择的领导者完成的(通过 stake 的权重比例),但 Cosmos 共识中没有最长链规则。 因此,它采用了一种称为 Tendermint 的拜占庭算法。 这意味着每个区块都可以保证最终性。 此外,如果验证者无法就单个区块达成共识,根据 Cosmos 的设计,Cosmos 会暂时停止以防止分叉。

波卡波卡 (DOT)

Polkadot 使用混合共识算法。 块将由随机领导者创建,他将把下一个块添加到最长的链中。 Polkadot 也将采用拜占庭协议,但不是每轮投票只产生一个区块,而是在一次投票中确定多个区块。

采用混合共识机制的好处之一是,区块链可以在最长的链上不断产生区块,同时最终实现拜占庭终结性,而不影响链的活跃性(即链永远不会停止)。

目前在Polkadot目前的测试网络PoC-2(也称为Krumme Lanke)中,共识类似于Cosmos。 区块由随机选择的验证者节点产生,通过拜占庭协议最终确定后,产生下一个区块。

先有区块链还是先有比特币_区块链和比特币的关系_什么是比特币区块链视频

卡尔达诺 (ADA)

简单来说,Cardano 的共识算法类似于比特币(最长链规则)。 与 NXT 一样,块生产由随机选择的领导者完成。 Cardano 团队竭尽全力解决随机选择领导者时出现的一些问题。 他们确保选择领导者的随机性与当今比特币区块的产生方式一致。

然而,比特币没有领导者,区块是由随机矿工生产的。 挖矿难题的解决方案集将分布在具有最大哈希能力的矿工周围。

以太坊Ethereum

以太坊还试图通过添加一个步骤来加强共识算法,以确保区块生成后的最终性。 区块仍然是通过 PoW 生成的,但是会有一组验证者节点对已经发布的区块的正确性进行投票。 这称为“最终组件”。 也就是说,该方法结合了最长链规则和拜占庭容错算法:即两种共识算法的混合体。

最近似乎有迹象表明,以太坊可能会用权益证明 (PoS) 取代 PoW,从而使以太坊与正在开发的新链保持一致。 块将由随机领导者创建,并由终结组件终结。

优化

区块链的“过去”围绕着使用 PoW 挖矿和使用最长链规则来增强网络共识。 后来,为了使用更节能的方式,我们开始尝试使用 PoS 代替挖矿。 过去的 PoS 链仍然使用最长链规则; 然而,近年来的趋势是将拜占庭容错协议纳入共识机制:要么没有最长链规则(Cosmos),要么两者并存(以太坊和 Polkadot)。

在下一篇文章中,我们将更深入地探讨 Polkadot 的共识算法是如何工作的。 他们还制定了标准规范,但尚未正式发布。

------