時間:2023-08-28|瀏覽:233
難度目標是對挖礦困難程度的度量,是一個只有4個字節(jié)的字段。比特幣系統(tǒng)通過調(diào)整區(qū)塊頭中的難度目標來控制挖出區(qū)塊所需平均時間。目標值是一個長度為256比特的字符串,有約2^256種可能的取值。調(diào)整難度目標就是調(diào)整目標值在整個輸出空間的占比。
舉例說明,挖礦就如射擊,所有射出去的子彈都會落在一個很大的靶子上。難度目標就是在靶子上圈出一個范圍,范圍越小,難度就越高。挖礦算力增大,射擊次數(shù)越多,目標范圍被擊中所需的時間就越短。比特幣系統(tǒng)追求的平均出塊時間為10分鐘,需要調(diào)整難度目標來實現(xiàn)。
比特幣系統(tǒng)每過2016個區(qū)塊,大約14天時間,會自動調(diào)整一次難度目標。如果上一個調(diào)整周期內(nèi),平均出塊時間大于10分鐘,說明挖礦難度偏高,需要降低挖礦難度。反之,如果平均出塊時間小于10分鐘,說明挖礦難度偏低,需要增加難度目標。
比特幣系統(tǒng)設定,難度目標的調(diào)整范圍上下限都是4倍。舉例說明,如果算力暴漲,挖出2016個區(qū)塊只用了7天,可以調(diào)整難度目標縮小一倍,維持平均出塊時間在10分鐘左右。但如果挖出的2016個區(qū)塊只用了1天,難度目標最小只能調(diào)整為原來的四分之一。
總結(jié):比特幣的算力是持續(xù)波動的,通過調(diào)整難度目標,平均出塊時間維持在10分鐘左右。難度目標和挖礦難度成反比。比特幣系統(tǒng)每2016個區(qū)塊進行一次自動調(diào)整,根據(jù)平均出塊時間增加或減小難度目標。難度目標的調(diào)整范圍上下限都是4倍。比特幣的調(diào)整方式相比于BCH每個區(qū)塊都調(diào)整,具有明顯的滯后性??赡苡胁煌挠^點,歡迎交流討論。