一文了解自主运行以太坊验证者基础设施的风险

转载
1583 天前
8085
以太坊爱好者

文章来源:以太坊爱好者   作者: Saxemberg

几天前,以太坊发布了 “Launchpad” ,里面包含了一个简单易懂的用户引导界面,只需点击几下即可成为 ETH 2.0 验证者(https://blog.ethereum.org/2020/07/27/eth2-validator-launchpad/)。 以太坊基金会的网站上提到: “Launchpad 的目的是尽可能简化成为 ETH 2.0 验证者的过程,同时不会降低安全性,或是牺牲用户教育。

相比使用第三方服务,运行自己的验证者节点需要自己管理私钥。这使得我们在易用性、安全性和用户知情上难以三全其美。” 以太坊社区的初衷是提高去中心化,让任意一台计算机都可以运行验证者节点,无需依赖于 Rocket Pool 之类的第三方服务。因此,这就鼓励了社区成员积极尝试,通过一切可用的设备,包括家用电脑,来质押 32 ETH 成为验证者。

在 Reddit 和推特上,许多 ETH 持有者都发帖表示有这样的打算。 其它网络的验证者节点运营商可能不会喜欢这种在家用电脑上验证点对点密码货币网络的想法,因为这可能会对网络连接和硬件设备带来风险,更何况成为 ETH 2.0 验证者需要质押至少价值 1 万美元的 ETH(按照 ETH 的当前价格来算)。

目前为止,从验证者的角度来看,以太坊共识机制设计的内在风险中唯一已得到清楚阐述的就是罚没(slashing)。旧版设计对验证者可用性的要求更高,但是在最新设计中,只要不是很多验证者同时离线,单个验证者离线并不算严重的违背共识行为。但是,对于未来那些选择 Launchpad 并使用家用设备运行节点的以太坊验证者来说,他们应该考虑其它更加严重的风险。

正如以太坊基金会所说: “就风险而言,我们希望你能了解罚没风险,以及成为早期采用者的相关风险。” 让我们来剖析一下,以太坊社区以去中心化的名义鼓励用户使用 Launchpad 和家用设备这种安全性较低的设计还可能产生什么潜在风险。


DDoS 攻击

如果你的验证者客户端使用家用 IP 或任何裸 IP 直接连接到点对点密码学货币网络,而不是通过哨兵节点(sentry node)来连接,你就很有可能遭受 DDoS 或其它类型的网络攻击。总的来看,只攻击一个验证者节点没有任何意义,但是攻击海量家用 IP 有可能对网络共识造成严重破坏。鉴于未来以太坊上可用的 IP 数量,这种攻击很难成功,但是从理论上来说是可行的。而让自己隐藏在海量的 IP 中,不让自己看起来像是区块链节点,效果等同于隐藏式安全性(Hiding in numbers is the lesser blockchain equivalent of security through obscurity)。


探测并攻破服务器

如果将验证者的 IP 暴露在互联网上,就可以识别出能够签署交易且持有密钥的设备。攻击者会探测这些设备的漏洞并发起攻击。使用哨兵节点是减少 DDoS 攻击面的一种方法。哨兵节点是复制验证者节点信息的全节点,可以避免真正的验证者节点直接连接到点对点网络,从而保护其硬件设备。

不同于全节点,我们建议验证者使用哨兵节点来保护其身份、硬件和网络免受攻击。一旦有人发动攻击,哨兵节点会是最先察觉的,因此我们可以将遭到攻击的哨兵节点与验证者节点断开连接,创建新的哨兵节点。以太坊的 Launchpad 中丝毫没有提到这些。令人惊讶的是,官方并没有强烈建议验证者使用哨兵节点。


恶意软件和勒索软件

如果你使用个人设备运行验证者节点,遭到恶意软件和勒索软件攻击的概率就会增加。通常来说,应用或服务之类的东西可以通过 SSH 托管在专用服务器和 VPS(虚拟专用服务器)上。如果你在日常用来浏览网站和接收电子邮件的电脑上运行验证者节点,可能会从电子邮件或浏览器上下载恶意软件。使用专用服务器能减少这种可能性。 即使你在非日常使用的设备上运行验证者节点,也有可能会因为使用共享 U 盘或同一个调制解调器而遭到攻击。

如果有任何信息能将你的身份和密码学货币相关联,你的验证者节点就有可能遭到社会工程攻击,例如 Ledger 最近的信息泄漏事件。攻击者可以向这些邮箱地址被泄漏的用户发送带有恶意软件的电子邮件,从而攻击登陆该邮箱的设备。攻击能否成功取决于攻击者的说服力有多强。 总之,服务证明(Proof-Of-Service)验证存在一定的风险,因此如果你考虑在家用设备上运行验证者节点,请多研究一下其它区块链验证者是如何运行节点的,因为以太坊会遭遇与其它 PoS 链相同的风险,不妨学习一下它们的经验。