主页 > 苹果版imtoken > 一文读懂区块链共识及其容错机制

一文读懂区块链共识及其容错机制

苹果版imtoken 2023-10-15 05:09:22

640?wx_fmt=gif

640?wx_fmt=png

翻译 |

编辑| 波波

区块链是一个分布式和去中心化的系统,这意味着它需要一种方法来跟踪系统当前的官方状态。 由于区块链可以包括金融交易和商业协议,因此所有相关方就协议条款达成一致非常重要。

群体共识是区块链概念中最重要的支柱之一。

听起来很奇怪,但区块链确实是一个相当低效的系统:因为系统中的多个节点、数千台计算机都需要重复相同的工作,同时保存相同数据的相应副本。

让计算机来做这种工作肯定是低效的。 我们之所以能够容忍这种效率,是因为它们可以带来我们想要的另一个东西——共识:如果大多数计算机能够就什么记录是真实的共识达成共识,那么我们就可以建立一种计算信任的方式,前提是这些记录没有经过任何篡改或编辑。

因此,共识机制可以说是区块链的基石。

目前,区块链节点达成共识的方式有很多种。

基本上,我们可以这样理解共识机制:区块链中的每个区块都被视为一张纸,每一行都记录了一笔交易。 我们每个人都在自己的纸上记录交易,当纸满时,我们作为一个小组要检查彼此的记录是否有错误,然后在纸上选择大多数人同意的页面或版本,即达成共识.

共识机制是指如何让网络上的计算机节点达成共识。 它确保网络上的所有节点都可以确认交易并就各自账本的顺序和存在达成共识。

在加密货币中,这个过程非常重要。 因为它可以有效防止双花(Double Spending)现象或其他无效数据被写入区块链账本,这是链上所有交易的数据库。

在去中心化的世界里,共识机制极其重要:因为这里没有信任中介,只有去信任的价值流动,才是真正的去中心化。

区块中达成共识的方式有很多种,不同的情况可以采用不同的解决方案。

不同共识机制之间的主要区别在于它们授权和奖励交易确认工作的方式。

大多数区块链生态的共识机制是不同共识机制的混合:它们各有优势,选择其中一种容易产生偏差。

“工作量证明”是最古老、最常用、最著名的共识机制

工作量证明(PoW)在过去十年中表现良好。 它最初用于比特币,后来被各大公链和大多数私有链所使用。

但是现在,我们开始意识到工作证明的局限性,尤其是它的速度和可扩展性。

目前,工作量证明的交易速度为20-50 TPS,但与Mastercard、Visa等现代支付网络的交易速度可高达7000 TPS相比,显得苍白无力。

为了与传统技术竞争,区块链必须加快交易速度。

为了实现这一点,开发人员提出了多种替代共识方法。

其中Tangle采用了block-free的方案,目前正在使用。 新兴的股权证明和活动证明计划仍处于试验阶段。

在深入讨论之前,我们需要重点理解共识机制的概念:

让所有节点(可能数万个)都重复相同的工作,然后让它们定期就大多数节点选择的事实达成共识,可以赋予区块链高度的可信度,使其成为一个安全的记录存储系统。

640?wx_fmt=jpeg

共识

去中心化的区块链需要一种方式让用户就区块链的当前状态达成一致。

区块链网络中的共识基于稀缺性。 你对稀缺资源的控制力越强,你对区块链运行的控制力就越大。

几种不同的共识机制方案:

常见的共识机制:

· 工作量证明和权益证明

其他共识机制:

·委托权益证明

实用的拜占庭容错

· 有向无环图(DAG)

经过时间的证明

区块链是一个共享的、同步的历史账本,这意味着在某个时候它需要最终决定什么应该包含在官方记录中,什么不应该包含在官方记录中。

因为区块链是去中心化的,不存在可以批准和最终确定区块链区块内容的“最高权威”。

比特币区块链的创造者中本聪为达成共识而创建的方法是基于稀缺性。 从某种意义上说,区块链共识算法可以归结为某种投票机制:用户的投票数与他们控制的有限资源的多少有关。 根据经济学中的供求规律,收集某项资产直到达到市场的控制份额,会导致该资产的价格上涨,而达到同等控制程度的成本将变得异常昂贵。

中本聪为比特币发明了一种共识算法,称为“工作量证明”。 后来,开发人员针对不同的用例发明了其他几种共识算法。 包括:权益证明、委托权益证明、实用拜占庭容错算法、有向无环图、耗时证明、权威证明、活动证明、燃烧证明、容量证明等。

最常用的共识算法是工作量证明和权益证明。 大多数其他共识算法只是处于讨论阶段的概念或理论。

640?wx_fmt=jpeg

工作证明

计算资源:工作量证明基于计算资源的稀缺性。

激励措施:工作量证明区块链上的矿工竞相为密码问题找到可接受的答案

51% 安全性:工作量证明假设没有人可以控制超过一半的网络资源。

在工作量证明(PoW)中,区块链网络中想要生成下一个区块(并赢得奖励)的用户被称为矿工。 为了赢得某个区块的开采权,矿工们不得不竞相解决某个密码学“难”问题。 正如我们前面所讨论的,这种数学“困难”只能通过随机猜测来解决。 当矿工找到可接受的答案时,他们会生成一个区块并将其传播到整个网络,最终确定该区块及其中的所有交易。

工作量证明通过选择随机猜测来解决问题,利用了计算资源的稀缺性。 矿工一次可以给出很多猜测,而且猜测的次数没有限制。

因此,工作证明鼓励矿工使用尽可能多的采矿设备,以最大限度地提高他们成为第一个找到问题答案的机会。 由于矿机需要花钱购买和运行,用户投资于挖矿设备的资金有限,从而限制了他们对区块链网络的控制。

工作量证明的安全性是基于这样的假设,即没有人可以控制区块链挖矿网络总计算资源的一半以上。

如果一个矿工在解决区块链上每个区块的挖矿问题时,比其他任何人都更有可能第一个找到可接受的答案,那么这个矿工对区块链网络拥有绝对的权威。 控制。 这破坏了区块链的分散性。

总的来说,矿工通过解决数学难题来证明交易来保护整个网络。

矿工使用运行计算周期的 GPU 或专用集成电路 (ASIC) 芯片来解决数学问题,希望找到一组预先提供给他们的数字。 这组数字称为“目标”,是一个 SHA-256 散列算法,前面有许多零。 每 2016 个区块(大约每两周)调整“目标”“难度”(比特币世界中的另一个术语)以确保矿工大约每十分钟可以开采一个区块。

找到这个“目标”需要三个主要要素:

经过一次又一次的哈希(组合),每次的nonce值都会发生变化,直到这三个元素生成的哈希值低于“目标”提供的哈希值。

当矿工达到这个“目标”时,他将获得交易费和挖矿奖励(发布时为 12.5 个比特币)。 该奖励每 210,000 个区块(约 4 年)减半。

接下来,矿工通知所有其他矿工他已经达到设定的“目标”并确认区块。 完成后,他会挖掘下一个区块。

640?wx_fmt=jpeg

股权证明

稀缺货币:股权证明基于给定货币的稀缺性。

权益:下一个区块的生成者由所有拥有权益的用户伪随机选择。 被选中的概率大致与用户的股份大小成正比。

经济可行性:股权证明假设所有用户不得对加密货币拥有大部分控制权。 否则,他们将被选中生成大部分区块并对加密货币拥有绝对控制权。

股权证明 (PoS) 网络中的用户可以“抵押”或承诺不使用他们拥有的代币。 在这样做的过程中,他们有机会被选中创建或“锻造”新区块并获得相应的奖励。 区块创建者是从所有使用其部分资产作为权益的用户中伪随机选择的。 这个选择过程是有偏见的。 权益越大,被选中的概率就越大。

例如,假设一个轮子被分成四个部分,每个部分的大小与木桩的大小成正比。 选择下一个块创建者的方法是旋转轮子以查看哪个部分最终到达顶部。 在股权证明中,每个用户都有一个轮盘副本,并且由于所有用户都是同步的,因此每个用户都可以独立决定选择过程,从而导致相同的结果。 所以股权证明使用伪随机选择过程,而不是随机选择过程。

在股权证明中,攻击者需要控制足够多的抵押币以确保被选中来创建每个区块。 由于加密货币是一种有限资产,购买那么多硬币非常昂贵,因此攻击权益证明系统在经济上是不可行的。

在权益证明中,是“证明者”在“创建区块”,而不是“矿工”在“挖矿”。

在解决像 PoW 这样的问题时,没有计算循环来计算一个大的数学难题。 在 PoS 中,证明者通过网络发送特殊交易,然后交易被锁定到保证金(也称为“证明池”)中。 这个过程称为“放样”。

一旦证明者提供了一定数量的加密货币的所有权,算法会在每个时间段(例如,一个时间段可能是10秒)伪随机选择一个证明者,并赋予证明者创建区块的权利。 这个区块必须指向前一个最长链末端的某个区块,随着时间的推移,大多数区块将汇聚成一条不断增长的链。

When a prover is selected, in order to create a block, the prover needs to prove a set of transactions.

一旦证明完成,证明者将收到之前存入的资金,以及区块的交易费(当加密货币供应暂时被高估时给予的奖励)。

如果证明者不可信,为欺诈交易提供证明,他们将失去当前质押的权利,并被踢出验证者池(失去创建区块的权利)。 这种内置的激励机制确保证明者创建有效交易而不是欺诈交易。

具体共识机制的应用

以太坊

目前,以太坊的共识机制使用工作量证明。 Casper 是以太坊从工作证明转向股权证明的计划。

以太坊的最初设计是使用工作量证明作为共识机制,直到权益证明应用程序(代号 Casper)的强制硬分叉。 这个硬分叉嵌入在以太坊协议中。 由于工作量证明问题的难度增加缓慢,直到解决问题所需的时间长到无法使用工作量证明时,硬分叉才会完成。 . 权益证明不需要像工作量证明那样多的能源消耗,它是一种更具可持续性和可扩展性的共识机制。

比特币

比特币的共识机制使用中本聪发明的工作量证明。

超级账本结构

Hyperledger Fabric 对共识机制进行了分解,用户可以根据自己的具体用途选择共识算法。

Hyperledger Fabric 通过定义执行所有与共识相关的操作的“排序模块”比特币区块链使用什么算法,有意避免将共识机制硬编码到协议中。 正因为如此,Hyperledger Fabric 的用户可以为他们的特定用途挑选和选择一种共识算法,而不必被迫进行大规模的代码编辑。

科尔达

每个 Corda 网络都有一个由独立方组成的公证人服务,他们使用任何适用的共识算法批准区块。

标准的区块链模型将交易打包成块,然后由整个网络最终确定。 Corda则不同,它的网络由一个或多个公证节点组成,公证节点由若干个独立的参与方组成。 Corda 上的交易由公证人使用多方数字签名系统使用 Raft 等算法完成。

区块链上的容错

区块链是一个始终保持共享状态的分布式和去中心化系统。 共识算法的作用是让网络对这个状态达成共识,有时这个共识可能达不到。 因此,容错是区块链技术的重要组成部分。

区块链被设计成低效和冗余的,这赋予了系统不可变性和高容错性。

区块链的核心是运行对等网络架构,其中每个节点都是对等的。

与传统的客户服务提供者模型不同比特币区块链使用什么算法,区块链的每个节点既充当客户又充当服务提供者。

640?wx_fmt=png

因此,我们在网络层面保留了这种冗余设计,让所有节点都执行相同的任务。

与任何点对点系统一样,区块链具有高度容错性。 事实上,如果一个区块链系统有两个或多个节点在线,它仍然可以正常工作。

当你考虑主要公链的规模时,你可以体会到内置容错的魔力。

以比特币为例:

这是一个拥有超过 30,000 个节点的区块链,每个区块都达成共识。 只要两个或多个节点在线并且能够相互通信,系统就可以正常工作。

这使得系统在节点上下线、网络传输等问题上具有很高的容错能力,同时也让区块链在网络和电力基础设施不理想的环境下成为一个很好的平台。 网络上的节点可以一会儿离线,一会儿在线。 当一个节点下线一段时间后重新上线时,需要进行同步工作,从其他节点获取自己下线时丢失的所有数据,然后才能像其他节点一样上线。

这与集中式系统有很大不同。

在传统的客户对企业模型中,如果服务提供商处于离线状态,客户将无法获得他们请求的数据或执行他们想要的操作。

640?wx_fmt=jpeg

这种情况在区块链上是不存在的。

查看其他点对点解决方案的历史,例如:BitTorrent 或 Napster,我们发现官方很难让这些网络离线。

这是由于对等体系结构的容错性。

事实上,我们在最近的阿拉伯之春期间看到了这种情况,当时埃及政府决定在一夜之间关闭整个国家的互联网。

在 24 小时内,埃及重新上线并通过称为“网状网络”的网络共享机制连接到互联网,其核心只是一种共享互联网连接的点对点方法。

点对点解决方案可以提供极高的容错性和可靠性,这就是为什么我们选择在其之上构建像区块链这样的平台。

如果您正在寻找一个可以提供极高容错性的解决方案平台,如果您计划在基础设施不太理想的地区或节点频繁上线和下线的环境中部署解决方案,区块链可能是一个很好的选择解决方案。 平台。

拜占庭将军问题

我在“拜占庭容错简而言之”一文中详细讨论了它。

区块链在设计上是拜占庭容错的

拜占庭将军问题证明了多方仅在一对一通信的基础上达成共识是多么困难,而且这种通信是不可信的。 在这个故事中,几位拜占庭将军率领军队包围了一座城市。 齐攻齐退,则安全; 但是,如果一个攻击另一个撤退,那么它们就会被摧毁。

将军们只能通过信使进行交流,他们可能会被拦截并被迫传递虚假消息,并且一名或多名将军可能是叛徒。 他们的目标是找到一种方法,在面对可能的叛徒和虚假信息时就进攻策略达成一致。 并假设所有将军都遵守多数决定达成的共识。 只要三分之二的将军不是叛徒,那么拜占庭将军问题就可以解决。

区块链被设计为拜占庭容错,这意味着当某些成员可能不诚实时,网络将对区块链的官方状态达成共识。 拜占庭将军问题的解决方案效率低下,因此区块链需要在不强制执行整个解决方案的情况下实现共识可信度。

640?wx_fmt=jpeg

工作量证明提供了一种博弈论分布式共识算法。

没有优化意味着没有办法避免挖掘协议必须执行的散列以保证某个块。

没有近似值意味着拥有块的过程是两极分化的:是或否。

Proof-of-Stake 提供了一种内部实验性的博弈论共识算法

工作量证明 VS 权益证明(总结)

工作量证明是最古老、最原始的共识协议,已经过了 10 周年。 从2009年开始在比特币中使用,是最早投入使用的共识协议,使用效果非常好。

虽然有一些针对基于区块链的智能合约和解决方案的黑客攻击和利用,但在创造了超过 1 万亿美元市值的 10 年中,没有人能够成功地将工作量证明本身货币化,这足以证明本协议的安全性和可靠性。

然而,工作量证明本身的某些缺点和争议正在将我们的注意力引向替代共识机制,例如权益证明。

交易处理能力是工作量证明的缺点之一。 理想情况下,工作量证明可以在全球范围内每秒处理 10 到 20 笔交易。

虽然这听起来很多,但与传统的事务处理系统相比仍有很大差距。 例如,Visa 的支付处理系统每秒最多可以处理 70,000 笔交易。

为了让区块链继续成为一个成功的解决方案平台,我们需要找到其他共识机制,其交易处理速度应该能够与传统技术竞争。

工作量证明本身还有一些其他争议,其中之一就是中心化问题。

正如读者可以从本文中看到的那样,区块链的要素之一是去中心化的思想——区块链网络中的任何中央机构、中介或参与者都不应该拥有太多的权力。

我们现在在工作量证明中看到的是一场军备竞赛。 为了尽可能提供挖矿效率,矿工们会不惜购买各种设备、专用硬件、专用挖矿设备,以获得竞争优势。 其中最有利可图的是可以使用廉价电力的大型数据中心。

现在,比特币网络几乎 80% 的处理能力都集中在中国的六个大型数据中心。

许多区块链支持者和纯粹主义者认为,一个地理区域不应该享有如此程度的中心化(我本人也同意这种观点)。

我们希望通过权益证明来改变这种现状。 权益证明去除了群体共识的工作模块,取而代之的是一种专门形式的博弈机制。

权益证明的设计理念是任何人拥有任何设备都可以参与共识决策过程,而无需专用硬件来达成共识。

这些设备可能是您长时间未在办公桌上使用过的旧笔记本电脑、智能手机、平板电脑或 iPad。

股权证明支持更广泛和更分散的设备选择,允许更大的网络规模参与共识过程。

交易处理速度和去中心化的理念是转向权益证明的巨大推动力。 PoS未来如何发展,我们拭目以待。

今年我们会看到以太坊引入Casper,如果它被证明是一个成功的共识机制,那么将会有更多的区块链追随以太坊的脚步。

当您听到人们争论工作量证明和权益证明的优缺点时,您需要理解这些争论的意义以及我们为什么要从工作量证明转向权益证明。 我们正在努力克服工作量证明的一些重大局限性,到目前为止它运行良好。

我们试图找到一种能够以与传统技术相媲美的速度处理交易的共识机制,这种机制去除了工作量证明本身的一些中心化特征。

参考链接:

- 结尾 -

640?wx_fmt=png