请教一个关于比特币方程组的问题;搜了一圈也没找到答案。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
psych0
V2EX    Bitcoin

请教一个关于比特币方程组的问题;搜了一圈也没找到答案。

  •  
  •   psych0 2020-06-08 10:51:16 +08:00 1009 次点击
    这是一个创建于 1957 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教一个问题:比特币需要人们去找的那个特解的方程组是只有一组(不会变化)的吗?如果是的话,这个方程组是什么样的?方程组解的总个数是怎么估算(或确定)出来的?

    感谢!
    3 条回复    2020-06-09 17:37:24 +08:00
    acess
        1
    acess  
       2020-06-09 13:28:58 +08:00
    这种问题很不招人待见……很容易受到“先去读白皮书”这种嘲讽……

    答案很简单,没有什么方程组,也没有什么特解。

    每个区块不都可以算出自己的哈希值么?挖矿有个“难度要求”,必须不断地暴力试错,试到这个哈希值小于规定值,这样才算你挖到了(这就是所谓的“难题”)。这个时候,你就有权拿到新发行的比特币(也叫 block subsidy )和手续费两部分奖励。这个奖励是通过 coinbase 交易记录的,矿工(矿池)先打包好别人的交易,然后据此写好 coinbase 交易,再去暴力试错(也就是挖矿),挖到了就全网广播出去,别的矿工看到了,验证通过,就会跟着你挖出来的区块继续延续下去。

    这里的难度要求也是动态调整的,比特币用的办法就是每 2016 个区块重新调整一次难度,根据之前的出块速度来评判,如果出块速度太快,表示难度偏低,就相应地调高难度,反之亦然。(这里理论上也存在一个问题,就是 time warp attack,因为出块时间只能靠矿工自己写进去,所以理论上矿工可以在时间戳上撒谎但是这种攻击仍然需要超过 50%的算力)
    注意这个动态调整是一种游戏规则,是每一个节点自发地去遵守的,而不是靠某个权威服务器去强制执行的其实不仅是难度调整,比特币的所有规则都是这样,包括 2100 万总量上限、给出有效数字签名才能转走币等等,都是这样的,如果有人不遵守规则,那网络中的每一个诚实的节点都会排斥他,把他踢出网络。

    因为每个区块都包含上一个区块的哈希值,所以每挖到一个新区块,就自然而然地相当于重新出了一道新的难题,之前暴力试错得到的答案不能套用到新的难题身上。
    比特币用的双 SHA256 哈希,哈希值有 256bit 呢,2^256 这个数字相当之大,(只要 SHA256 仍然安全)不用担心会碰巧出现跟以前一样的难题,可以认为这是不可能的。


    另外,即使是在计算同一道题的过程中,也是不存在“进度”这个概念的,无论你暴力试错挖了多久,都不表示你距离成功挖到矿更近一步。这和扔骰子是一个道理,(考虑骰子均匀的情况下)即使因为你走了狗屎运,一连扔出 6 次都没有一个 6,也不代表你第 7 次就有更高的概率能扔出 6 。
    psych0
        2
    psych0  
    OP
       2020-06-09 14:53:09 +08:00
    @acess 非常非常感谢你的耐心解答。是我才学疏浅了。我确实查找了一些资料,及看了一些相关的视频,但确实没有去认真学习“白皮书”。

    可能也正因为如此,让我对所看到的资料没有一个很正确的理解,导致问出了这样一个“愚蠢”的问题。以后一定注意。

    再次,非常感谢你的耐心解答和建议!
    acess
        3
    acess  
       2020-06-09 17:37:24 +08:00
    @psych0 我其实没有说你……说实话我当时读白皮书也不是很懂。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     947 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:43 PVG 06:43 LAX 15:43 JFK 18:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86