快捷搜索:

重放攻击和BTC区块扩容

第0章 引言

那会出现那种情况?

大家来做下这个思想实验,假如出现了第2章里的小算力硬分叉到更大的区块,那会发生什么:

大家称硬分叉出来的新链叫比特币 bigger,而原有链还叫比特币 core。前者代币叫比特币g,后者叫比特币。

依据以太币和以太币c的经验,一定会有交易平台上线比特币g。由于对小交易平台来讲,这是剑走偏锋,难得的出名,抢流量的好机会。

一定会有买卖量,比特币g的投机机会大。看看市面上各种山寨币,再烂的币都有人买。

由于比特币 bigger和比特币 core的买卖格式完全一样,地址和私钥也是一样的,那就会发生重放攻击。在比特币 bigger链上的买卖是可以重放到比特币 core链上的。

由于目前比特币 core区块已经被塞满了1M。目前加上比特币 bigger上的买卖被重新广播到比特币 core链上,那妥妥地堵屎了。鉴于1M区块已经超长期运行,加上重放攻击后,这种拥堵将会是紧急的。但比特币 bigger由于区块更大,可以容纳更多的买卖量,所以不会拥堵。

由于拥堵,比特币 core链上的用户为了获得更快的确认不能不加强手续费,手续费水涨船高。而比特币 bigger上的手续费并不会高,由于不堵嘛。

用户就可以在比特币 bigger上发起更多的买卖,甚至是恶意的粉尘攻击,那Bticoin core区块将面临长期而紧急的拥堵。

挖比特币 core的矿池的内存池将面临打爆的重压,这个时候不能不设置上限值,达到上限就删除低买卖费的买卖。而比特币 bigger则没这个问题。

伴随时间的推移,高昂的买卖费和不稳定的确认时间,比特币 core的客户体验愈加差。而比特币 bigger,这个小算力修改困难程度硬分叉出去的链的客户体验居然更好。那比特币g的投机价值就会愈加高。

比特币g的价格就会上涨,比特币的价格就会下跌。然后恶性循环。

最后比特币 bigger就会占得一席之地,除非比特币 core可以升级到更大的区块,以解决买卖拥堵问题。

比特币 core的任何买卖格式的修改,以试图避开比特币 bigger的重放攻击都是难于凑效的,由于比特币 bigger也可以跟着修改。唯一的方法就是比特币 core上有算力切到比特币 bigger上去发动51%攻击,彻底消灭他。但这不符合矿工经济利益,甚至面临道义上的重压。有如此牺牲精神的矿工,而且需要是大算力矿,非常难找到。即是有如此的矿工阻止了第一个比特币 bigger,那下一个呢?毕竟发起比特币 bigger项目的本钱非常低。

假如这个思想实验的推理成立,这意味着比特币 core将会面临被迫提升区块大小上限。这将不是共识推进的结果,而是被攻击后的防御的方法。假如真有那样一天,大家还是目前就去升级吧。

重放攻击在ETH上并且没导致上面的思想考虑啊,以太币链没被以太币c攻击啊。这是由于ETH区块不像BTC区块那样有这么大买卖量重压问题,ETH每秒可处置量远超越BTC。

有没方法阻止这个思想实验的推行呢?假如没,那就意味着小区块BTC会被大区块链分支链通过重放攻击放倒。假如真有那样一天,大家目前该做的就是去升级到更大的区块。

ETH目前深陷重放攻击的危机,BTC是否会这么有一天呢?

ETH硬分叉产生两条链时,当时我还感觉有问题。由于挖矿有困难程度的存在,小算力非常难在高困难程度链上挖矿,所以我觉得以太币 Classic chain会由于算力小而挖不出来。但ETH困难程度是调整非常快,是逐块调整,而且ETH的出块时间又是超级快,15秒以内就出一块。以太币 Classic chain非常快就将困难程度和算力匹配了。

BTC在硬分叉过程产生双链的可能性要远低于ETH,BTC的算力太大了,1400P,挖矿困难程度也很大,困难程度调整时间是2021个区块。假如BTC硬分叉升级过程中,即便有25%的算力坚持挖旧链,程序锁定升级时间通常会被设定为困难程度刚被调整过的那一个块开始升级,也就是升级被锁定时,下一个困难程度调整要到2021个区块后。那新链和旧链要挖多长时间才能熬到正常的平均10分钟出一块呢:

新链在困难程度调整前出块时间是:10分钟/75%=13.33分钟。

新链在困难程度调整前需要挖多长时间是: 13.33*2021/60/24=18.662 天。

旧链在困难程度调整前出块时间是:10分钟/25%=40分钟。

旧链在困难程度调整前需要挖多长时间是: 40*2021/60/24=56.0 天。

大家假设新链和旧链价格是按算力来分配的,假定分叉前BTC的价格是4200元,

新链挖出来的币的价格是 :4200*75%=3150元。

新链矿工挖一个区块获利 :12.5*3150=39375 元。

新链矿工平均每分钟获利 :39375/13.33=2953.86 元,约3000元。

新链一P算力平均每分钟获利: 2953.86/(1400*0.75)=2.8132 元,约2.8元。

旧链挖出来的币的价格是 :4200*25%=1050 元。

旧链矿工挖一个区块获利 :12.5*1050=13125 元。

旧链矿工平均每分钟获利 :13125/40=328.125 元,约328元。

旧链一P算力平均每分钟获利: 328.12/(1400*0.25)=0.9375 元,约1元。

新链收益是旧链收益的2.8倍,那坚持挖旧链的矿工基本上就是情怀兵种了,连电费也挖不出来,而且还要连续挖56天哦,连续亏56天。并且这56天里,你还要保证队友不撤走算力,叛逃去挖更有利可图的新链。更不想说还存在被大算力51%攻击的状况。假如矿工都是理性的,那旧链基本上是没存活条件的。

而假如按90%的算力来硬分叉升级,更旧链更没机会了。

但还有一种状况旧链是可以存活下来,并且还可以借助重放攻击威胁到新链的,那就是旧链自己再发起一次硬分叉修改困难程度。

假如旧链通过修改困难程度的方法来对抗,那基本上就是放弃了我们的“正义”了。由于这违背了抵制硬分叉的初衷。假如连困难程度你都敢修改,那潜在的连2100万比特币的上限你也会修改吧,你什么都敢改。如此分叉出来的分支是非常难得到用户的支持的,从而变成一种无所谓的存在。

但大家不可以停留在假想,还需要仔细考虑里面的威胁。对BTC协议确实有完全执不同理念的人存在,这种硬分叉本钱又非常低。出现的概率并不小,可能必然会出现。大家假想出现下面这样的情况:

目前BTC区块大小是1M,而且社区为此争吵可不是一天两天了,基本上叫闹翻了吧。假如有人执意扩容到更大的区块呢?譬如通过修改困难程度的方法仅需非常小的算力,譬如现有些10%算力,就可以发起硬分叉,将区块直接扩到2M,甚至是8M,甚至是unlimted。

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

您可能还会对下面的文章感兴趣: