矿池2Miners发现以太坊"纪元切换"漏洞
根据上周发布的博客文章,矿池2Miners最近发现了一个影响以太坊"纪元切换"的漏洞。"纪元切换"指的是网络从一组已填充的区块(称为纪元)转移到一组新的未填充区块的过程。该漏洞也影响了以太坊的分叉链——以太坊经典。
区块链的复杂性与潜在风险
尽管大众文化可能将区块链比作简单的电子表格,但它实际上是高度复杂的数学结构,依赖于多个相互关联的部件才能无缝运行。这意味着任何变更、升级或新开发都可能引发不可预见的后果,这些后果通常会被考虑到,但有时仍可能被忽略。
漏洞的根源与影响
据报道,这次问题是由以太坊经典即将实施的ECIP-1099提案引发的,该提案旨在降低网络的计算能力。2Miners发现,当区块链切换到新纪元时,矿池没有验证数据(尽管数据是合法的)。随后,2Miners发现漏洞存在于用于维护以太坊和以太坊经典的核心库中。
该公司表示:"经过深入调查,我们发现许多基于Ethash的加密货币所使用的核心库中的数学计算存在轻微偏差。"他们解释说,代码使用了32位的计算值,而不是必需的64位(后者可以存储更大的数值)。
潜在风险与修复措施
这个问题可能导致一些节点(维护网络的独立服务器)接受区块链上的新数据,而其他节点却不接受,这可能会造成链分叉(类似于最近以太坊发生的情况)。开发者估计,这个问题将于1月1日在以太坊区块链上发生,但对以太坊经典来说已经是一个问题了。
2Miners成功识别并修复了两个区块链的这个问题。他们与以太坊经典的开发者合作,后者于11月6日迅速安装了修复程序。在修复程序上线之前,一位开发者表示:"感谢你们的努力。我们正在进行一些同步测试和常规检查,但总体来说这看起来不错,除非我们发现意外情况,否则很快就会合并。"
在以太坊方面,该矿池公司发布了两项拉取请求来缓解这个问题,其中一项由以太坊开发者于11月11日安装。第二天发布的以太坊博客文章鼓励用户下载补丁,以修复这个问题以及另一个不相关的重要漏洞。
以太坊度过了相当忙碌的一周。