Block-Hash

在到達解決方案之前前導零和散列數

  • September 3, 2017

幾年前一直在閱讀 Adam Back 寫的一篇文章(不是雙關語),關於以比特為單位計算比特幣難度(因此我們可以得出在找到塊的解決方案之前大致需要的雜湊數)。

方程為log 2(難度)+32。

連結:https ://bitcointalk.org/index.php?topic=192886.0

從他的文章中我也了解到我們還可以通過十六進制的塊雜湊找到位的難度,即每個前導零 * 4,然後使用以下規則檢查下一個十六進製字元:>7=+0bits,>3=+1bit , >1=+2 位,1=+3 位。

問題是:

  1. Adam 闡述 >7=+0bits、>3=+1bit、>1=+2bits、1=+3bits 的直覺是什麼?也許我需要趕上關於十六進制轉換的一些事情?
  2. 使用 log 2(難度)+32,我們可以得到一個小數位(例如 54.8713)。給定前導塊雜湊值是否有可能推導出相同的小數位,或者我們至多只剩下一個近似值?

提前致謝!

  1. 以二進制形式查看這些數字。一個十六進制數字是4位,所以十六進制的7是二進制的0111,3是0011,1是0001。可以看到7是最大的十六進制數字,其中最高有效位為0;3 是最大的十六進制數字,其中兩個最高有效位為 0;等等。
  2. 是的,您可以通過取散列值的 log 2並從 256(散列中的總位數)中減去來獲得相同的值。請注意,雜湊的前導零位(包括“小數位”)的數量必須小於或等於目標難度,但通常更可能更少。

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