Difficulty

為什麼難度調整限制在 4 倍?

  • April 10, 2015

這可以防止什麼?為什麼特別是4

我知道現階段不太可能進行如此幅度的調整,但我想知道為什麼首先要實施這種調整。

您需要限制可以改變多少難度。想像一下,如果有人設法在他們正在創建的區塊上偽造時間戳,並使其看起來只需要一秒鐘就可以生成 2016 個區塊。那麼難度應該上升1209600嗎?顯然,那將是荒謬的。

另一方面,您需要使調整足夠靈活,以適應不可預見的進步。4 是作為這兩個要求之間的折衷選擇的任意值。

難度基本上計算為…

difficult adjustment成正比actual time / ideal time

來自比特幣維基的難度文章,計算其中一個難度值的範例,即實際時間理想時間

0x0404cb * 2^(8*(0x1b - 3))

這本質上是k * 2^(8*(0x1b - 3)),其中k是一個常數。

所以請注意我們正在處理的指數,以 2 為底,即 2^(一個巨大的數字)。

因為精度的損失是用難以表達的方式發生的,所以本質上是在處理2^exponent1/的比率2^exponent2

所以它必須是 4 的倍數,因為我們採用以 2 為底的指數的比率。即使底值為0,所以2^0 = 1,2^32/2^0,4的倍數

引用自:https://bitcoin.stackexchange.com/questions/36745