以太坊区块链遭遇短暂分裂,沉睡漏洞引发技术危机
事件概述
以太坊区块链今日发生短暂分裂,起因于一个已被部分修复的沉睡漏洞。虽然目前问题已基本解决,但关于修复方式仍存在争议。该漏洞对以太坊基础设施提供商Infura造成严重影响,导致许多依赖Infura的服务无法与区块链交互,同时多个节点也受到影响。
漏洞根源
据以太坊基金会团队负责人透露,这个漏洞已潜伏两年之久。一位软件平台实验室的博士生发现了这个漏洞,并因发现两个严重漏洞获得了价值2万美元的奖励。该漏洞影响了以太坊区块链的一个版本,即Go-Ethereum(又称Geth)。
数月前,以太坊开发者引入了修复程序,许多运行最新版本的节点因此得到保护。然而,开发者并未公开漏洞细节,以防止恶意行为者利用未升级的节点进行攻击。
事件经过
问题出在一些节点未能及时升级到最新版本。事实上,Infura运行的Geth版本(1.9.9)发布于2019年12月6日。当漏洞被触发时,区块链分裂为长链和短链两个版本。通常情况下,节点会遵循长链规则,但这次未升级的节点却遵循了短链,导致它们显示不同的区块信息,与其他版本的区块链产生分歧。
这种分裂从区块11234873开始,影响了多个节点。Binance运行的自有以太坊节点观察到这一分裂,并暂时关闭了交易所的提现功能。以太坊区块浏览器Blockchair也受到影响,其数据显示的是短链的区块信息。
影响范围
此次事件对Infura造成了最大冲击。作为以太坊生态系统的重要基础设施,Infura为许多中心化和去中心化项目运行节点,被视为以太坊的"脊梁"。其客户包括以太坊钱包MetaMask、非托管钱包Coinbase Wallet、加密猫游戏CryptoKitties以及借贷平台Compound等知名项目。
当Infura服务中断时,这些项目都难以连接到区块链。使用MetaMask的用户在交易时遇到困难,除非他们手动指向未受影响的节点。
业内反应与争议
Infura作为以太坊去中心化架构中潜在的集中化弱点,再次因这次事件受到批评。Casa首席技术官在推特上表示:"三个让以太坊开发者感到恐惧的词:'Infura挂了'"。
然而,以太坊基金会团队负责人为Infura辩护,认为从运营商的角度来看,不立即使用最新版本是合理的做法。
经验教训
此次事件给业界带来了一些重要启示:首先,为其他项目运行节点的公司应该定期更新节点;其次,在发布以太坊实施更新时应该提高透明度。不过,关于提供过多信息是否会造成安全风险,业界存在争议。
开发者表示,对于已经沉睡两年多的漏洞,静默修复比提高意识造成破坏的可能性要小得多。他们建议用户在看到任何关于安全修复的模糊提及时,最好及时升级节点。