Base详解主网两天内两次停止出块的原因
摘要
Base的最新事后分析显示,同一个排序器漏洞导致主网在连续两天内两次停止出块。资金保持安全,但在Base暂停生成新的L2区块期间,交易队列出现溢出。团队计划在故障后加强模糊测试、负载测试、监控和恢复工具。
这家由Coinbase支持的以太坊二层网络表示,两次故障均源于排序器区块构建逻辑中的同一个漏洞。第一次故障始于6月25日,持续约116分钟;第二次始于6月26日,持续约20分钟。Base称两次事件中资金均保持安全。
排序器漏洞导致区块生产停止
在官方事后分析中,Base表示一笔无效交易在执行过程中按预期失败。问题出现在失败之后:区块构建器内残留了过时的日志状态。6月25日和26日,Base主网两次出现区块生产中断,均由区块构建器逻辑中的同一个底层漏洞引起。
该过时状态包含了被失败交易触及的账户和存储槽。当随后一笔有效交易到来时,系统使用了错误的日志状态并错误地计收了Gas费用。这导致生成了一个状态转换无效的区块,其他节点无法接受该区块,因此链停止了新的L2区块生产。
“链的完整性未受损害,Base上的所有资金都是安全的,”Base表示。团队补充说,在采取缓解措施后,区块生产已安全恢复。
中断期间交易排队等待
故障期间,用户无法将新交易上链。Base称,在链等待区块生产恢复时,交易在内存池中排队等待。随后交易池增长超出其存储能力,导致在故障窗口期内新的eth_sendRawTransaction请求返回错误。该中断还影响了排序器和验证节点的进度。Base表示,这些节点在排序恢复之前无法越过无效区块。
此前,Base于6月25日首次标记出异常的区块生产状况,随后工程师定位到一个与无效区块相关的共识问题。
补丁修复过时状态问题
Base表示,通过应用排序器补丁修复了主要漏洞。该补丁确保在失败交易后,执行过程中日志状态能正确更新。团队在恢复过程中还发现了第二个问题。Base称缓解措施耗时更长,是因为引擎重置功能中的竞态条件导致排序器在重启后无法及时跟上。这一第二个问题解释了为何故障在第二天再次出现。Base表示该问题影响了排序器而非验证节点,但仍拖慢了恢复速度。
Base状态页面显示排序已于6月25日恢复。同时它提醒生态节点运营商,如果节点仍然卡住,请重启Base节点。
测试与恢复变更计划
Base表示将加强协议模糊测试和负载测试。这些方法有助于团队发现可能暴露隐藏漏洞的异常交易模式。团队还计划改进监控和运营检查,以帮助工程师更早发现类似问题并更快响应。Base还希望在base-consensus中添加优雅恢复机制,该变更将使验证节点在类似故障后更容易继续同步。
此次故障发生在该网络繁忙的一周内。Base还推进了其Beryl升级,该升级引入了B20代币标准,并将标准的Base到以太坊提现周期从七天缩短至五天。这次事件让开发者和用户更清晰地看到了薄弱环节。Base现已明确指出该漏洞、发布了补丁,并列出了计划改进的测试项目。

资金费率
资金费率热力图
多空比
大户多空比
币安/欧易/火币大户多空比
Bitfinex杠杆多空比
账号安全
资讯收藏
自选币种