🎄 圣诞季相遇 Gate 广场,共享节日惊喜!
🎉 Gate 广场社区成长值「圣诞抽奖狂欢」第 1️⃣ 5️⃣ 期火热开启!
立即参与 👉 https://www.gate.com/activities/pointprize?now_period=15
✨ 如何参与?
1️⃣ 前往 Gate 广场【积分中心】完成日常任务,轻松赚取成长值
2️⃣ 每累计 300 成长值,即可抽奖一次!
🎁 圣诞豪礼等你解锁:
金条 10g、Gate 圣诞限定周边等超值好礼,统统带回家!
📅 12 月 18 日 - 12 月 26 日 24:00 (UTC+8)
🎅 圣诞好运不停,惊喜轮番来袭!
了解更多 👉 https://www.gate.com/announcements/article/48766
#BTC #ETH #SOL #GT
以太坊Prysm客户端事故复盘:单个epoch缺失248个区块,验证者损失382 ETH
【比推】12月4日,以太坊主网经历了一场比较严重的技术波澜。Prysm客户端团队最近发布了详细的事故复盘报告,还原了当时发生的一切。
那天Fusaka时段,Prysm信标节点在处理某些attestations时出了大问题——节点资源瞬间耗尽,导致验证者请求积压,区块和见证大量缺失。数字很扎心:从epoch 411439到411480,共42个epoch的时间里,1344个slot中缺失了248个区块,缺失率达到18.5%。网络参与率甚至一度跌至75%,验证者因此损失了约382 ETH的见证奖励。
根本原因是什么呢?Prysm接收到了来自可能已失去同步的节点发来的attestations,这些数据引用的是前一个epoch的区块根。为了验证这些数据的合法性,Prysm不得不反复回放旧的epoch状态,执行高成本的epoch transition操作。在并发请求堆积的情况下,节点最终触发了资源耗尽。有意思的是,这个缺陷源自Prysm PR 15965,早在一个月前就已经部署到测试网了,但当时没有触发相同的问题场景。
修复方案分两步走。首先,v7.0.0版本中启用了–disable-last-epoch-target参数作为临时止血。然后随后发布的v7.0.1与v7.1.0包含了长期修复方案——改用head state来验证attestations,彻底避免重复回放历史状态。问题从UTC 4:45后开始逐步缓解,到epoch 411480时网络参与率已经恢复到95%以上。
Proyms团队也借此机会进行了深度反思。他们指出,这次事件再次证明了客户端多样性的重要性。如果单一客户端占比超过三分之一,可能导致网络短暂无法终局;超过三分之二就存在整条链失效的风险。同时,团队也承认了功能开关沟通不清的问题,以及测试环境无法有效模拟大规模节点不同步场景的不足,后续会改进测试策略和配置管理。