主页 > imtoken知乎 > 谈谈以太坊合并测试暴露的一些问题

谈谈以太坊合并测试暴露的一些问题

imtoken知乎 2023-10-15 05:08:40

信标链

上周我们发生了一个小事件以太坊测试网goerli合并,信标链参与度下降了大约 8% 大约一个小时以太坊测试网goerli合并,事件发生后我们在 Discord 频道进行了很多讨论,开发人员检查了谁输了提交区块提案后,我们很快发现事故是特库造成的。

以太坊官网文档中文版_以太坊测试网goerli合并_火币网以太坊充值

图:一个小时左右,信标链上的网络参与度下降了 8%

您可以通过我们的验尸报告了解整个事情的全貌。 总结是,在故障发生前的几个小时内,存款合约中的 ETH 存款大幅飙升。 就 ETH 1 链的状态达成一致的机制意味着每 7 小时左右将存款分批到信标链上。 短时间内发生的大约 4,000 笔存款暴露了 Teku 客户端在处理存款方面的一些糟糕表现,并产生了一些令人讨厌的连锁反应。

值得庆幸的是,这个问题只是暂时的,一旦处理完这批存款,网络参与就恢复了正常。 此外,没有切实可行的方法来重复 DoS Teku 客户端:因为存入 4000 笔钱太贵了! 正如评论中所解释的那样,我们已经解决了最初的性能问题并深入研究了底层结构,以使 Teku 客户端在未来更加稳定。 修复版客户端代号为22.3.2‌‌,如果你还没有更新,请尽快更新。

由于Teku客户端的市场份额较小(占比不到33%),此次事故的影响微乎其微,信标链继续前行,没有停下脚步。 如果市场份额最大的客户受到影响,那么后果将是一段相当长的不确定期。 这对每个人都是不利的,尤其是那些运行主流客户端的人,因为他们会因为不活动泄漏机制(负惩罚机制)而受到额外的惩罚。

为了进一步强调客户多样性的重要性,Dankrad 最近发表了一篇深入探讨这些问题的文章。 他写了:

“如果你目前正在运行 Prysm 客户端,那么你会非常担心你可能会损失所有资金,你应该考虑更换客户端。”

有关客户多样性的更多信息:

Freddy 创建了一个财务模型,允许利益相关者量化与运行多数客户相关的风险;

rated.network 更新了他们的前端,以显示每个质押运营商的客户分布;

Vans 上周在 ETH Austin 讨论了客户多样性。 我试图找到这个事件的记录但没有成功,如果你有的话请告诉我。

Dappnode 正在尽其所能! 它目前在 Prater 测试网上支持三个客户端,不久将添加 Nimbus。 这是期待已久的,测试一下,我们很快就会在主网上看到它;

其他信标链新闻:我们正在接近一个重要的技术里程碑。 众所周知,验证器的激活和退出目前限制为每个时期 4 次,即每天 900 次。 一旦网络拥有 327680 个活跃的验证者,那么这个限制将增加到每个时期 5 个,每天 1125 个。 这听起来可能没什么大不了的,但实际上是信标链运作方式的重大变化。 我们应该在下周的某个时候达到这个里程碑。

合并窑测试网

以太坊基金会于 3 月 14 日发布了备受期待的 Kiln 公共合并测试网公告,这是登陆页面。

Kiln 合并事件发生在 3 月 15 日格林威治标准时间下午 3 点后不久,虽然它有点不理想,但最终取得了成功。 合并完成后,统一链继续运行并处理交易。

但是,这个过程也存在一些问题。 在上一次核心开发电话会议中,我们讨论了它们并将它们总结如下:

Prysm 本身和执行层之间存在字节序不一致,这阻止了它生成有效的块。 由于 Kiln 测试网配置了相当均匀分布的共识客户端,因此影响并不显着。 但是,如果客户端分发类似于今天的信标链情况,那么这将是一个重大问题。 这是 Prysm 的活动回顾‌‌。

Nethermind 客户端的一些节点崩溃了。

Erigon 也有一些端序问题。

通过这次测试,我们吸取了一些教训。 涉及的客户数量成倍增加,比平时更难弄清楚发生了什么。 此外,我们现在已经习惯了区块链浏览器不可用的情况。

现在的计划是保持 Kiln 测试网作为公共测试网开放,并鼓励大家尝试一下。 看来 Tenderly、Lido 和 Uniswap 都加入了,如果你想确保合并后你的东西完美运行,现在是时候在 Kiln 测试网上进行测试了。

以下是 Kiln 测试网上的一些教程资源:

如何在 Kiln 测试网上运行节点;

Kiln 测试网的 Lodestar 设置;

Devnet-6 和影子分叉

随着 Kiln 测试网的启动和运行,测试工作只会愈演愈烈。 另一个短期开发网测试网 (Devnet-6) 将于下周上线。

比 Devnet 测试网更有趣的是影子分叉。 这是我们获取现有网络状态并将其镜像到合并后的 PoS 网络的地方。 这意味着当合并发生时,来自真实网络的 tx 可以在影子网络上重播。 Goerli网络是影子分叉网络,计划每两周重复一次。 (由于交易顺序问题,两个网络逐渐不同步,因此影子网络需要不时重新初始化以达到最大效果。)

如果devnet-6和Goerli网络影子分叉都顺利的话,我们计划在两周内完成以太坊主网的影子分叉。 最终会有一个每日更新的影子分叉网络供客户放大任何潜在问题。

之后,开发者会考虑将现有的测试网迁移到 PoS,你可以在 wenmerge.com 跟踪进度(提醒,不要把倒计时看得太严重,我们不是被难度炸弹驱使的,也不会因为那。不过,难度炸弹绝对是决策组合中的因素之一。)

熊猫

现在看来,许多人都期望为合并事件实现 ASCII 艺术横幅(感谢 Greg!)。 Prysm 和 Lighthouse 已经实现,如果任何 ASCII 艺术天才想要帮助 Teku,我们有一个需要帮助的未决问题。

以太坊官网文档中文版_火币网以太坊充值_以太坊测试网goerli合并

合并后升级

合并后网络升级的两大主题(执行方暂定为Shanghai,共识方暂定为Capella)仍然是验证者余额提现和所谓的blob交易。

如前所述,有一个验证者撤回规范‌‌,它是执行变更和共识变更的保护伞。 有 3 个 EIP 需要就共识进行讨论:

PR-2836‌ 是推动取款的基础,即从信标链取款到执行层。 (据我所知,这将要求我们这些拥有遗留 BLS 提款凭据(0x00 前缀)的人在提款前更新为 0x01 凭据。我还没有看到这样做的机制,尽管有一个未解决的问题.)

PR-2854‌ 是一项管理员更新,仅反映此机制不会触发 EVM 执行。 它只会更新 Eth1 账户的余额。

PR-2862‌ 提出了一种机制,用于部分提取超过 32 ETH 的余额。 (这将自动以循环方式从验证者那里清除多余的余额,并将它们以每个时期 256 个验证者的速度转移到相关的 Eth1 帐户,根据当前数字,这相当于每天大约每 6 个验证者一次。你可以在此处阅读此频率的基本原理。)

这些更改的实施方面对应于 EIP-4895‌,好消息是,从验证者提款到你的 Eth1 帐户,无论是全部还是部分,都不会产生汽油费。

至于 Blob 交易提案 EIP-4844‌,它甚至有自己的网站(可见该提案的重要性)。 该站点列出了 Vitalik 编写的 Proto-Danksharding 常见问题解答,是的,proto-danksharding 似乎是此次升级的新名称。

研发和定期开发者电话会议

MEV 仍然是推动以太坊架构未来发展的重要因素。 目前的行进方向存在重大问题,我总是很高兴看到提出替代方案。 一个这样的替代方案是 Shutterized Beacon Chain,它描述了一种在以太坊区块中处理加密交易的机制。

第84次实施者电话会议于​​3月24日顺利召开。

议程

视频

我的速记内容‌‌

第134次核心开发者电话会议于​​3月18日顺利召开。

议程

视频

Tim Beiko 的笔记;

主题:Kiln 测试网启动回顾; 标记为“已完成”、“安全”和“最新”的 JSON RPC; 信标链提现; 原始 danksharding (EIP-4844); 用于协调执行层和共识层的 EIP 流程。

注:原作者为 ConsenSys 开发者 Ben Edgington。