主页 > imtoken钱包官网下载 > 以太坊PoW&PoS Merge即将到来,对应用层有何影响?

以太坊PoW&PoS Merge即将到来,对应用层有何影响?

imtoken钱包官网下载 2023-02-06 07:23:33

()

作者:Tim Beiko,以太坊开发者兼社区经理,以太坊基金会

9c6c5ee81ca4afd7c886ff864fbccfec.png

以太坊网络向权益证明 (The Merge) 的过渡迫在眉睫:开发网络正在建设中,规范正在最终确定中,社区外展的准备工作已经认真开始。 Merge 旨在以对最终用户、智能合约和 dapps 的运作方式的影响最小的方式进行过渡。 也就是说,在此过程中有一些小变化值得强调。 在我们深入研究这些变化之前,这里有一些链接可以让您深入了解 The Merge 的整体架构:

本文的其余部分将假设读者熟悉上述内容。 对于那些想要更深入挖掘的人,下面提供了 The Merge 的完整规范:

1块结构

42d53b01368e68f6c31062f5084b20fa.png

以太坊合并后,网络上将不再存在工作量证明 (PoW)。 相反,之前的 PoW 部分将成为在信标链上创建的区块的组成部分。 然后,您可以将信标链视为以太坊的新 PoS 共识层,取代之前的 PoW 共识层。 信标链块将包含 ExecutionPayloads,它们是当前 PoW 链上块的合并等价物。 下图显示了这种关系:

对于最终用户和应用程序开发人员,这些 ExecutionPayloads 是与以太坊交互的地方。 该层上的交易仍将由执行层客户端(Besu、Erigon、Geth、Nethermind 等)处理。 幸运的是以太坊merge,由于执行层的稳定性,Merge 只引入了最小的破坏性变化。

2 Mining 和 Ommer 区块领域

合并后,之前包含在 PoW 区块头中的几个字段不再使用,因为它们与 PoS 无关。 为了尽量减少对工具和基础设施的破坏,这些字段被设置为 0,或者它们的数据结构等效项,而不是完全从数据结构中删除。 您可以在 EIP-3675 ​​中找到区块字段的完整更改。

84c4655b3b7acffbda35ed0ec0810cab.png

因为 PoS 不会像 PoW 那样自然生成 ommers(又名叔块),每个叔块(ommers)中的这些列表将是空的,而这个列表的哈希(ommersHash)将成为 RLP 编码哈希的空哈希。 列表。 此外,由于 PoW 还包括难度和随机数以太坊merge,因此之后它们将被设置为 0,为它们提供一个字节大小值。

另一个与挖矿相关的字段 mixHash 不会设置为 0,而是包含信标链的 RANDAO 值。 更多内容请见下文。

3 BLOCKHASH & DIFFICULTY 操作码更改

合并后,BLOCKHASH 操作码仍然有效,但该操作码提供的伪随机性将弱得多,因为它不再由 PoW 哈希程序伪造。

相关地,DIFFICULTY 操作码 (0x44) 将被更新并重命名为 RANDOM。 一旦合并,它将返回信标链提供的随机信标的输出。 因此,与 BLOCKHASH 相比,此操作码将是应用程序开发人员使用的更强的随机性来源,尽管仍然存在偏差。

RANDOM 暴露的值会存储在 ExecutionPayload 中,ExecutionPayload 中存储的是与 PoW 计算相关的 mixHash 值。 Payload的mixHash字段也会改名为random。

这是合并前后 DIFFICULTY 和 RANDOM 操作码如何工作的说明:

99cd95e2bd9d7349cdd5b6dbe603959a.png

在合并之前,我们看到 0x44 操作码返回了区块头中的难度字段。 合并后,重命名为 RANDOM 的操作码指向一个块头字段,该字段之前包含一个 mixHash,现在存储来自信标链状态的随机值。

这一变化在 EIP-4399 中正式化,还为链上应用程序提供了一种评估合并是否发生的方法。 根据这个EIP的介绍:

此外,此 EIP 提出的更改允许智能合约确定是否已升级到 PoS。 这可以通过分析 DIFFICULTY 操作码的返回值来完成。 如果该值大于 2**64,则表示交易正在 PoS 区块中执行。

4 出块时间

合并将影响以太坊的平均出块时间。 目前在PoW下,平均每13秒左右产生一个区块,实际出块间隔时间有较大差异。 在权益证明下,块间隔将恰好为 12 秒,除非由于验证器离线或因为他们没有及时提交块而错过一个槽。实际上,槽会发生这种情况

这意味着网络上的平均阻塞时间减少了约 1 秒。 在计算中假设某个平均出块时间的智能合约需要考虑到这一点。

5 安全头和最终块

在 PoW 下,区块重组总是可能的。 应用程序通常会等待在新的安全头上挖掘出几个区块,然后再考虑它不太可能从规范链中删除,或者已经“确认”。 合并后,我们有了最终安全头块的概念。 这些块可以比“确认的”PoW 块更可靠地使用,但需要改变理解才能正确使用。

最终区块是指已被超过 2/3 的验证者接受为规范的区块。 要创建一个冲突块,攻击者必须销毁至少 1/3 的 ETH 总量,在撰写本文时,这意味着超过 100 亿美元(或 >250 万)的 ETH。

安全头是我们希望在正常网络条件下包含在规范链中的块。 假设网络延迟小于 4 秒,大多数验证者是诚实的,没有对分叉选择规则的攻击,那么安全头永远不会成为孤块。 此处提供了详细介绍如何在各种情况下计算安全水头的演示文稿。 此外,安全头的假设和保证将在即将发表的论文中正式定义和分析。

合并后,执行层 API(例如 JSON RPC)在请求最新区块时将默认返回安全头。 在正常的网络条件下,安全头和实际的链顶将是等价的(安全头和尾只有几秒钟)。 与当前的 PoW 最新区块相比,安全头重组的可能性更小。 为了暴露 PoW 链的实际尖端,将在 JSON RPC 中添加一个不安全标志。

最终区块也将通过 JSON RPC,通过一个新的最终标志公开。 这些可以作为 PoW 证明的更强大替代品。 下表总结了这一点:

块型共识机制 JSON RPC 重组条件 headPoWlatest 可预期且必须谨慎使用 headPoSunsafe 可预期且必须安全使用 headPoSlatest 可发生,但需要较大的网络延迟或对网络的攻击才能实现。 confirmedPoWN/A 不太可能发生,因为需要大部分计算能力来挖掘深度 > #confirmed 的竞争链。 finalizedPoSfinalized 是极不可能的,因为需要超过 2/3 的验证者来完成竞争链,并且至少有 1/3 需要被削减。

517b814c52c18dcb9ab4f0fdcd07a368.png

6 下一步

我们希望这篇文章能帮助应用开发者为备受期待的 PoS 过渡做好准备。 在接下来的几周内,测试网将可供更广泛的社区进行测试。 还有一个即将推出的 The Merge 社区,呼吁基础设施、工具和应用程序开发人员提出问题并听取 The Merge 的最新技术更新。

---------------------------------------------- ------------------------------

感谢 Mikhail Kalinin 提供“安全头部”部分的核心内容,感谢 Danny Ryan 和 Matt Garnett 审阅本文草稿。

---

【区块链职业技能等级培训】第四期中级课程开课倒计时6天! 最后一个月真的不给自己冲刺吗? 让我们带你了解区块链的典型应用,教你独立开发DAPP,进阶为行业专业人才。

需要学习,扫描二维码找海燕咨询,领券买课! 课程详情:

5be354d9b9d92f2113553fa81caf0f97.png