以太网络出现漏洞,以太坊边召开开发者大会边修复

阅读数:1668 2016 年 9 月 29 日

话题:安全语言 & 开发架构

9 月 18 日,以太坊Devcon2 全球开发者大会召开前的几个小时,以太坊在其博客上发布了一份关于 DoS 安全警报。这次安全警报产生的根源,很大程度上来自于以太坊区块链上 2283416 区块节点的漏洞,而且该漏洞被认为复现率高并且可造成严重后果。

以太坊作为公开的区块链平台,能让开发者通过使用分布式账本,建立如 DAPPs 等分散性应用。在分布式记账系统内,每一项交易会在网络上的每个节点被记录下来,这这让它相对于之前的封闭记账系统更加透明。

而这次漏洞形成的影响,主要是造成了包括 Geth 在内的所有基于 Go 语言编写的以太坊 1.4.11 版本客户端出现内存溢出错误,并阻止了进一步挖矿。但 Rust 编写的 Parity 客户端并未受此次攻击的影响。在 Geth 停运期间,官方鼓励以太矿工们转到 Parity 客户端。

此次出现漏洞的违规智能合约包含了一条以语言错误在内的消息,它包含一条德语信息“Fahrt nach Hause”,翻译成英文是“Go Home”。Reddit 网站上的用户们认为,这一信息很有可能针对的是 Devcon2 开发者大会的与会者们,想让他们不要参加大会。而下面的截图,正显示了该漏洞的一些行为轨迹:由超时到随后发出“致命错误:内存不足”的报告。



图片来源:http://pastebin.com/Q77E74G2 转载自 https://www.reddit.com/user/DeviateFish_

以太坊基金会的交互设计师、图形界面钱包的团队负责人 Alex Van de Sande 事后在其twitter上贴出了下图,以显示在漏洞出现期间,Devcon2 会议现场的媒体室被改造为“作战室”,而以太坊的开发者们正聚集在“作战室”里与出现的 bug 做着紧张而激烈的“抗争”。

几个小时后,开发者就将“From Shanghai, with love (1.4.12)”补丁顺利搭建、测试完成,并在 GitHub 上线。社区用户也对此次以太坊的及时响应给予了大力好评。Reddit 用户actuallymentor对此评论说:“我想大多数非开发者并不明白,开发者能在被攻击情况下做出如此快速而坚定的反应,是多么的了不起。这一次举动也让以太坊在我的印象中脱颖而出。它不仅是开源的,背后还有一群专业并且负责任的开发者。感谢来自上海的爱,我们也爱你。”

以太坊网络危机的公开,使得Kraken在内的一些交易所立即停止了以太坊的交易流动资金,但补丁发布完成后,其交易功能又得到重新启动。同时,以太币价格也在临时性恐慌抛售之后出现了大幅度上涨,下跌至 12.36 美元(9 月 18 日交易额)的以太币价格仅仅用一天时间就上升到超过 13 美元。Van de Sande 在漏洞修复完毕后利用twitter对外宣称:“这次漏洞造成的总伤害只是使 Devcon2 大会的开场推迟了 30 分钟。”

Devcon 开发者大会是以太坊基金会的年度会议,其开发团队和开发社区借此聚集在一块,探讨各自的主要研究,当前热点和未来规划。今年 Devcon2 的议题主要集中在可伸缩性、State Channels、存储和安全几大领域。

查看英文原文Ethereum Security Alert Issued, Ethereum Foundation Responds with “From Shanghai, With Love”


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。