是否存在以低难度的方式从创世纪块产生一个比现存最长链更长的链?

2018-01-26 12:14:25 +08:00
 gamexg

如题, 我记得比特币计算难度是根据前一段时间出块速度自动调整的,那么如果想办法把出块速度降低,那么就可以更快速的出块?

降低主链的出块速度是不可行,但是如果从创世纪块重新创建一个新分叉呢?完全是自己控制的分叉,故意控制出块速度将难度降低,并且产生比现存主链更长,根据比特币协议是否有可以替换掉现存主链?

具体源码还未看,感觉一个使用错误的时间来伪造出块速度?

或者周期性的降低出块速度,然后急速出一批块,下一个高难度周期不出块降低出块难度,然后低难度周期继续高速出块?使得平均难度比较低?

我记得有一个分支就由于出块难度设计不合理被周期性的矿机加入照成实际挖块速度比预期快了很多。

这么搞的话更绝是个大坑,另外很好奇比特币怎么应对错误的最长连广播?如果有人广播另一个分支的最长连,全节点是否需要完整的下载下来这个新的最长连来验证这个最长链是否合法? 这样网络占用是不是太大了?

1526 次点击
所在节点    问与答
7 条回复
senghoo
2018-01-26 13:04:36 +08:00
因为你的难度设定比其他节点认为的难度设定低,其他链不会接受你的区块的。
senghoo
2018-01-26 13:05:00 +08:00
其他链->其他节点
gamexg
2018-01-26 13:22:00 +08:00
@senghoo #1 我的意思是建立一个新的分支,这个分支通过控制出块速度控制难度来达到最终链长度比主链更长。

不过现在理解问什么不会出现这个问题了,比特币由于总是有新的矿机加入,计算量是大于上一周期的,也就是实际出块平均速度是小于 10 分钟的。
新的区块长度想快于主链出块速度也必须小于 10 分钟,这样算力需要不断提升,最终也会难以跟得上主链。

这里也有个问题是时间,如果生成的分支时间走的比真实时间更快就可以以简单难度产生比主链更长的链,但是其他客户端只要检查下时间就可以排除这种伪造主链。
mooncakejs
2018-01-26 13:34:13 +08:00
制出块速度控制难度 本来就是链的一部分,改了速度控制就已经是另外一条链了。
geelaw
2018-01-26 13:34:39 +08:00
@senghoo 这个想法是错误的,只要另一条链更长,诚实的参与者就会接受。

这里的问题在于:为了获利,你要透支未来的时间戳,而比特币的时间戳整体上要递增(必须大于前 11 个 blocks 的中位数),为了造成算力不足需要降低难度的假象,你更要让时间戳快速增长。
接受区块的时候会验证时间戳不能太离谱,而从初始块到现在的时间增长是固定数,这就导致同时符合时间戳要求且看起来符合难度要求的链只能具有更少的区块,从而不会被接受。
ipoh
2018-01-26 13:42:33 +08:00
你产生得每个区块的难度都必须大于等于现在主链相应高度区块的难度
所以你的想法是不可行的
senghoo
2018-01-26 13:43:48 +08:00
@geelaw 刚才回答时想错了。。受教了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/426116

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX