挖礦這個詞起源於對加密貨幣的比喻,而從事挖礦的也因此被稱之為礦工。當礦工們透過共享資源組隊挖礦時,他們所擁有算力的總和則稱為礦池。挖礦是 PoW 共識機制的核心。除了挖出新幣,挖礦也是一個幫助驗證交易有效性,維護網路安全的機制。
以比特幣(BTC)為例。比特幣是一個區塊鏈網絡,所有的交易及數據都以一個個區塊的形式儲存。比特幣網路中每隔一段時間(約 10 分鐘)就會有一個包含交易的區塊產生,而使區塊產生的過程就是挖礦的過程。在這個過程中,礦工需要破解網路產生的複雜數學難題。
這種複雜的數學題目是基於雜湊函數建構的。雜湊函數是密碼學中的一個複雜概念。目前我們只要把雜湊函數看作是一個神秘的黑盒子,無論你向其中輸入什麼格式的信息,它都會被處理(或者說被哈希化)成一個統一格式的值,即哈希值。
在挖礦的脈絡下,輸入的資訊稱為 nonce。由於 nonce 的取值空間是巨大的,礦工們幾乎不可能在不計算的情況下「猜測」出來。在會消耗大量時間、能源的迭代計算過程中「付出」最多的礦工將被認定為贏家,這種「付出」就是工作量證明(PoW)共識中的工作量(Work)。
礦工需要透過挖礦程序進行迭代計算(即重複計算),以成功完成運算並挖出一個新的區塊。簡單來說,礦工在這個過程中需要從海量的資料中一個一個試出滿足要求的答案,才能成功出塊。
第一個成功完成運算的礦工(或礦池)將獲得獎勵。目前,成功在比特幣網路中挖出一個區塊的礦工會得到 6.25 個 BTC。作為獎勵的比特幣數量每四年減半,下一次的比特幣獎勵減半預計將在 2024 年左右發生。
在挖礦過程中,造價高昂的礦機等硬體、運轉礦機所需的電力、礦池手續費等因素共同構成了成本。其中,為了達到算力優勢、優先完成運算而投入的資源成本佔大部分。
挖礦可以提供更多的流動性,同時透過高昂的作惡成本,來支持去中心化系統中的信任建設,維護網路安全。具體來說,挖礦難度和相應的獎勵機制的結合為網路提供了一種安全機制,即,透過礦工之間高效的算力競爭,使網路無需透過中心化的機構(如傳統市場中的銀行)的保護,就可以完成交易紀錄及資料的驗證及接力賽。
就最大供應量固定的比特幣而言,隨著未挖出的比特幣數量越來越少,參與挖礦的算力競爭也日漸激烈,現在一個擁有普通水平算力的個體已經不可能挖到比特幣,這就帶來了中心化相關的風險。
同時,未成功挖出區塊的算力以及投入的相關硬體、資源也被視為一種「不環保的浪費」。這些因素引得許多人在以挖礦為基礎的 PoW 共識之外尋求更可持續、更節能的共識協議,例如權益證明 (PoS)共識。