自今年 7 月份以來,比特幣的全網算力增長了 80% 以上。根據 Blockchain.com 的資料,9 月 18 日比特幣全網算力超過了 102.8EH/S,而在今年的 7 月 1 日,這一資料是 56.4EH/S。
比特幣全網算力,來源:Blockchain.com由於比特幣算力的持續快速增長,不少人預測,
比特幣區塊獎勵將在明年提前減半。
不是說“比特幣會動態調整挖礦難度,保證區塊獎勵每四年減半”的嗎?為什麼會提前呢?
今天,我們就來一探究竟。在《比特幣的“四年減半”是什麼意思》一文中,白話區塊鏈給大家介紹了:比特幣每 21 萬個區塊後,區塊獎勵減半。
以比特幣平均每 10 分鐘一個區塊,一小時平均 6 個區塊計算,21 萬個區塊大約需要 4 年時間。所以,才有了比特幣“四年減半”的說法。
210000÷(365x24x6)≈4
那麼,比特幣是如何保證平均每 10 分鐘一個區塊的呢?動態調整挖礦難度的機制,難道失靈了,導致比特幣明年可能提前減半?
其實不是,主要原因是比特幣的難度(Difficulty)調整機制具有滯後性。
難度動態調整並不是每個區塊都調整一次,而是一個週期調整一次。
一個週期是多長時間呢?2016 個區塊。
也就是說,每 2016 個區塊,比特幣調整一次難度係數。如果還是按照平均每 10 分鐘一個區塊,一小時平均 6 個區塊計算,比特幣大概是每 14 天調整一次。
比特幣最近的難度係數,來源:CoinWarz那麼,比特幣是如何調整挖礦難度係數的呢?
主要是透過比較之前 2016 個區塊的實際產生時間。如果這個實際產生時間小於 20160 分鐘(即每 10 分鐘一個區塊的期望值),難度就會按比例增加;如果是大於 20160 分鐘,則按比例降低難度。
依據的公式如下:
新難度係數=當前的難度係數*(前2016個區塊的實際出塊時間÷20160分鐘)
為了防止比特幣的難度係數變化過快,每個週期的難度調整會有一個區間。假定當前的難度為 100% 的話,那下一次的難度係數不能超出 25%~400% 這個區間。
根據 btc.com 網站的統計,比特幣的當前難度約為 11.89T,距離下一次難度調整大約還有 7 天時間,難度預計會增長 11.21%。
資料來源:btc.com
由於比特幣的難度係數是一個週期調整一次,而全網算力的變化是實時的,所以這個調整具有一定的滯後性。
如果全網算力持續、快速地增長(比如現在),區塊獎勵減半的時間就可能提前;如果全網算力持續、快速地下跌,區塊獎勵減半的時間就可能推後。
這就是為什麼很多人預測比特幣明年的區塊獎勵減半會提前。