工作量证明(POW)不是共识协议:理解区块链共识的基础知识

2019-04-06 18:11 栏目:经验之谈 来源: 查看()
区块链和分布式算法是由许多层组成的复杂技术。很少有人对底层区块链技术和分布式算法有详细的了解。老实说,这很好。专业化的本质意味着不同的专家专注于不同的层次,最终将结合良好的结果。

工作量证明(POW)不是共识协议:理解区块链共识的基础知识

但是,谈到达成共识的协议时,有一些半真半假的事情需要解决。了解共识是为应用程序选择正确的区块链平台和配置的先决条件。做出错误的选择可能导致效率低下和不安全的设置。

以下是关于区块链共识的一些错误陈述,通常被称为:

“工作量证明是达成共识协议。”
“只要没有人能控制超过50%的网络,区块链协议就是安全的。”
“区块链的共识是低效和耗能的。”
“比特币首先解决了拜占庭环境中的共识问题。”

让我们仔细看看共识并消除一些误解。

区块链共识中的两个步骤

共识协议解决了计算机科学中的一个典型问题。:许多平等的参与者如何就这一事件的全球观点达成一致?在区块链术语中,这意味着同意特定的交易顺序。区块链共识的目标是在所有节点上维护相同的历史副本。

在集中式系统中,很容易解决这个问题。:中央协调员可以简单地强制执行交易顺序。在分布式系统中,这是不可能的,并且需要更复杂的机制。

将分类帐添加到区块链的过程涉及向分布式数据结构添加新块。这包括两个主要步骤,每个步骤都有自己的算法选择:选择块提议器并同意建议的块。前者涉及决定哪个节点生成下一个块,后者关注是否将新块接受到区块链数据结构中。这两个步骤同样重要,但完全不同。

块提议者选择算法

选择下一个块生成器的最简单方法是旋转或随机选择下一个块生成器。事实上,当授权人数固定时,轮流是一个非常好的选择。对于企业设置中使用的通用区块链,通常就是这种情况。

但是,这种解决方案不适用于公共区块链(任何人都可以自由参与),例如比特币或公共以太坊网络。就像彩票一样,参与者可以通过购买大量彩票来增加获胜机会。如果抽奖是免费的或非常便宜,这可能导致系统被欺骗。这种情况称为Sybil攻击。因此,需要一种在购买门票时附加经济困难的机制。

工作证明(PoW)就是这样一种机制。所谓的“挖掘”为参与的块生成器选择算法带来成本。参与者可以获得很多选票,但他们必须为提高计算能力付出代价。因此,PoW根本不是一个共识算法,它只是一个用于选择下一个块生成器的反sybill工具。理解这一点很重要,因为PoW可以与许多共识算法结合使用。事实上,我们将在下一节中发现比特币的一致性算法非常简单并且提供了非常弱的保证。

权利证明(PoS)是用于选择下一个块生成器的类似工具。在这种情况下,简单地消除计算能力,并且基于计算能力取决于经济实力的观察,通过经济财富来测量赢得彩票的概率。显而易见的优点是与PoW相关的能耗降低。

共识算法

在区块链系统中,在所选块生成器提出块之后执行实际一致性算法。参与者必须同意是否包括该块。比特币和类似的区块链,包括以太坊,并没有真正实现任何特定的算法来实现这样的协议。相反,他们选择了一种不干预的方法,只允许暂时的分歧,并建立了最强大的链条赢得的规则,即网络的大部分计算能力所支持的链条获胜。临时货叉是可以接受的,而且确实很常见。这种形式的共识共识有时是Nakamoto的共识意见,它对网络可以提供的安全性具有深远的影响。

甚至在比特币和区块链系统发明之前,分布式系统的研究人员已经开发了许多以非常不同的方式工作的共识协议。 BFT共识协议强制网络参与者之间进行几轮沟通,以投票决定是否包含一个区块并达成一致。

工作量证明(POW)不是共识协议:理解区块链共识的基础知识

BFT共识投票

在数学中已经表明,只要不到三分之一的参与者没有表现出恶意,该协议将保持运作。 BFT共识的缺点在于,由于涉及通信开销,它的可扩展性非常差。因此,这种协议主要用于验证器的数量有限并且预先已知的情况,例如,在混合区块链或许可区块生成器具有较小数量的区块链中。

BFT共识协议的区块链实施包括BFT和Tendermint。事实上,最近流行的BFT对区块链系统的共识已经引起了人们对这一经典研究领域的兴趣。例如,Sikoba Research最近在BFT共识优化方面做了大量工作。

最后一句话

Nakamoto共识和BFT共识之间的差异影响了结束。术语涉及可以在一个块上提供的保证,因此一个块内的事务无限期地包含在链中。从本质上讲,强大的术语意味着将来不会拒绝该块,从而导致交易被撤销。

Nakamoto只提供概率确定性。这意味着块最终成为块的概率随着添加到链中的每个额外块的增加而增加,但从未达到理论上的确定性。例如,在比特币中,我们通常建议等待6个额外的块,等待确认一个块中包含的事务。这意味着,平均而言,比特币交易在大约一小时后被认为是安全的,因为基于实践的启发式而不是强协议保证。

相比之下,BFT共识协议提供了强有力的保障。一旦一个区块被包含在三分之二多数中,该交易就被认为是安全的。这意味着使用此协议的区块链可以更灵活,并在很短的时间内提供事务终止。但是,如上所述,BFT共识只能用相对较少的验证器来实现(思考数百而不是数千)。

在区块链互操作性和碎片解决方案中,总结性也变得非常重要。前者侧重于不同区块链之间的相互作用,后者指的是由于可扩展性原因将区块链分割成较小的区块。在任何一种情况下,沟通都必须在不同的链条上进行。在一条链上的交易转移到另一条链后,取消该链上的交易非常不方便。解决此问题的一些方法可以在所谓的终结小工具中找到,该小工具在较弱的共识协议之上构建更强大的终结层。

委托股权证书

区块链共识的一个非常有趣且经常被误解的折衷解决方案是委托的权利证明(dPoS)。 dPoS方法使用令牌作为投票机制来选择少量固定验证器以执行共识协议。

这意味着可以简化代理之间的块生成器选择,并且一组较小的验证器可以执行非常有效的共识协议。这意味着dPoS可以结合公共区块链和BFT共识的优势,为开放网络带来几乎即时的终端,所有参与者都可以在一定程度上参与。

dPoS区块链中的安全性是当前研究的主题,与治理密切相关。实质上,挑战是确保代表们的投票是公平的,并建立一个防止卡特尔的机制。值得注意的是,应将dPoS视为权力下放与绩效之间的可配置平衡。在极端情况下,EOS将验证器的数量减少到21个节点,从而提供了一个非常快速的平台。其他系统,例如最近推出的Cosmos中心,非常强调安全性,并试图实现真正的分散化。

当然,对于dpoS来说,卡特尔的形成和集中是一个真正的风险。另一方面,一些矿工(电力便宜)占主导地位的PoW可以被认为是分散的吗?

结论

共识并不像看起来那么简单。与计算机科学中的任何事物一样,必须进行权衡,目前还没有理想的解决方案。虽然每个人都不可能理解不同共识协议的所有技术细节,但在为给定应用选择区块链平台之前,了解共识协议的基础知识非常重要。因为已经发布了很多关于此问题的错误消息。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发