Multichain 对 ETC 51%攻击的解决方案
Ethereum Classic(ETC),是在2016年中期的DAO攻击事件中,由坚持区块链去中心化的特性,不向硬分叉妥协的社区力量发展而来,是区块链领域多链化发展的重要生态。
受POW算力在链间分配悬殊的影响,ETC在历史上曾发生过多次51%攻击,主要是针对的是交易所,在当时产生了大约500万美元的损失。在当前ETH由POW切换POS的背景下,原POW算力必然存在大规模迁移,从而可能对ETC带来51%攻击,该风险不得不引起重视。
Multichain作为与ETC合作中的官方跨链桥,仔细审视了整个过程中的安全性,制定了相应的安全措施,将保障用户资产安全视为首要任务。
(1) 什么是51%攻击?
自比特币而来,区块链共识机制是一个依赖大多数矿工诚实非作恶的概率模型,来达到对链上数据的一致性。相对应的,如果51%以上的矿工认同恶意数据,该数据在此模型下也是能够成功上链的。
51%攻击可以看做是攻击者对受害者的欺诈。具体是,攻击者在收到交易对手的付款后,通过有目的地在分叉链上出块(分叉链不包含攻击者交易,但包含受害者的付款交易),在其算力超过当前链全网算力51%的情况下,会使原本正常链的最新片段无效,从而分叉链成为主链,这样,攻击者原本的交易没有上链,而受害者的付款交易上链,达到欺诈获利的目的。51%攻击的示意图见上图。
(2) 为什么ETC容易受到51%攻击?
ETC在历史上曾发生过3次51%攻击,受害者大多数是中心化交易所,在当时累计损失大约为500万美元,攻击者通过Nicehash.com平台获取算力,从而成功实施攻击,其详细攻击信息如下。
ETC容易遭受51%攻击的技术背景是,ETH与ETC使用相同的挖矿算法Dagger-Hashimoto,矿工可以无差别的在两条链间任选一条进行挖矿。
更重要的一点,算力在链间分配悬殊,截止2020年9月10日,ETH上的算力约在873.1Th/s,而ETC上的算力仅为50.7Th/s,两者相差近16倍,这意味着,最多只需要1/16的ETH算力切换到ETC,就可以成功发起51%攻击。
同时,ETH上的POW算力相对集中,大部分被几个头部矿池掌握,这意味着仅依靠矿池自身的能力,就可以对ETC发起51%攻击,而这样的矿池有5个之多,具体信息见下图。
在ETH由POW切换POS的背景下,POW算力会有大规模迁移,此时间节点更像是51%攻击的契机,不能不引起重视。
(3) 制衡51%攻击的措施,MESS协议
MESS协议全称是Modified Exponential Subjective Scoring,最初设置思路来源于Vitalik,由Luke Williams与Isaac Ardis改进实施,是为了解决已发生多次的51%攻击而提出。
MESS协议是本着“小分叉有益,而大分叉可疑”的原则,通过与分叉链长度成比例的惩罚机制,来增加实施攻击的成本,这样在攻击获利与成本不成比例的情况下,让作恶者知难而退。
MESS协议的核心是TD(total difficulity)惩罚函数,该函数的曲线形状如下图所示,其中横坐标是当前区块时间与公共祖先区块时间的距离,即分叉链的长度,纵坐标是TD惩罚倍数,函数最小值是1,最大值是31。分叉链算力需要满足给定惩罚倍数,才有可能被节点接受。
这样,节点在本地链与分叉链之间选择时,会更重视本地链,而谨慎选择分叉链。有关MESS协议的更多信息可以参考ECIP-1100规范。ETC在采用了MESS协议之后,51%攻击的作恶成本明显提高,且该成本随着分叉链的长度显著增大。
(4) Multichain作为跨链桥,对ETC 51%攻击的思考
Multichain作为与ETC合作中的官方跨链桥,以保障用户资产安全为首要任务,安全风控团队经过了详细研究考证,针对ETC容易遭受51%攻击的现状,制定了对应的安全模型,可以简要概述为:ETC相关跨链交易的到账时延,在对应ETC TVL的MESS协议安全范围内。
不同于中心化交易所的是,跨链桥交易具有隐私性高、快捷、高效的特点,不需要对用户进行KYC(know your custom),跨链的个体对象是一个个独立地址,这样很难通过单笔交易限制来保障安全,且一笔跨链交易所包含的源链与目标链交易,通常在2–5分钟之内完成。在如此短的时间内,攻击者可以轻易的将资金分散在不同地址进行跨链,MESS协议的惩罚机制很难发挥作用。
为此,安全风控团队经过细致研究后,决定所有与ETC相关的跨链交易,设置一定的到账时延,该时延的大小在对应ETC TVL的MESS协议安全范围内,即保证资金绝对安全后跨链交易到账,详细到账时延信息可以参考下表所示。
必须要指出的是,该到账时延的设置,必然会从一定程度上损失用户跨链的便捷性。但相对于用户资金的安全性,我们认为这是可以妥协的,同时考虑到该到账时延是针对所有用户设置的,即所有ETC相关跨链用户都处于同一起跑线时,该影响不大。
(5) 总结
多链世界的跨链桥安全,是一个复杂且有挑战性的系统课题,与系统中的每条链、每个代币、每个社区息息相关,且每一环中的安全薄弱因素,容易传导到其他部分,导致整体资金的安全风险。
Multichain对于ETC容易遭受51%攻击的解决方案,是本着用户资金安全为首位的原则,不断建立健全跨链桥安全防范机制,在保证资金安全的前提下,努力构建多链世界的终极路由器。
References
- ETC / 51, https://meowsbits.github.io/51-percent-docs/#section-what-a-51-percent-attack-is
- ecip-1100, https://github.com/ethereumclassic/ECIPs/blob/master/_specs/ecip-1100.md
- Cost of a 51% Attack for Different Cryptocurrencies, https://www.crypto51.app/