主页 > imtoken苹果地址 > 以太坊 2.0:Casper 和信标链
以太坊 2.0:Casper 和信标链
点击上方“统一时代”订阅!
unitimes.io
全球视野,独到见解
作者|科林施瓦茨
编译 | 强尼
背景资料
在本系列的第一篇文章“”中,我们概述了以太坊网络迄今为止的历史,并解释了备受期待的 Eth 2.0 将解决的主要问题。 在第二篇文章《》中,我们介绍了Eth2.0中有望实现的Plasma、状态通道等Layer 2扩容方案,以及Sharding(分片)扩容方案。 在本文中,我们将探讨 Eth2.0 将使用的 Casper 共识机制,并介绍实现 Casper 机制的信标链。 建议读者结合前两篇文章,对Eth2.0有更深入的了解。
共识算法
在传统的价值和信息交换网络中,通常有一个中介来保护和验证网络。 例如,银行为客户的资产提供安全保护,并集中控制客户的在线交易和信息。 在区块链领域,由于区块链网络是去中心化的,不需要这样的中介。
由于没有中间人,区块链网络必须使用某种形式的系统来维护安全并确保添加到分布式分类帐中的新信息的有效性。 [1]
也就是说,区块链网络中的大多数节点必须就单一版本的网络状态“达成共识”,以确保网络安全。
为实现这一目标,区块链使用各种“共识算法”以太坊质押是什么意思,这是一组写入协议代码的预定义规则,允许网络达成共识并实现最终性。 终局性是指“一旦完成特定操作,该操作将永久铭刻在历史记录中,且不可逆转”。 [2] [备注,关于区块链的最终性,读者可参考Unitimes此前发表的文章《》]。
共识算法决定了网络的安全性、确认速度以及交易在分布式账本中的排序和验证方式,从而提供真实的账本记录。 这确保以去中心化的方式,添加到区块链的新块将是系统中唯一的真实版本。
工作量证明(PoW)是比特币最早使用的区块链共识算法,它保证了比特币网络的安全性和去中心化。 最近,许多其他区块链平台出于多种原因引入了其他共识算法,例如 PoS(股权证明)、DPoS(代理股权证明)和 PoA(权威证明)。
为什么需要 PoS?
比特币等工作量证明 (PoW) 系统涉及许多通过计算机硬件连接到区块链网络的矿工。 PoW 共识算法会为每个新区块设定一个目标值,矿工们会竞争第一个找到目标值并添加新区块,从而获得挖矿奖励。
为此,他们通过返回/输出固定长度字符串(哈希值)的哈希函数运行提议区块的标头数据。 矿工会不断改变他们输入的“nonce 值”,即重新哈希区块头,直到输入的“nonce 值”生成与目标值匹配的哈希值。 此时,新区块将广播给网络中的所有节点,这些节点将验证该区块并将其添加到账本中,成功挖出该区块的矿工将获得挖矿奖励。
PoW 系统的关键方面是找到正确的哈希输入需要大量的计算能力(即存在挖矿难度),但是一旦矿工找到了正确的输入(即“nonce 值”),就很容易验证输出(即哈希函数返回的哈希值)。 挖矿过程的难度保证了网络的安全,节点对每个区块的验证相对简单,这使得成千上万的网络节点能够保持区块链的最新记录。
但不幸的是,通过哈希找到每个目标值的难度需要大量的计算能力和电力,这降低了网络的效率和矿工的利润。 所有矿工都必须花费大量的电力和计算来尝试确认区块并赢得奖励,但只有其中一个能够成功挖出一个新区块。 正因为如此,每个区块的挖掘都浪费了大量的电力和计算。 这意味着虽然 PoW 算法可以保证网络的安全,但是算法的效率非常低。
除了 PoW 区块链的低效率之外,挖矿空间也容易受到市场垄断的影响,因为这种挖矿方法为那些拥有更多资源的参与者提供了不公平的优势。 有钱有势的个人和组织可以买得起许多速度更快、功能更强大的挖矿硬件,这让他们有更好的机会成功挖出新的硬币。 目前,约 65% 的比特币挖矿由 5 个大型矿业集团完成,理论上它们可以联合起来控制超过 50% 的算力市场(尽管它们不太可能这样做)。 这造成了比特币和其他 PoW 区块链网络不像最初设想的那样去中心化的情况,这危及了它们的独立性和实用性。
PoS(Proof of Stake)最早出现于2012年,是为了解决PoW机制在效率、成本和中心化等方面的问题而提出的。 事实上,以太坊团队从项目一开始就计划过渡到 PoS,但直到最近才制定计划通过 Casper 机制进行过渡。 在 PoS 系统中,整个挖矿过程都是虚拟的,无需昂贵且低效的挖矿硬件。 能源消耗被经济激励和博弈论所取代,作为保护网络和验证区块的一种手段。
在 PoS 网络中,“矿工”被拥有网络原生代币的“验证者”所取代。 验证者通过质押一定数量的代币(包括提议区块和证明区块)参与网络中的区块验证。 如果提议/证明的区块被添加到网络中,那么提议/证明该区块的验证者将获得与其股份成比例的奖励。 在 PoS 网络中,由于没有像 PoW 那样的挖矿,使得它的成本效益和能源效率是 PoW 系统的数千倍。
“无利害关系”问题
实现 PoS 共识证明算法的最大问题之一是“Nothing at Stake”问题。 自 2013 年以来,人们一直在试验 PoS 共识,Peercoin 等早期采用者很快就遇到了这个问题 [4]。
PoS 协议的早期采用允许拥有网络本地令牌的任何人充当网络验证器。 这些 PoS 项目假设拥有代币的人对网络的成功有既得利益(即会为了自己的利益自发地作为验证者参与,并诚实地验证)。
那些拥有更多代币的人被赋予更多的验证权力,前提是拥有更多代币的人几乎没有攻击的动机。
然而,早期的 PoS 项目很快意识到这种逻辑是有缺陷的。 通常,矿工/验证者只得到一个区块来验证。 然而,由于延迟,通常会提出多个区块,矿工/验证者会收到两个区块供其选择。
在传统的 PoW 系统中,矿工一次只能在一条分叉链上挖矿 [5]。 要想成功用之前的“权威链”(即最长链)替代一条非法分叉链,需要拥有全网50%以上的算力,这对于比特币这样的大型PoW区块链网络来说是极高的. 非常困难。
在 PoS 网络中,验证者可以同时验证两条不同分叉链上的区块,无需承担额外费用。 事实上,在采用 PoS 的早期阶段,在任何可用的分叉上进行质押在理论上符合验证者的经济利益,因为通过这样做,验证者将获得交易费奖励,这就是“Nothing at Stake(无成本去做)恶,利益无限)”的问题。
此类问题的最坏后果可以通过以下安全假设来说明:
验证者会尝试最大化自己的利润,即使这会伤害整个网络;
没有验证者会无私地验证(块只在一条链上验证);
验证者将修改他们的软件,或下载修改后的软件,允许他们验证多个分叉链(具有内部逻辑的标准软件,可以在分叉发生时选择正确的分叉链)。
由于上述安全假设,可能会出现多个分叉链,这将延迟和复杂化网络共识。 如果不解决,还可能导致网络出现重大安全漏洞。 如果每个验证者都能真正验证网络中每条分叉链的区块,那么恶意验证者就可以进行双花攻击(即同一个代币花费多次)。 他们可以通过其中一个分叉将代币发送到交易所,从该交易所提取代币,然后只验证另一个分叉上的块。
由于假设所有验证器都针对两条不同的分叉链进行验证,因此第二条链将获得越来越多的证明并最终成为唯一有效的链。 这意味着之前在第一条分叉链上花费并从交易所撤回的代币交易将不再有效。 这样就发生了一次成功的双花支出,无论金额有多大,交易所都被骗走资金。
实际上,这几乎是不可能的场景,因为必须有许多诚实的验证者,并且他们只验证一个正确的分叉链。 更有可能的情况是,攻击者需要在网络中拥有1%以上的验证权限,或者贿赂、合谋其他验证者来完成更复杂的群体攻击。 无论哪种方式,早期的 PoS 算法都不如 PoW 算法安全,PoW 算法在可能发生 51% 攻击之前是安全的。
简而言之,在 PoS 的早期尝试中,没有要求每个验证者投入实际价值,这使得网络可能会延迟、复杂且不安全。
“无利害关系”问题的解决方案:Casper
幸运的是,以太坊团队吸取了早期 PoS 项目的不足,设计了 Casper 协议来消除“Nothing at Stake”问题。 2014年,Vitalik在一篇名为《Slasher》的文章中首次提出了消除“Nothing at Stake”问题的想法[5]。 该论文提出了一个简单的解决方案:“让主链知道其他分叉链。以后,如果有矿工被抓到同时在两条链上挖矿,矿工将受到惩罚。”
尽管这个概念自提出以来已经有了很大的发展,但它成为了 Casper 共识算法的基础。
Casper 是一种算法,用于惩罚验证多个分叉链或对网络造成破坏的验证者。
Casper 的第一个实现将使用以太坊当前的 PoW 提案机制在 Eth2.0 链上引入新的区块。 如果同时提出两个区块,验证者只会在一条链上获得奖励,因此通过当前 Eth1.0 链进行抵押是有意义的,因为这条旧链是最有可能成功的链。
更重要的是,Casper 协议引入了一种机制,如果任何验证者试图通过同时验证多个区块来支持无效的分叉链,则验证者质押的代币资产将被销毁。 这是通过一种特殊的保护机制实现的,该机制强制执行两条“Casper 戒律”[6]:
第一条“Casper诫命”是一个验证者不能在同一个区块高度发出两个不同的投票(即不能在同一个区块高度签署两个不同的区块);
第二条“Casper 诫命”是验证者如果已经投票,则不能在其他投票时间范围内再次投票。
任何违反这些规则之一的验证者都将被视为恶意验证者,他们的全部存款(不仅仅是他们的股份)将被没收。 为了提高网络的可用性,减少交易的审查,节点离线的验证者也会受到适度的惩罚。 详情请参考Unitimes此前发表的文章《》。 Casper 研究员 Vlad Zamfir 将这种新的 PoS 安全机制比作任何人在 PoW 系统中发起 51% 攻击所使用的挖矿硬件都会立即着火燃烧 [2]。
如果 Casper 机制被正确实施,它将消除“Nothing at Stake”问题,让以太坊网络安全地过渡到 PoS 机制。
Casper 实际上是以太坊基金会进行的两个不同但相关的研究项目的合并,即 Casper the Friendly Finality Gadget (FFG) 和 Casper the Friendly GHOST:Correct-by-Construction (CBC)。
Casper FFG 将使以太坊从 PoW 共识机制平滑过渡到 PoS 共识机制。 因此,Casper FFG 模型通过将这个新的 PoS 协议叠加在当前的以太坊 PoW 协议上来集成这个新的 PoS 协议。 区块仍然通过 PoW 进行开采,但每个 epoch 期间的最后一个时隙是 PoS 检查点(每生成 64 个区块(约 6.4 分钟)称为一个 epoch),网络验证者将在检查点评估自上次检查点以来的区块最终性. Casper CBC 将在 FFG 之后实施,以完成向 PoS 共识的过渡。
信标链
Casper 权益证明机制将通过信标链来实现,信标链将是一条与当前以太坊 PoW 链并行运行的独立链。 信标链将作为Eth2.0链的“系统链”,其主要职责是存储和维护验证者注册表,处理分片链和信标链之间的交联,并在每个epoch开启链. 给每条分片链随机分配验证者(Eth2.0 系统中将有 1024 条分片链)等等。
用户可以通过在将部署在当前旧以太坊链上的智能合约中发送 32 ETH(存款)来参与信标链的权益证明协议。 这笔存款将生成一张收据,其中将包含一个 ID,显示该验证器被分片到哪个分片链(阅读这篇文章 [12] 以了解有关分片的更多信息)。
用户质押后,将成为信标链中的待定验证者。 等待一段时间后,用户将被“激活”成为活跃的验证者,然后可以参与 PoS 协议验证 [9]。 只有在信标链处理完来自 Eth1.0 链的质押回执后,用户才能被“激活”为有效的验证者。 激活的验证者将轮流提议新的区块并对区块的有效性进行投票。
Casper 早期版本会使用现有的 PoW 提案机制,后期版本会使用更高效的提案机制。 Vitalik 设想“将区块提案转化为 PoS 循环区块签名机制”。 [6] 为了防止验证者串通发起攻击,信标链通过在链中实施随机性区块提议/投票验证,将验证者随机分配到不同的分片 [8]。 如果验证者不知道他们什么时候会被分配到哪条分片链上,就可以防止他们提前串通起来发动攻击。
如果发生分叉,验证者将使用其客户的信标链分叉选择规则来自动选择正确的链。 分叉选择规则使用“Last Message DriVEN Greediest Heaviest Observed SubTree(LMD GHOST,最新消息驱动的GHOST)”来确定哪条链是“规范链”。 如果潜在的攻击者想要验证错误的分叉链,他必须手动修改或消除 LMD GHOST 分叉选择规则。 [备注:关于LMD GHOST的更多信息,读者可参考Unitimes此前发表的文章《》]
对于每个区块,将选择其中一个活跃的验证者来提议一个新的区块,而其他验证者将投票证明该区块的有效性。 Casper 的早期版本要求验证者为他们提交的每个证明发送链上交易,但这会增加主链的负载并加剧 Eth 2.0 旨在解决的可扩展性问题。 按照目前的设计,信标链将负责 PoS 机制,这样验证者投票就不会在 PoW 链或分片链上争夺空间 [8]。
证明将是信标链负载的主要来源,因此尽可能聚合证明很重要。 证明可以是分片链中验证者对分片链中区块的投票,也可以是信标链中验证者对信标链中区块的投票 [7]。 一旦每个分片链区块都获得了足够的证明(也就是投票)以太坊质押是什么意思,该区块就会被添加到分片链中,分片链将通过一种叫做交联(cross-link)的方法进行传递。 作品的状态提交给信标链进行证明。 跨链也将在实现分片链之间的异步跨分片通信方面发挥重要作用。
路线地图
信标链(即 Eth2.0 的第 0 阶段)预计在 2020 年初上线,但前提是系统中质押的 ETH 数量达到最低数量要求,并且至少有三个生产就绪客户端,信标链就可以上线了。 启动成功。 第一阶段和第二阶段预计分别在 2021 年和 2020 年进行。
Phase 1 将介绍基本的分片链结构,本质上是分片结构的试运行阶段,用于测试分片系统将如何运行。 因此,第一阶段不会立即实现分片的全部可扩展性潜力。 此阶段将解决分片链的共识和最终性问题,并将允许信标链监控分片链的执行。
第 2 阶段将见证一个完全集成的 Eth2.0 系统,其中分片成为功能齐全的链。 第二阶段还将引入全新的以太坊虚拟机 eWASM。
值得注意的是,虽然这些阶段在概念上是分开的,但由于阶段之间的相互关联,每个阶段的工作都是同时进行的。
此外,目前正在努力改进 Eth1.0 链,也称为 Eth 1.x,旨在通过客户端优化提高网络的吞吐量,并实施“状态费用”以确保全面运行。 节点的可持续性,以及稳定的交易费用和可用于将 Eth1.x 链连接到 Eth2.0 链的终结性小工具的开发。
特别感谢 Marin Petrunić 和 Aidan Hyman 审阅本文并提出许多宝贵建议。 此外,如果没有该领域许多其他伟大作者和研究人员的工作,这篇文章是不可能的。 感谢所有参与创建和发布本文中引用的资源的人!
文章中涉及的链接:
“PoW 与 PoS——辩论的定义。
“
“什么是以太坊 Casper 协议?
“
“以太坊挖矿是如何运作的。”
“理解股权证明:无股权理论。”
“Slasher:一种惩罚性权益证明算法。
“
“Casper the Friendly Finality Gadget。
“
“以太坊 2.0 规范。” Github。
“以太坊 2.0。” 中等的。
“Beacon Casper 连锁谈话。”
“以太坊 Casper 更新预计在 2019 年,分片在 2020 年。
“
Marin Petrunić 的话。
参考:
【文章版权归Unitimes所有,未经许可禁止转载。 合作或授权请发邮件至editor@unitimes.media或加微信unitimes2017】