了解单点故障

Understanding Single Point Of Failure | Cardano Explorer (cexplorer.io)

去中心化是为了消除可能威胁网络预期特性的弱点。 单点故障甚至可能导致整个系统停止工作。 任何实体,无论是以一组节点还是个人的形式,都不应该比其他实体拥有明显更强的地位。 这些实体可能会滥用其地位或成为攻击者的容易目标。 在本文中,我们将探讨区块链项目的潜在弱点。

什么可能是单点故障?
单点故障 (SPOF) 可以是网络中的一个节点或一组节点,其位置明显强于其他节点。 节点始终由人类运行,因此它们也可能出现单点故障。

在下图中,您可以看到由 Alice、Bob、Carol 和 Dave 操作的 4 个区块生产者(池)节点。 他们都生产了网络中 25% 的区块。 他们地位平等。

攻击节点或人都是可能的。

例如,DDoS 攻击针对节点(试图使节点停止服务),而监管机构限制节点运营商的决策。

团队也是任何区块链项目的重要组成部分,在某种程度上可以代表 SPOF。

该团队负责客户端(软件)交付。 比特币核心团队发布了新版本的比特币客户端。 IOG 团队发布了卡尔达诺客户端的新版本。

如果单个客户端主宰网络,则客户端源代码中的漏洞可能会导致整个网络崩溃。 客户以及负责它的团队也是 SPOF。

在本文中,我们将讨论以下 SPOF:

节点
人员(节点运营者、团队)
客户端(软件)
攻击可以针对网络共识。 这可能是试图审查交易、产生空块或尝试双花攻击(多次花费相同的代币)。 这是对节点的攻击,但也会影响操作节点的人。 用户也可能受到攻击的影响。

有些攻击可以同时针对节点和运营商。 运营商可以通过某种方式应对攻击。

用户期望去中心化网络不会发生这些攻击。 除其他外,系统的安全性取决于去中心化。

外部和内部攻击
网络上最著名的攻击是所谓的 51% 攻击。 这是网络对手发起的外部攻击。 中本聪相信各国会攻击比特币来阻止它。

51% 攻击针对的是网络共识。 抵制这种攻击是基于这样的假设:这种攻击代价高昂,以至于没有人会尝试这种攻击。

攻击者必须控制给定网络中使用的足够的昂贵资源才能实现去中心化。 对于比特币来说,它是哈希率,对于卡尔达诺来说,它是 ADA 币。 这种攻击在实践中很难实施。

政府还有其他更温和的方法来攻击网络,例如监管、没收资产、监禁等。例如,如果对采矿或质押征收高额税收,可能会将该业务赶出该国。 它可能不会威胁网络的存在,但会削弱中心化。

内部攻击可能是由接近网络并负责其运营的人员实施的。 他们可以是重要的矿池运营商、团队,也可以是 ASIC 硬件制造商、能源供应商等。

例如,审查交易始终是矿池运营商的决定。 他们这样做可能是出于监管要求。 MEW 攻击,即操作员以对他们有利的方式操纵交易的攻击,其动机是经济上的。

没有人会想到负责发布客户端的团队会发起攻击。 该团队可能依赖风险投资基金或其他来源的资金。 团队成员可能忠于那些付钱给他们的人,而不是社区。

找出是什么促使团队决定实现某些功能,或者反之亦然,不实现它可能相对困难。 这是一种难以检测的内部攻击。

有些情况可能不是对网络的故意攻击,但会影响 SPOF 的发生。 例如,当在中国开采比特币最有利可图时,该国就占据了主导地位。 当中国决定将矿工驱逐出境时,网络暂时被削弱。

我们可以将其描述为对网络产生直接影响的无意的外部情况。

块的生产
最大的 SPOF 通常出现在区块生产中。 网络中可能有数千个节点,但可能只有少数几个节点具有主导地位。

在下图中,您可以看到 4 个矿池运营商,每个运营商拥有 25% 的区块生产份额。 还有其他用户的4个公共节点。 忽略拓扑。

我们假设攻击者正在寻找 DDoS 攻击的目标。

区块生产不受用户节点攻击的影响。 在攻击者必须针对区块生产者节点,即由 Alice、Bob、Carol 和 Dave 操作的节点。 所有池的区块生产份额大致相同,因此攻击者选择哪个节点并不重要。 他可以选择多个节点进行攻击,也许全部 4 个。

从 SPOF 的角度来看,这个网络是理想的,因为很难找到 DDoS 攻击的目标。

这种洞察可以帮助我们粗略评估去中心化的质量。 如果你发现网络中的一个点可以被攻击,并且潜在的攻击会导致问题,那么该网络就是中心化的。 找到正确的攻击目标应该很困难,或者应该是大量实体。

应该有尽可能多的区块生产者,理想情况下,他们在网络中的代表性应该大致相等。 卡尔达诺网络中有大量的矿池。 尽管一些 MPO 的地位比 SPO 更强,但 MPO 的数量及其在区块生产中所占的份额相对平衡。

去中心化涉及代表的决策,因为他们的选择会影响系统的平衡。

可以说,加密行业中最大的 SPOF 可以在比特币网络中找到,其中 2 个主要矿池 Foundry USA 和 AntPool 开采了超过 50% 的区块。 这些节点(当然有故障转移策略)是比特币的最弱点。

在下图中,您可以看到 9 个矿池及其当前(总)挖矿份额。 如果攻击者设法通过 DDoS 攻击同时关闭所有节点,新区块的挖掘基本上会暂时停止。

当对协议变更进行投票或采用新版本的客户端(安装在其节点上)时,矿池运营商对比特币网络具有重大影响。

大多数矿池运营商的地位,无论是在卡尔达诺还是比特币网络中,都取决于授权。

不按照代表的意愿行事的经营者很快就会失去自己的职位。 然而,这只是一个假设。

如果一家大型矿业公司在美国注册,它可以同意矿池运营商的行为,并遵循监管机构的要求。

MEW 攻击之所以臭名昭著,主要是因为它们经常发生在以太坊上。 这需要矿池运营商和矿工的合作。

大委托者,即那些拥有大量资源的人,也是 SPOF。 他们可以拥有与 10,000 个小代表相同的权力。 我们可能认为这不公平,但这是无法阻止的。 金钱可以买到权力。 此外,如果有可能从强势地位中获得经济利润(质押和挖矿都是如此),那么系统中就会出现鲸鱼。

团队状况不佳
团队是权力下放的弱点。

我们讨论了风险投资基金能够购买团队忠诚度。

如果该项目未来多年有足够的资金,它可以独立于风险投资基金。 IOG 团队就是这种情况,他们通过首次销售 ADA 币筹集开发资金。 风险投资基金被故意排除在最初的销售之外。

因此,IOG 团队独立于第三方,并按照其条款管理协议的开发。

如果这些代币被卖给风险投资基金,团队可能会受到他们的要求的影响。 这可能是积极的,也可能不是积极的。 这可能是负面的,因为风险投资基金可能会在第一次成功出现后立即抛售代币。

IOG团队考虑了未来,因此项目金库也是协议的一部分。 计划推出的链上治理将允许 ADA 持有者决定将进行哪些更改、由谁来实施这些更改、花费多少以及优先考虑哪些更改。

如果只有一个客户端可用,那么构建它(并继续维护它)的团队就是集中化的点。 让我们关注客户。

如果源代码中存在导致客户端崩溃的严重错误,则可能会导致区块生产停止。 如果有来自独立团队的多个客户端实现,这是有利的。 这增加了网络针对单个客户端实施的致命故障的弹性,但同时由于存在多个团队而增加了去中心化。

目前排名前 20 名的所有网络都依赖于一个占主导地位的客户。 到目前为止,我们对多个团队的存在缺乏经验,这些团队必须在向协议添加新功能时相互协调。

当团队无法创新时的情况并不理想。 如果团队根据自己的判断来控制开发,那么只有在某个阶段才是可以接受的。 随着时间的推移,应该通过链上治理或客户多样性来实现更大的去中心化。

结论
外部和内部攻击媒介有很多种。 攻击的目标几乎总是重要的权力中心。 想要实现网络中所有实体都处于同一状态的状态可能是不可能的。工作将是平等的。 总会有一些弱点在某个阶段可能成为 SPOF。

目前,最大的 SPOF 是占主导地位的区块生产者、控制大量资源(大矿工和权益持有者)的鲸鱼、团队以及对主导客户的依赖。

权力下放是一个不断变化的目标。 一定有人一直致力于提高给定网络中去中心化的质量。 这可能很棘手。 试图这样做的实体绝不能成为权力中心。

建立链上治理可能是必要的,因为所有代币所有者都将负责去中心化。