Difficulty
為什麼難度調整限制在 4 倍?
這可以防止什麼?為什麼特別是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的倍數