首页 > 热点新闻 > 浅析区块链分叉带来的安全挑战及防护方法
大力水手  

浅析区块链分叉带来的安全挑战及防护方法

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

浅析区块链分叉带来的安全挑战及防护方法-iNFTnews

区块链分叉分成软分叉和硬分叉。文中关键讨论的是硬分叉,一种不兼容向后兼容的软件更新方法。硬分叉是认可的瓦解或是更改,的共识便是区块链系统内各节点达到数据一致性的优化算法,通常情况下每一个节点必须运作同样规矩的优化算法,比如BTC运转的都是基于 PoW(工作量证明)的共识,以太币也曾是 PoW 的共识,近期根据「The Merge」转换到了 PoS 共识算法。

分叉的原因很多,在区块链之中是一种很普遍的现象,一般是短路线的分叉,这跟共识算法相关,同一个相对高度上有时候会有相互竞争的区块,但是最终有些区块能被舍弃,只留一个区块。但硬分叉不一样,这一种是有目的有计划的分叉,一些节点手机客户端启动了和原网络不同类型的程序流程版本号,生产制造出区块必须要在分叉链上验证通过,难以被原网络接纳,也拒绝接受原网络的区块。比如最近比较热门的 EthereumPoW(ETHW)分叉。

假如要成功分叉一条区块链并非易事,并不是立即拷贝原网络的编码就可以,要进行最基本的改动才能保证它安全运营,因此,大家归纳了几类普遍安全问题及防范办法。

网络层

因为分叉链是不同于原网络的区块链,首先要在网络层(P2P)开展防护:

1、种籽节点

种籽节点,又称 bootnode 或是 seednode,是区块链运作时网络都会先试着开展相连的节点。分叉链在运作时最先联接种籽节点列表里的节点,因此进一步发觉网络中其他的相等节点,之后才能进一步同歩区块,达成一致。因此一定要改动种籽节点目录,避免传送到原网络的节点。

2、异型进攻

即便种籽节点目录影响了,但并不意味着分叉网络不容易传送到原网络,由于彼此之间的 P2P 协议书是一样的,如果有一个节点无意间加了另外一个网络的节点联接,那样2个节点将取得成功挥手,并把对方导入到节点地址池。值得一提的是,彼此节点还会继续把自己节点里地址转发给另一方,从而造成多边网络节点池相互之间环境污染。对于这个问题,慢雾此前独立公布过《冲突的公链!来自 P2P 协议的异形攻击漏洞》。

为解决地址池相互之间环境污染的难题,必须在通讯协议上面做网络鉴别。早期以太币并不兼容网络隔开,但后续版本在协议书里加入 NetworkID 作为网络分辨的标示,NetworkID 一般是每一个链的 ChainID,比如以太币主网上线的 NetworkID 和 ChainID 均为 1,而 ETHW 原始版本并没有对 NetworkID 开展分叉,可能出现异型进攻系统漏洞。

BTC网络中,采用的是 Magic 值来标志不同类型的网络,通常是在 chainparams 里开展界定,比如BTC主网上线数值 F9BEB4D9,测网数值 FABFB5DA。

共识层

1、买卖防护

一般与区块链互动时,我们应该自己用公钥签定一笔买卖,接着这笔交易被直播到网络,且被挖矿或是出块节点装包到区块中。那如果区块链发生分叉,这笔交易有可能被2个网络各自装包到不同类型的区块之中,假定这也是一笔原链上 的转帐,那样分叉链上都会有同样的一笔转帐,显而易见这是一个非预估个人行为,会导致资产损失。

这个时候就需要对市场交易开展播放维护,在初期以太币版本的里没有做这种维护,之后 EIP155 随后在交易结构中加入 ChainID,保证客户签订的买卖只用以现阶段网络。如果对于以太币开展分叉,那样也要对 ChainID 开展彻底改变,自然这也不是只改动配备中的 ChainID 那么简单,由于分叉链必须对老旧区块做适配,因此需要在分叉相对高度以后应用一个新的 ChainID,才能保证分叉链正常运转。

比特币的交易结构中不会有 ChainID,那它是怎样做播放的保护呢?BTC用了一种称为 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% 攻击预防几乎没有任何很好的办法,只能依靠提升确定数来预防。

网络层

我们可以把是建立在买卖里的运用,如根据vm虚拟机的区块链智能合约,统归到网络层。区块链在分叉时,也对运作在区块链里的运用造成很大影响。

1、签字播放

签字播放与前面提到的买卖播放是同样根据的,有一些合同,比如 Gnosis Safe,它会在合同里认证客户的签字,假如签字里面没有包括 ChainID,那么这样的签字十分很有可能还可以在2个链上播放,造成资产损失。

2、预言机无效

分叉后区块链大部分区块链智能合约依然可以正常运转,比如 Token 合同、AMM 合同,这种自运行系统软件不依赖链下数据信息就能平稳运作,但类似 MakerDAO 等借款系统软件,相对高度依靠预言机的价钱数据信息,在失去链下喂价适用后,这将无法再继续运作下来。

3、价钱巨变

区块链分叉了,一个运用与此同时运作在这两个链上,客户该采用哪一个链上的应用?哪个算得上「擒雄」的啊?这种情况再次回到的共识上,一般哪一个区块链有着擒雄的的共识,那它上边的财产便会保存原有价值共识,而另一个区块链里的财产会到一瞬间丧失使用价值。

这类价钱里的强烈转变,也会导致 DeFi 运用瞬间崩溃,借款运用永远不能强制平仓,有一些有志之士会把握住分叉的周期时间,把「归零」的财产根据 AMM 等运用折算成碳链Token,进而保存了一些使用价值,在 ETHW 分叉事故中,大家注意到了大批分叉链上的投机行为。

汇总

到此,我们可以从网络层、共识层和网络层对区块链分叉安全性进行分析,能够看见在其中存有的技术风险,针对分叉我们应该十分谨慎地看待。而且,许多分叉背后不单单是技术革命的需求,有些甚至存有商业服务里的立即权益,比如发起者在分叉上直接获得大量分叉币,这些都要客户精确了解,防止不必要的麻烦。

区块链是一种区块链技术的软件,它更新不依赖单一个人和机构,因而分叉在区块链里在所难免,尽管给小区客户产生错乱,却也推动了系统软件不断前进以更好的服务社会发展。

来源:大力水手波比

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。