什么是共识?初学者区块链指南

目录

区块链中的共识是什么?

为什么区块链需要共识机制?

区块链和拜占庭将军问题

拜占庭将军代表链上的节点

节点可能会发生故障。

区块链共识

共识机制的类型

        工作量证明(Proof of Work, PoW)

        权益证明(Proof of Stake, PoS)

        委托权益证明 (Delegated Proof of Stake, DPoS))

        活动证明 (Proof of Activity, PoA) )

         权威证明(Proof of Authority, PoA)

        燃烧证明(Proof of Burn, PoB)

        容量证明/空间证明(Proof of Capacity/Proof of Space, PoC/PoSpace)

        经过时间证明(Proof of Elapsed Time, PoET)

        历史证明(Proof of History, PoH)

        重要性证明 (Proof of Importance, PoI)


区块链中的共识是什么?


        根据区块链及其应用的不同,有许多不同类型的共识机制。虽然它们在能源使用、安全性和可扩展性方面有所不同,但它们都有一个共同的目的:确保记录真实可信。

为什么区块链需要共识机制?


        共识机制构成了所有加密货币区块链的支柱,也是确保它们安全的原因。在深入研究不同的共识机制之前,我们首先定义一下区块链达成共识意味着什么。


        区块链是一种去中心化、分布式且通常是公共数字账本,用于记录交易。每笔交易都被记录为一个数据“块”,在添加到链中之前需要由点对点计算机网络独立验证。该系统有助于保护区块链免受欺诈活动的影响,并解决“双花”问题

想象你有一张100元的纸币:

  • 在实物世界中,当你用这张钱购物后,这张钱就不在你手中了。
  • 但在数字世界中,如果没有适当的机制,你可能会"复制"这100元并多次使用。

        为了保证区块链网络中的所有参与者都同意单一历史版本,比特币和以太坊等区块链网络实施了所谓的共识机制(也称为共识协议或共识算法)。这些机制旨在使系统具有容错能力。


        接下来我们由 拜占庭将军问题 来更好的理解“共识”

区块链和拜占庭将军问题


        区块链的发明是为了解决拜占庭将军问题
,这对于分布式计算系统来说尤其是一个问题,其中组件可能会发生故障,并且关于组件是否发生故障的信息不完善。

       为了清楚地说明问题,我们先来看一个故事:

        一群将军,每人指挥一部分拜占庭军队,包围了一座城市。他们必须决定是进攻还是撤退。但无论他们做出什么决定,最重要的是他们达成共识。但很难达成共识,因为将军们不知道其他将军的决定。

考虑以下几点:

  • 共有三名将军:A、B、C。
  • 将军必须同时攻击敌人;否则,他们可能会面临失败的风险。
  • 将军们没有有效的即时沟通方式。
  • 因此,他们需要给别人发送快递来传递他们的消息。
  • 他们必须确认其他将军会同时进攻。
  • 因此,将军们在发动攻击之前,必须在彼此之间传递消息并确认。

        当我们考虑到可能存在叛徒时,问题就变得更加复杂。我们无法保证所有的信使都是值得信赖的;最重要的是,信使可能会被捕获并被迫传递伪造的消息。


从上面的故事,结合区块链,我们可以推断:


拜占庭将军代表链上的节点


        每个共识由代表一个区块(即一组有效交易)的一组将军形成。诸将必须互相确认决定达成共识后才能发起协同攻击。类似地,在区块链上,所有节点必须就下一个要确认的区块达成一致。


节点可能会发生故障。


        例如,如果其中一个节点共享不一致的信息(称为恶意节点)或无法响应,则网络可能会遇到问题。


        这就是为什么每个人都必须承认其他人都知道的信息。同时,每个人都需要了解彼此所掌握的信息;它创造了一个场景,其中大多数人承认和知道的信息是最终决定(即共识)。

区块链共识


        拜占庭将军问题是理解共识的一个很好的例子。它需要多个进程(或代理)之间就单个数据值达成一致。共识协议必须具有容错性或弹性,因为某些流程(代理)可能会失败或在其他方面不可靠。这些流程必须以某种方式提出其候选价值观,相互沟通,并就单一共识价值观达成一致。


        那些参与去中心化网络的人使用去中心化服务器(节点)来实现这一点。每个节点都需要就一组预先设定的规则(称为“共识机制”)达成一致,以便参与区块链网络并达成协议。利用这些机制,我们可以解决拜占庭将军问题。

        区块链共识是区块链网络的对等方就网络中数据的当前状态达成一致的过程。通过这一点,共识算法建立了区块链网络的可靠性和信任。这包括验证交易、决定交易顺序,以及确认新区块的有效性。

要点:

        1. 共识机制(也称为共识协议或共识算法)用于验证交易并维护底层区块链的安全性。

  •         2. 有许多不同类型的共识机制,每种机制都有不同的优点和缺点。

        3. 工作量证明(PoW)和权益证明(PoS)是两种最广泛使用的共识机制。

共识机制的类型

以下概述了分布式系统用来达成共识的一些最著名的共识机制类型。

        工作量证明(Proof of Work, PoW)


        工作量证明(PoW)被比特币和许多其他公共区块链使用,是第一个创建的共识机制。尽管
人们普遍担心可扩展性,但它通常被认为是所有共识机制中最可靠和最安全的。虽然“工作量证明”一词首次在 20 世纪 90 年代初被创造,但比特币创始人中本聪 (Satoshi Nakamoto) 最先将该技术应用于数字货币。


        在工作量证明中,“矿工”本质上是相互竞争,使用高性能计算机解决极其复杂的计算难题。第一个提出 64 位十六进制数字(“哈希”)的人将获得形成新区块并确认交易的权利。成功的矿工还会获得预定数量的加密货币奖励,称为“区块奖励”。


        由于生成新区块需要大量的计算资源和能源,因此 PoW 背后的运营成本非常高。这成为新矿工进入的障碍,导致人们对中心化和可扩展性限制的担忧。


        但不仅仅是成本高。 PoW 最常见的批评是电力消耗对环境的影响。这导致许多人寻求更可持续、更节能的共识协议,例如权益证明(PoS)。

        权益证明(Proof of Stake, PoS)


        顾名思义,这种流行的共识方法围绕着一个称为“Stake 质押”的过程。在权益证明 (PoS) 系统中,“验证者”质押数字货币,以获得随机选择验证区块的机会,从而获得奖励。这个过程就像彩票一样,投入的硬币越多,中奖的机会就越大。


        与 PoW 中矿工受到区块奖励(新生成的代币)激励不同,为 PoS 系统做出贡献的人只需赚取交易费。


        PoS 被视为 PoW 的一种更可持续、更环保的替代方案,并且更安全地抵御 51% 攻击。然而,由于该系统偏向拥有更多代币的实体,PoS 因其可能导致中心化而受到批评。著名的 PoS 平台包括以太坊(于 2022 年
 从 PoW 过渡到 PoS)、Cardano (ADA)、Solana (SOL) 和 Tezos (XTZ)。


        委托权益证明 (Delegated Proof of Stake, DPoS))


        委托权益证明 (DPoS) 是 PoS 共识机制的修改版,依靠基于声誉的投票系统来达成共识。网络用户“投票”选择“见证人”(也称为“区块生产者”)来代表他们保护网络安全。只有顶级见证人(拥有最多选票的见证人)才能获得验证区块链交易的权利。


        为了投票,用户将他们的代币添加到质押池中。然后根据每个选民的股份大小对选票进行加权——参与的利益越多,投票权就越大。成功验证区块中交易的当选见证人将获得奖励,该奖励通常与投票给他们的人分享。


        顶级证人总是面临着被那些被认为更值得信赖、获得更多选票的人取代的风险。如果他们未能履行职责或试图验证欺诈交易,他们甚至可能被投票淘汰。这有助于激励证人始终保持诚实,确保区块链的完整性。


        虽然 DPoS 不如 PoS 普遍,但许多人认为 DPoS 比其前身更高效、更民主、更具金融包容性。 Lisk (LSK)、EOS.IO (EOS)、Steem (STEEM)、BitShares (BTS) 和 Ark (ARK) 使用它。

        活动证明 (Proof of Activity, PoA) )


        活动证明(PoA)是 PoW 和 PoS 共识机制的混合体。它被 Decred (DCR) 和 Espers (ESP) 区块链项目使用。


        在 PoA 系统中,挖矿过程像 PoW 一样开始,矿工们竞相使用巨大的计算能力来解决复杂的数学问题。然而,一旦区块被开采,系统就会切换到类似于 PoS 的状态,并将成功生成的区块头广播到 PoA 网络。然后随机选择一组验证器来签署哈希,从而验证新块。与 PoS 一样,验证者持有的加密货币越多,被选中的机会就越高。一旦每个选定的验证者都签署了该块,它就会被添加到区块链网络中并准备好记录交易。然后,区块奖励将在成功的矿工和选定的验证者之间共享。


        尽管 PoA 系统的设计初衷是结合 PoW 和 PoS 的最佳功能(同时避免其缺点),但它因其能源密集型挖矿阶段以及对持有更多代币的验证者的固有偏好而受到批评。

         权威证明(Proof of Authority, PoA)


        不要与活动证明(也称为“PoA”)混淆,权威证明(PoA)的工作原理是根据声誉选择验证者。它是 PoS 的修改版本,由以太坊联合创始人、前 CTO Gavin Wood 在 2017 年提出。


        在权威证明中,验证者不押注代币。相反,他们必须赌上自己的声誉来争取验证区块的权利。这种需要参与者识别自己身份的许可区块链与大多数区块链协议有很大不同,大多数区块链协议通常不需要用户透露其身份即可参与。


        由于这种机制几乎不需要计算能力,因此它比它的一些前身(尤其是 PoW)消耗的资源要少得多。它也是成本较低的选择之一,并且深受私有网络的青睐,例如摩根大通(JPMCoin)。其他基于 PoA 的项目包括 VeChain (VET) 和以太坊 Kovan 测试网。


        尽管具有高度可扩展性,但它在去中心化方面受到了损害,因为只有少数人可以参与网络。此外,验证者可识别的要求也增加了腐败和第三方操纵的风险。

        燃烧证明(Proof of Burn, PoB)


        比特币 PoW 算法的另一种更可持续的替代方案是燃烧证明(PoB),矿工通过以可验证的方式“燃烧”(销毁)预定数量的代币来获得开采区块的能力,即将它们发送给“吃者”地址’无法收回或花费的地方。矿工燃烧的币越多,被随机选择的机会就越大。


        与 PoS 不同的是,在 PoS 中,矿工一旦离开网络就可以取回或出售锁定的代币,而烧毁的代币是无法挽回的。这种要求矿工牺牲短期财富以获得创建新区块的终生特权的方法有助于鼓励矿工的长期承诺。焚烧硬币的行为还会导致硬币稀缺,限制通货膨胀并推高需求。


        使用 PoB 协议的加密货币包括 Slimcoin (SLM)、Counterparty (XCP) 和 Factom (FCT)。


        容量证明/空间证明(Proof of Capacity/Proof of Space, PoC/PoSpace)

 
        与大多数基于计算能力或押注硬币授予采矿权的前身不同,容量证明(PoC)——也称为空间证明(PoSpace)——其采矿算法基于矿工硬盘上的可用空间量。驾驶。


        在 PoC 中,矿工在称为“绘图”的过程中预先生成所有可能的哈希值的列表。然后这些图被存储在硬盘上。矿工的存储容量越大,可能的解决方案就越多;解决方案越多,拥有正确的哈希组合并赢得奖励的机会就越大。


        由于不需要昂贵或专门的设备,PoC 为普通人参与网络提供了机会。因此,它是上述一些流行共识机制的一种能源密集度较低、去中心化程度更高的替代方案。然而,到目前为止,还没有多少开发者选择采用该系统,并且人们担心它容易受到恶意软件攻击。该机制目前由 Signum (SIGNA) — 以前的 Burstcoin (BURST) — Storj (STORJ) 和 Chia (XCH) 使用。


        经过时间证明(Proof of Elapsed Time, PoET)


        经过时间证明(PoET)通常用于许可的区块链网络,利用可信计算来强制区块构建的随机等待时间。它由 Intel 于 2016 年初开发,基于一组称为 Intel Software Guard Extensions (SGX) 的特殊 CPU 指令。


        PoET 是一种基于时间抽签的共识算法,其工作原理是为网络中的每个节点随机分配不同的等待时间。在等待期间,每个节点都会在指定的时间内进入“睡眠”状态。第一个醒来的人(即等待时间最短的人)将获得采矿权。这种随机化保证每个参与者都有相同的机会成为获胜者,从而确保网络内的公平性。


        PoET共识机制高效、资源占用少、可扩展。它已在 Hyperledger 的 Sawtooth 中实现。

        历史证明(Proof of History, PoH)


        顾名思义,历史证明(PoH)提供历史事件的证明。 PoH 由 Solana 开发,允许将“时间戳”内置到区块链本身中,无需依赖其他节点即可验证交易之间的时间流逝。


        这种时间戳方法由所谓的 SHA-256、顺序散列可验证延迟函数 (VDF) 启用。它的工作原理是获取交易的输出并将其用作下一个哈希的输入,这使得任何人都可以清楚地看到特定序列中发生了哪个事件。由于 VDF 只能通过单个 CPU 分数来解决,PoH 大大降低了区块链的处理重量,使其比许多同时代的区块链更快、更节能。


        由于 PoH 仅被 Solana 使用,因此尚未进行大规模测试。


        重要性证明 (Proof of Importance, PoI)


        重要性证明 (PoI) 首先由 NEM 网络 (XEM) 引入,在称为“收获”的过程中根据特定标准选择矿工。常见因素包括过去 30 天内的交易数量和规模、既得货币数量以及网络活动。基于这些因素,节点的重要性得分被赋予。分数越高,节点被选择收获区块并收取相应交易费用的概率就越高。


        尽管与 PoS 类似,但 PoI 对额外指标的使用消除了前者通过考虑参与者对网络的整体支持来固有地奖励富人的倾向。因此,仅仅在 PoI 中投入高额并不一定能保证赢得区块的机会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值