原文标题:《币安研究院报告:门罗硬分叉启示》
文章来源:Binance Research
翻译:头等仓
硬分叉要点
Monero 最近的动态区块大小升级有助于防止特定攻击,如「大爆炸攻击」(即爆炸性滥发攻击,使区块链大小超出节点所能支持的范围)。 然而,其 PoW 算法的更改象征着对 ASIC 的第三次抵抗。之前的 Monero 分叉在阻止 ASIC 矿工方面并没有产生持久的影响,因为抗 ASIC 本质上是一种永久性的猫捉老鼠游戏。 分叉后,矿工参与率的降低导致了算力的降低。由于难度降低意味着挖矿成本降低,这就为 GPU/CPU 矿工带来了更高的盈利机会。 不过,Coinhive 等公司已经停止了他们的 Monero 挖矿服务,据他们称其中一个关键决定因素是 Monero 价格下跌。尽管盈利能力有所提升,但矿工绝对收入的增幅仍然很低。 与其他 PoW 区块链类似,Monero 社区也面临着中心化和由于抗 ASIC 使得挖矿贡献降低导致系统风险上升这两者之间的权衡。
XMR 开发人员在 5 年的时间里,对 Monero 软件的 PoW 机制进行了三次变更,最终实现「抗 ASIC」。
XMR 开发团队通常会出于各种原因(比如安全性升级或隐私功能),每年安排两次升级。结果,由于在这些分叉上存在分歧,该协议多年来被分成了好几个版本。
例如,在 2018 年 4 月,由于对社区提议的更改存在分歧,Monero (XMR)分出了几个替代链:Monero Original (XMO),Monero Classic (XMC)和 Monero 0 (XMZ)。虽然这些项目都声称代表了「Monero 的最初愿景」,但其中只有一个至今仍然相当活跃,XMO 和 XMZ 的开发和公众利益在发布后很快就无踪影了。
Monero 的 XMR 分叉于 2019 年 3 月上线
最近,Monero (XMR)于 2019 年 3 月 9 日再次分叉,但与 2018 年 4 月不同,这是一个没有任何争议的分叉,没有创建任何分叉链(side chain)。这一次硬分叉的四点原因如下:
- 动态区块大小算法的更新,旨在防止大爆炸攻击(也称为「滥发膨胀性攻击」);
- PoW 算法的变化(从 CryptoNight V8 变为 CryptoNight-R),以「抑制目前网络上存在的 ASIC 并进一步抵抗 ASIC」;
- 添加虚拟加密支付 ID 以提高交易同质性 (homogeneity)。交易同质性指的是加密资产的可替代性 (fungibility) 增强,这意味着单一代币的历史不会被污染(如比特币或莱特币),因为地址没有链接在一起。简单来说,Monero 类似于实物票据,因为它无法追溯到之前的所有者。因此,一个 Monero 的价值始终等于一个 Monero;
- 通过缩小「编码的规模」和使用「确定性掩码」来简化提交数量。
此前试图阻止 ASIC 矿工的努力并没有产生长期影响。然而,抗 ASIC 在某种程度上可以说是「猫捉老鼠」游戏,没有永久的解决方案可以完全阻止 ASIC 挖矿。在 2019 年 3 月的硬分叉之前,据报道,Monero 的算力主要由 ASIC 矿工支配,ASIC 算力高达全网的 85%。因此,社区决定推动硬分叉更新,强制所有参与者升级到新协议。
2019 年 3 月 Monero 分叉的影响
1、隐私功能增加,安全性提高
新添加的隐私功能(如添加虚拟信息)使得追踪每笔交易的起源和目标地址变得更加困难。由于一些国家(如法国)和美国各州(如德克萨斯州)正在讨论是否应禁止隐私币,这一额外的隐私功能可能会给各国带来更大压力,迫使它们设立立法机构,直接处理隐私币的问题。
对于防范「大爆炸攻击」的对策改进,最初的问题是区块大小可以呈指数级增长。
- 区块大小约束的计算:以前,区块大小的唯一约束是它不能高于前 100 个区块的中位数大小;
- 初始风险:滥发攻击仍然有可能通过最大化每个区块大小来打破后续区块大小的限制。由于总区块链大小来自于所有现有区块的总和,因此每个区块大小的不断增加可能导致整条链呈指数级增长,从而导致可用磁盘空间较少的节点与网络断开连接。
关于「大爆炸攻击」的详细解释,请访问 Noncesense Research Lab 的 Github 页面查看。
解决方案:首先,XMR 开发团队在之前的 100,000 个区块中加入了长期(「LT BlockWeight」)中位数。
代码更改建议:
未来,在 50,000 个区块之后,长期区块大小最多只能增加 1.4 倍。
第二个是矿工费用的变化,因为它现在是按照长期中位区块重量计算,而不是按前 100 个区块的中位数重量计算。在分叉之前,客户端在高活动期间使用最低费用的倍数来获得交易的优先处理权,并且如果区块大小大于前 100 个区块的中位数,则将扣留部分基本区块奖励。 由于现在的费用是根据长期中位区块重量来确定的,因此当交易量以较低的速度增长时,费用不会减少。
2、淘汰潜在的 ASIC 矿工
分析表明,Monero 主要由 ASIC 矿工挖矿,所有这些矿工几乎都受到了分叉的影响。具体表现为以下三点:
① 算力急剧下降
在 3 月 8 日到 3 月 10 日之间,算力骤降大约 70%,从而验证了分叉前的估计,即 ASIC 对 Monero 总网络算力有巨大贡献率。
② 增加区块盈利能力
在分叉后,由于挖矿难度降低,每个区块的盈利能力大幅提高了 200% 以上。平均而言,网络的挖矿难度降低了 70% 以上,与算力的下滑一致,这意味着分叉后相同的 CPU 或 GPU 卡平均可以挖出近 3 倍的门罗币。原因有以下两方面:
- ASIC 在挖矿方面非常高效,因此取消它们对网络的贡献意味着,使用通用设备(GPU)或矿工使用的替代硬件在门罗上挖矿产生的平均可变成本要高得多。
- 降低网络难度也为使用家用机器的小型矿工提供了更公平的竞争环境。在经历了过去的分叉和相应的挖矿盈利能力跃升之后,根据摩尔定律(图 3),我们可以看到,随着时间的推移,盈利能力在逐渐衰退,直到下一个分叉出现。这一次,挖矿盈利能力是否会再次衰退还有待观察。
③ 区块时间短暂飙升
升级后不久,3 月 10 日,区块时间从原来的平均 2 分钟飙升至 10 分钟以上。虽然分叉后 ASIC 矿工被排除在挖矿活动之外,整体网络算力下降,但挖矿难度在数学上并没有立即调整。
因此,争夺分叉前难度水平的区块(假定网络算力较高的情况)的矿工减少了,从而导致区块时间变长。有趣的是,随着区块时间的延长,在未来区块高度实施的任何调整都意味着调整时间被实时推迟,从而进一步加剧时间的延迟。大约 36 个小时后,平均区块时间才能恢复到两分钟的正常平均值。不出所料,2018 年 4 月的分叉也导致了类似的情况(如上图中的第一个峰值所示,每个区块时间不到 10 分钟)。
结论:分叉结果
结果 1:对家庭矿工来说,挖矿仍然相当无利可图。
尽管自分叉以来,挖矿困难已下降了 75%左右,盈利能力大幅上升,但按美元绝对值计算的环比增幅相当低。
因此,该图暗示着网络中个体用户对该项目做出的努力可能不那么有效,此次分叉虽然提高了挖矿盈利能力,但也只达到分叉前带来的影响(图中的最高金色部分)的三分之一。分叉前 20-25%的挖矿算力依旧存在,表明了一些矿工仍然期望强劲的价格反弹,或者他们受益于较低的挖矿边际成本,而不是经验建议。相比之下,2018 年 4 月的分叉(「第一次分叉」)对挖矿盈利能力的影响更大,因为当时门罗的价格是 2019 年 3 月门罗价格的 3 倍多,因此这两次分叉导致了更大量级的以美元计价的挖矿盈利能力。
结果 2:低算力 = 较高的 51%攻击概率
由于 ASIC 矿工被迫「退出」,网络算力急剧下降 70%,导致 51%攻击风险略高。
一般来说,ASIC 矿工可能会导致任何 PoW 资产背后的挖矿活动过于中心化,但他们的缺席也会给网络带来更大风险。
实现「抗 ASIC」仍然是一场猫捉老鼠的游戏,需要在避免中心化和提高挖矿参与率之间进行权衡。也许另一种解决方案是鼓励 ASIC 挖矿业的竞争、透明度甚至是协作,以便社区可以更好地控制其网络的运行。
无论是硬分叉、软分叉、有争议分叉还是无争议分叉,在加密行业中都是很正常的事,频繁分叉可能表明了加密网络背后的健康发展。不管此次分叉的结果如何,门罗开发团队也将继续改进门罗,下一次分叉预计在 2019 年 10 月。