V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gamexg
V2EX  ›  问与答

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

  •  
  •   gamexg · 2018-01-26 12:14:25 +08:00 · 1606 次点击
    这是一个创建于 2520 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

    这里的问题在于:为了获利,你要透支未来的时间戳,而比特币的时间戳整体上要递增(必须大于前 11 个 blocks 的中位数),为了造成算力不足需要降低难度的假象,你更要让时间戳快速增长。
    接受区块的时候会验证时间戳不能太离谱,而从初始块到现在的时间增长是固定数,这就导致同时符合时间戳要求且看起来符合难度要求的链只能具有更少的区块,从而不会被接受。
    ipoh
        6
    ipoh  
       2018-01-26 13:42:33 +08:00
    你产生得每个区块的难度都必须大于等于现在主链相应高度区块的难度
    所以你的想法是不可行的
    senghoo
        7
    senghoo  
       2018-01-26 13:43:48 +08:00
    @geelaw 刚才回答时想错了。。受教了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:23 · PVG 04:23 · LAX 12:23 · JFK 15:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.