比特幣挖礦如何運作? 比特幣 或加密貨幣的挖礦(mining),是指用戶可以獲取新產生的加密貨幣的過程。比特幣網絡約每10分鐘產生1個區塊(block),當前提供給礦工6.25枚比特幣的獎勵。 目前開採比特幣需要大量的 雜湊運算力,愈大量雜湊運算力參與挖礦,「解題」難度就愈高,擁有更多運算資源的礦工就愈有利。

簡而言之,礦工是連接到網絡的另一類節點。 它們通常除了會執行普遍節點進行的所有操作,例如廣播交易及區塊資訊外,還會將交易記錄添加到過去交易的公共分散式賬簿,來創建新區塊。

比特幣挖礦流程

比特幣和大多數加密貨幣的挖礦,都使用工作量證明(Proof-of-Work)機制。礦工將不同「輸入值」(Input)組合起來,對其進行雜湊運算,得出「輸出值」(Output);當礦工計算出目標的輸出值、構成所謂新的區塊頭雜湊值(Block Header Hash),網絡便會以新產生的比特幣和交易費獎勵該礦工。 新比特幣的產生過程,與黃金具備相似的特徵,只是過程當中涉及的資源並非用於金礦,而是涉及CPU運算資源、時間和電力。一旦產生了所有合共2,100萬枚比特幣,礦工在挖礦環節就將只會獲得交易費用作為獎勵,而交易費用不會受比特幣的通脹率(即增發率)變動影響 。

下面是由礦工在挖礦過程進行雜湊運算的「區塊頭」輸入值(資料來自BitcoinWiki):to show how block hashing works

 

比特幣挖礦的目標輸出值

比特幣區塊鏈使用的是SHA256雜湊算法,礦工要計算出來的目標輸出值是一組256位數字。比特幣網絡認受由SHA256運算而成的區塊頭雜湊值,且必須小於或等於目標值才算正確。簡而言之,礦工運算出來的該組雜湊輸出值,較前列的應該會有很多個「0」,才符合目標值範圍。目標輸出值愈低、即排前列的「0」愈多,隨機算中低於目標值的數字、生成新區塊的難度就會愈高。

可想而知,這個運算機制不是一個固定的數學計算問題。隨著不同輸入值的變動,例如相差幾秒鐘的時間記錄、 Nonce (隨機數)等,計算出來的輸出值都不同;要能夠得出正確的目標輸出值,更像六合彩抽獎。礦工擁有的雜湊運算力愈強,每秒進行的嘗試就愈多,就能有更大機會隨機「猜中」。

挖礦運算難度:

比特幣和加密貨幣的挖礦機制,重點在於維持難度。比特幣網絡通常約在每10分鐘產生一個新區塊,而每產生2,016個新區塊,挖礦運算難度就會進行一次調整。通常每個塊10分鐘需要2週。每隔2,016個新區塊,比特幣網絡會將實際挖礦所花的時間,與2週的基準進行比較,相應調整難度。當礦工過快地挖礦時,挖礦難度就會調高,反之亦然。

挖礦的比特幣獎勵

礦工可獲得的創建區塊費用,每隔210,000個新區塊,便會作出一次調整。在初期,比特幣礦工創建一個新區塊,會獲得50枚比特幣,然後獎勵下降到每個塊25枚比特幣,目前則是6.25枚比特幣。最終,礦工收到的創建區塊費用,將會生成第6,930,000個區塊時減至零,屆時累計生成並流通的比特幣總數就達到2,100萬枚的上限。隨後,礦工在創建新區塊時只會賺取交易費。

*挖礦難度、區塊創建費用和數據架構等,都根據 比特幣程式規則.

交易費用

如果你將一宗交易的輸入和輸出相加,你會發現有所不同,當中差別是比特幣網絡支付給礦工以工作量證明(PoW)方式驗證交易,並將你的交易添加到區塊鏈上涉及的交易費用。

一個新區塊不必包含比特幣網絡上所有未完成的交易,礦工可以選擇 新區塊中包含的內容 。因此,交易費用愈高,礦工收錄交易的可能性就越大。提出交易者可以設置每宗交易願意支付的費用金額,亦有些電子錢包可以為用戶決定,交易費用最終由提出交易者支付。你可以選擇不付任何交易費用,但是該宗交易可能要花上數周、數月進行、甚至可能永遠都不會確認完成。世上沒有免費午餐,比特幣網絡的礦工們也不會免費為你的交易提供服務。

交易者查看每筆交易的費用(以比特幣為計算單位)可參考mempool 按此瀏覽.

這 連結 提供了包括加密、交易、驗證、挖掘新區塊、以及生成比特幣的整個過程的展示圖。 (注意:展示圖細節,包括每個區塊的比特幣獎勵,未必屬最新資料。

感謝你閱讀我們此文章,想了解比特幣及其他加密貨幣的最新資訊,歡迎訂閱我們的通訊。

通訊