慢雾解读 | 区块链分叉带来的安全挑战

fengge12022-09-20 22:48:02慢雾科技

By: Johan


区块链分叉分为软分叉和硬分叉。本文主要探讨的是硬分叉,一种不支持向后兼容的软件升级方式。硬分叉是共识的分裂或者改变,共识就是区块链系统中各节点达成数据一致性的算法,正常情况下每个节点需要运行相同规则的算法,例如比特币运行的是基于 PoW(工作量证明)共识,以太坊曾经也是 PoW 共识,最近通过 “The Merge” 切换到了 PoS 共识算法。


分叉的原因有很多,在区块链当中是一种很常见的现象,通常是短距离的分叉,这和共识算法有关,同一个高度上有时会出现相互竞争的区块,但最终有的区块会被放弃,只保留一个区块。但硬分叉不同,这一种是有计划有目的的分叉,一些节点客户端部署了与原网络不同的程序版本,生产出的区块只能在分叉链上通过验证,无法被原网络接受,也不接受原网络的区块。例如近期热门的 EthereumPoW(ETHW分叉。


如果要成功分叉一条区块链并不容易,并非直接复制原网络的代码即可,需要进行基本的修改才能保证它安全运行,为此,我们总结了几种常见的安全问题及防护方法。


网络层


由于分叉链是独立于原网络的区块链,首先需要在网络层(P2P)进行隔离:


1、种子节点

种子节点,也称 bootnode 或者 seednode,是区块链启动时网络首先会尝试进行连接的节点。分叉链在启动时首先连接种子节点列表里的节点,从而进一步发现网络中其它的对等节点,然后才能进一步同步区块,达成共识。因而必须要修改种子节点列表,防止连接到原网络的节点。


2、异形攻击

即使种子节点列表改变了,但并不代表分叉网络不会连接到原网络,因为双方的 P2P 协议是相同的,如果有一个节点无意中添加了另外一个网络的节点连接,那么两个节点将成功握手,并将对方添加到节点地址池。不仅如此,双方节点还会将自己节点里的地址分享给对方,进而造成双边网络节点池互相污染。关于这个问题,慢雾此前曾单独披露过《冲突的公链!来自 P2P 协议的异形攻击漏洞》


为了解决地址池互相污染的问题,需要在通信协议上做网络识别。早期的以太坊并不支持网络分隔,但后续的版本中在协议里加入了 NetworkID 做为网络区分的标志,NetworkID 通常是每个链的 ChainID,例如以太坊主网的 NetworkID 和 ChainID 都为 1,而 ETHW 初始版本中并未对 NetworkID 进行分叉,可能存在异形攻击漏洞。


在比特币网络中,使用的是 Magic 值来标识不同的网络,通常在 chainparams 里进行定义,例如比特币主网值为 F9BEB4D9,测试网值为 FABFB5DA


共识层

1、交易隔离

通常与区块链交互时,我们需要用自己的私钥签署一笔交易,随后这笔交易被广播到网络,并被矿工或者出块节点打包到区块中。但如果区块链出现分叉,这笔交易可能会被两个网络分别打包到不同的区块当中,假设这是一笔原链上 的转账,那么分叉链上也会有相同的一笔转账,显然这是一个非预期行为,会造成资产损失。


这时就需要对交易进行重放保护,在早期以太坊的版本中没有做这样的保护,后来 EIP155 之后在交易结构中加入了 ChainID,确保用户签署的交易只用于当前网络。如果对以太坊进行分叉,那么也需要对 ChainID 进行重新定义,当然这并不是只修改配置里的 ChainID 这么简单,因为分叉链需要对旧的区块做兼容,所以需要在分叉高度之后使用新的 ChainID,才能保证分叉链正常运行。


比特币的交易结构中不存在 ChainID,那么它是如何做重放保护的呢?比特币使用了一种叫做 UTXO 的模型,简单说它是对一笔交易(UTXO进行花费,而不是对账号进行花费,通常全新启动的网络不会存在相同的两笔交易,也就不存在重放的场景。


但是在硬分叉的情况下,还是会存在交易重放的问题,例如 2017 年的 BCH 分叉以及后来的BSV分叉。BCH 通过在交易数据签名添加SIGHASH_FORKID(0x40),使得 BCH 上的交易和 BTC 的交易不再互相兼容,从而达到重放保护的目的。

2、算力调整

在分叉前,原链占有全网所有的算力,那么依据 PoW 共识算法,它的出块计算难度也是比较高的。分叉后,算力分散到不同的区块链上,那么分叉链由于共识不足通常无法获得足够的算力去生产新的区块,区块的增长会陷入停滞。这时有必要降低分叉后的初始计算难度,给分叉链赢得一个快速调整算力的时间窗口。


3、防范 51% 攻击

网络和交易都隔离开了,区块链分叉了,新区块顺利产出,一切都看似正常。然而安全问题依旧突出,它依旧存在一种更普遍、更难以防御的攻击:51% 攻击。


挖矿是逐利的,当出现分叉币时,哪边的挖矿收益高矿工就会把算力切换到那个网络,但现实是分叉币往往币价低,导致整体的算力十分低。以 ETHW 分叉为例,我们从 2miners 上看到,原 ETH 网络算力峰值最高超过 900TH/s,而在写稿时 ETHW 的算力只有 30TH/s 左右,大量算力消失并不是好事,它随时可以对 ETHW 发起 51% 攻击。


对于这种 51% 攻击的防范几乎没有什么很好的方法,只能通过增加确认数来防范。


应用层


我们把建立在交易上的应用,如基于虚拟机的智能合约,统归为应用层。区块链在分叉时,也会对运行在区块链上的应用产生巨大影响。


1、签名重放

签名重放与上文提到的交易重放是相同道理的,有一些合约,例如 Gnosis Safe,它会在合约里验证用户的签名,如果签名里没有包含 ChainID,那么这个签名非常可能可以在两个链上重放,导致资产损失。


2、预言机失效

分叉后的区块链多数智能合约依旧可以正常运行,例如 Token 合约、AMM 合约,这些自运行系统不依赖于链下数据就可以稳定运行,但类似 MakerDAO 等借贷系统,高度依赖预言机的价格数据,在失去链下喂价支持后,它将无法继续运行下去。


3、价格剧变

区块链分叉了,一个应用同时运行在两个链上,用户该使用哪个链上的应用?哪个算是“正统”的呢?这个问题又回到了共识上,通常哪个区块链拥有正统的共识,那么它上面的资产就会保留原有的价值共识,而另一个区块链上的资产会在瞬间失去价值。


这种价格上的剧烈变化,会导致 DeFi 应用彻底崩溃,借贷应用永远无法平仓,有一些有识之士会抓住分叉的时间窗口,把“归零”的资产通过 AMM 等应用兑换成主链代币,从而保留了一些价值,在 ETHW 分叉事件中,我们观察到了大量分叉链上的套利行为。


总结


至此,我们从网络层、共识层和应用层对区块链分叉的安全性进行了分析,可以看到其中存在的技术风险,对于分叉我们需要十分审慎地对待。并且,不少分叉的背后不仅仅是技术变革的需要,有的可能存在商业上的直接利益,例如发起方在分叉中直接获取大量的分叉币,这些都需要用户准确认识,避免不必要的损失。


区块链是一种去中心化的系统,它的升级不依赖于单一个人或组织,因此分叉在区块链里难以避免,虽然给社区用户带来混乱,但也促进了系统向前发展以更好地服务社会。





往期回顾







共迎中秋 | 一份讲究的慢雾定制礼品(文末有惊喜)

暗夜小偷:Redline Stealer 木马盗币分析

“零元购” NFT 钓鱼分析

引介|EVM 深入探讨-Part 1

Celer Network cBridge 跨链桥事故真相:BGP 劫持















慢雾导航


慢雾科技官网

https://www.slowmist.com/


慢雾区官网

https://slowmist.io/


慢雾 GitHub

https://github.com/slowmist


Telegram

https://t.me/slowmistteam


Twitter

https://twitter.com/@slowmist_team


Medium

https://medium.com/@slowmist


知识星球

https://t.zsxq.com/Q3zNvvF











新手必看:8款安全、可靠、便携的加密货币存储钱包

来源:老雅痞为什么要自行保管你的加密货币?许多加密货币新手只是把他们所有的加密货币放在购买它们的同一个交易所中。虽然这是迄今为止最方便的方法,但它不是最好的主意。如果将你的加密货币保存在交易所中,你就...

三箭资本败局连锁反应下:多方机构齐声撇清关系 

曾位列一线VC的三箭资本,在牛市丰沛流动性的无序扩张后,逐渐迎来了属于自己的终局。三箭资本的溃败</h2>三箭资本是以加密货币为重点的风险投资公司之一,一度被视为加密新贵,他们的最佳投资包括:Avax、Near、Der...

欧洲议会议员 Ernest Urtasun 介绍了 MiCA 的更多内容,包括对稳定币的详细监管、反洗钱等

欧洲议会议员ErnestUrtasun介绍了MiCA的更多内容:1、为诸如加密货币崩盘、稳定币LunaUSD崩盘等情况提供保障。大型稳定币将受到严格的操作和审慎规则的约束,如果它们被广泛用作支付手段,则会受到限制,交易上限为2...

普华永道:2022 全球 CBDC 指数与稳定币概述

2022年3月,普华永道发布了2022年度全球央行数字货币(CentralBankDigitalCurrency,简称CBDC)指数报告,旨在衡量各国央行在发展本国数字货币方面的成熟程度。报告分为零售CBDC指数和批发CBDC指数两部分,分别描述...

交了50万元学费 退出时仅剩下55元

“晚上做梦做到自己抄底做多,直接被吓出了一身冷汗,然后想起来自己已经不玩了,觉得又失落又庆幸。”6月19日,比特币的暴跌行情下,一名币圈用户向北京商报记者打趣道。还有用户则向北京商报记者直言,交了50万元...

混币器困境:保护了隐私也掩护了黑产

混币器在加密行业一直是一个特别的用例,它强调增强隐私服务,允许用户消除在比特币和以太坊等区块链网络上留下的大多数交易痕迹,但混币器的这一功能也常常被黑客和犯罪团伙用作抹除洗钱痕迹的工具,因此被监管部门...

DeFi 巨头进军 NFT 领域 用户怎么看?

作为目前业内头部的DEX平台,Uniswap在市场流量和用户层面占据了压倒性的优势,那么这种优势能否在Uniswap+NFT这一新战场中产生有效转化?会不会产生水土不服?以及“UniNFT”能否在正面战场对霸主Opensea发起挑战?...

“多元化”通证经济模型:DAO的神经和血液

从股权到通证:激励机制决定组织形式</h2>去中心化自治组织——DAO,已经成为2022年在Web3上发生的最酷的事情。在人类的历史上,组织形态的范式转换(ParadgimShift)的进化,往往意味着生产力的大幅度提升。于1851...

元宇宙的六大支撑技术

元宇宙不能只靠一张嘴,还需要实实在在的技术去堆砌。元宇宙的英文是Metaverse,Metaverse=Meta(超越)+Universe(宇宙),即超越现实癿虚拟宇宙。元宇宙是众多新技术的集大成者,其中包括:区块链链(Blockchain)...

晚间必读5篇 | 入门必备:你需要了解的DeFi重要词语

1.金色观察|一分钟速览星巴克推出的Web3活动Odyssey就像20世纪初互联网浪潮时无数传统公司走向.com一样,现在轮到Web3了。星巴克于9月12日推出Web3体验活动StarbucksOdyssey。据星巴克官方说法,这是一种由Web3技术...

TAG:BTC ETH
上一篇:IOSG Weekly Brief|WEB3 3A卖楼花,杠杆化的研发模式会是高成本游戏的曙光么?#142
下一篇:WEB3观点 | 实用型NFT分类— 当前和未来趋势