这篇文章将探讨在区块链网络中对容错一致性算法的需求,以及在不久的将来发展的方向。 为了理解为什么我们需要区块链技术中的一致算法,我们需要理解比特币使用区块链技术解决了哪些问题。我认为主要存在两个关键问题: 双花, 中央集权的货币创造。 这篇博文分为三个部分。第一部分将简要解释比特币如何解决这些问题,第二节将讨论共识的一些微妙之处,如容错和终局性,第三部分将讨论个别项目和未来的方向。 1.比特币解决了什么问题? 要理解为什么容错对区块链如此重要,有必要解释一下比特币解决的两个问题(双重支出和集中化货币创造)。 换句话说,比特币以一种可预见的、透明的、去中心化的方式创造货币,这种方式防止了货币的虚假创造。管理发送和创造货币过程的机制是共识算法,它的工作原理是确保整个交易历史的一致性。 在区块链技术时代,共识算法并不新鲜,因此,有必要强调一下比特币为何如此具有创新性:它能够在一个公开的、未经许可的网络中达成共识,并能在存在潜在恶意行为者的情况下达成共识。 比特币的共识算法 我们都知道,PoW区块链中的节点,就像比特币一样,通过试图赢得新区块创建所带来的新货币奖励,从而提高了网络的安全性。奖励提供了一个诚实的行为,同时尽可能快地创造新的区块。 问题是,创建新的块涉及解决一个独特的和计算困难的数学难题。这个困难实际上限制了生成新块的速度,而解决方案的惟一性允许识别获胜节点(通过它们的地址)。恶意行为不会受到积极的惩罚,而是由于不诚实的行为所带来的机会成本而受到劝阻。 一个问题是,节点之间的通信时间不是瞬时的,因此,网络的不同地理区域可能会接收到不同的块来解决这个难题(网络分区/分叉)。两个不同的节点(矿工)有可能合法地找到问题的解决方案,但巧合的是,由于通信不是瞬时的,网络的不同区域将选择建立在不同的获胜块(暂时)上。这将导致一个临时分支,但是随着新块被添加到任何一个分支,最终一个分支将比另一个分支长。 遵循最长分块的规则实际上是比特币达成共识的规则,被称为最长链规则。短分支上的块将被丢弃,任何不在主分支上的事务将最终被添加到块中。请注意,非法交易,例如那些试图翻倍的花费,将不会被包括在形成最长链的块中。包含此类交易的块也将被丢弃,因为任何“货币”只能使用一次。这里需要注意的是,大多数节点是诚实的(至少51%),并且没有试图破坏协议。 从理论上讲,一个新的最长的链可以通过更大的采矿力来创造。这种风险在靠近“链首”的区块(最近的区块)最大。块在区块链中的位置越深,它被恢复的可能性就越小。 这说明PoW链中的块总是有一些被恢复的可能性,并且这些块的事务可能不会发生。在恶意创建的链中,不应该假设将保存事务以将其包含到上面建议的新块中。 在比特币白皮书中,有建议称,等待6个区块的时间足以确保交易不会被拒绝,因为在那个时候,区块被丢弃的可能性微乎其微。从这里我们可以建立对“终结性”的理解:不能被还原的块被称为终结性。在比特币和其他PoW区块链中,由于区块有一些被还原的可能性,所以最终结果并不完美。 所有这些都表明,比特币有很强的抗缺陷性,可以通过一个公共的、无许可的网络以去中心化的方式创造货币。通过探索我们可以保证最终结果的方法,确保更大程度的安全是可能的。这个想法将在稍后的容错一节中讨论。 2.PoS区块链 还应该指出的是,一些PoS区块链也以类似于比特币的方式工作。大多数PoS链用块提议代替挖掘,不是让获胜的矿工创建下一个块,而是由随机选择的节点(“leader”)生成新块。 被选中的概率以抵押来加权。这个想法是,拥有更多的货币意味着更有兴趣看到链的成功,因此这样的节点将有更大的概率产生下一个块。 NXT是最早的PoS链之一,它使用这种随机的leader方法来创建块。NXT内部的共识与比特币是一样的:随着新区块的产生,它们被添加到最长的链条上。任何分叉都是通过遵循这个规则来解决的,节点继续在最长的链上产生块。 3.容错 当参与者执行破坏协议的操作时发生错误。对于区块链,我们希望有一个安全的协议来防止任意的错误,因为可能有恶意的参与者试图利用协议的弱点。任何对任意错误安全的协议也将对随机错误和恶意参与者安全。 拜占庭容错(BFT)协议是一种即使一小部分参与者行为任意也能工作的协议。行为不端的节点可能意外出错,也可能是恶意的。当然,这假定大多数参与者都正确地遵循了协议。这个短语是在一篇名为“拜占庭将军问题”的研究论文中提出的,义上的问题涉及到许多行动者就1位信息达成共识的问题。 当在BFT协议中发现一致意见时,所一致同意的结果保证是正确的。这意味着一致同意的结果可以被认为是确定性正确的,而不是概率性的。当应用于区块链时,BFT算法保证了交易的最终结果。这意味着一旦在一个块上找到协议,该块就成为最终的,并且该块内的事务不能被恢复。 显然,这不同于比特币和其他PoW链。如上所述,这些链只是在概率上是最终的。比特币中存在的这种共识通常被称为“中本共识”(Nakamoto consensus),很容易看出为什么它会与BFT混淆,因为两者都是容错的,但只有后者才能保证最终结果。更令人困惑的是,区块生产和比特币的共识算法紧密相连。其实并不需要这样。 以太坊未来的发展方向之一是继续生产区块,就像他们现在与采矿者所做的一样,但是通过让一些节点扮演确认器来提供最终结果来增强共识。验证器对已经生成的块进行投票。通过一个区块的投票,他们表明他们相信这是正确的。一旦三分之二的验证者投票了,那么这个区块就被认为是最终的,提供开采后BFT共识的机制被称为“最终小工具”。 4.未来的发展方向 大多数正在开发的新项目都是根据共识来划分区块的,未来的一些区块链也将采用混合一致算法,本节将讨论正在探索的一些未来方向。 Cosmos 区块生产也是由随机选择的领导者来完成的,但是Cosmos并没有使用最长的链式法则来达成一致。相反,它采用了一种名为Tendermint的BFT算法。这意味着每个块都保证了最终结果。此外,如果验证器不能在单个块上达成一致,Cosmos将被设计为停止,从而避免分叉。 Polkadot Polkadot的计划是采用混合一致算法。块将由一个随机的领导者产生,他将下一个块添加到最长的链上。bp也将达成协议,但不是每一轮都投票,而是在一次投票中敲定多个区块。 使用混合共识机制的好处之一是,链可以通过建立在最长的链上继续产生块,而BFT最终会找到不妨碍活性的最终结果(即链将永远不会停止)。 其共识与Cosmos相似。块由随机选择的验证器节点产生,然后通过BFT协议完成,再移动到下一个块。 Cardano 简单地说,Cardano有一个类似于比特币(最长链式法则)的一致算法。与NXT一样,区块生产将由随机选择的领导者完成。Cardano背后的团队已经花了很大的力气来解决随机选择领导者的一些弱点。他们选择确保领导者选择的随机性反映了如今比特币区块的生产方式。 虽然比特币是无领导的,但这些区块是由随机的矿工生产的。成功的采矿方案的分配将集中在那些拥有最大哈希能力的矿工周围。 以太坊 以太坊曾经也在寻求增强他们的一致算法,包括确保最终结果的块的后处理。块会像现在一样通过PoW生成,但是会有一组验证器节点对生成的块的正确性进行投票。这就是所谓的“终极小工具”。这意味着有一个组合的最长链规则加上BFT:即一个混合的两种共识算法。 以太坊将用PoS取代PoW,使以太坊与正在开发的新区块链保持一致,区块将由一个随机的领导者制作,然后最终由一个定局装置完成。 温馨提示 本文为译文,翻译原文链接https://medium.com/polkadot-network/consensus-and-finality-in-blockchains-21b1f634fd00 译者:珞珈山神 —- 编译者/作者:珞珈山神 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
从比特币到Polkadot:区块链共识与终结的简史
2019-12-14 珞珈山神 来源:区块链网络
- 上一篇:协议的优势
- 下一篇:区块链技术和快递的结合
LOADING...
相关阅读:
- Gate.io芝麻开门区块链新闻一分钟202008042020-08-04
- 火币早报:ETH再度上攻400美元2020-08-04
- 8.4 早盘行情分析 比特币震荡整理 以太坊韧性十足再次上攻2020-08-04
- ETC遭受的廉价51%攻击迷局2020-08-04
- 《进展周报 | 夸克链信周报2020.7.27-2020.8.2》2020-08-04