Bitcoin 挖礦:完整指南

什麼是 Bitcoin 挖礦? ⛏️
Bitcoin 挖礦是一個驗證 Bitcoin 交易並將新鑄造的 Bitcoin (BTC) 投入流通的程序。
Bitcoin 挖礦的作用包括:
-
激勵為 Bitcoin 區塊鏈提議與驗證新交易的礦工。
-
保護 Bitcoin 區塊鏈免受攻擊。
-
管理首次進入市場的 Bitcoin 加密貨幣新單位的建立與流通。
與實體開採黃金等貴金屬相似,開採 Bitcoin 需要專用硬件、能源,以及一點運氣。
然而,Bitcoin 礦工並非使用鏟子與淘盤,而是以專門建造的計算設備相互競爭。
每位礦工的目標是在以密碼學為基礎的競賽中取勝。每輪的勝出者會因其付出而獲得備受追捧的區塊獎勵。他們亦會獲授予權利,可提出一個待處理交易數據的新區塊,使其加入區塊鏈。
若以上內容對你而言全屬新知,請繼續閱讀我們在下文提供的 Bitcoin 挖礦完整指南。
不過,如果你想更深入及更具技術性地了解,或許會有興趣閱讀我們的另一篇文章——《加密貨幣如何運用密碼學?》。

為何需要 Bitcoin 挖礦?
在深入 Bitcoin 的運作機制之前,先了解 Bitcoin 挖礦最初為何會出現至關重要。
Bitcoin 網絡並非由中央銀行、極具影響力的億萬富豪或中介金融機構所管理。它由散佈全球的志願者共同管理,任何人皆可參與。
這意味著 Bitcoin 的運作有賴於用戶之間的合作。作為將電腦運算能力用於驗證交易的回報,協議會以新鑄造的 Bitcoin 加密貨幣作為獎勵授予礦工。
透過提供激勵促進合作,礦工群體會合力保障網絡安全,令惡意行為者要以極高成本才能取得網絡的過半控制權。
理解去中心化
為了更好地理解 Bitcoin 的去中心化特性,我們不妨看看像 Uber 這樣由中央管控的傳統公司。
試想一下,如果 Uber 是由數百萬名計程車司機與應用程式用戶共同管理,而不是由一小群高層行政人員掌控,那將是怎樣的情形。在這個更加去中心化的 Uber 模式中,所有參與方會共同協議司機的薪酬計算方式,以及叫車應用程式的運作規則——而不是由高層行政團隊代他們作出這些決定。
此外,與其由公司負責管理行政及應用程式開發等重要職能,世界上的任何人都可以利用自己的裝置,在自己家中協助承擔這些工作。這樣可為所有人締造一個更普及且透明的生態系統。
話雖如此,這種程度的去中心化也會引發一些嚴肅的問題:既然任何人都能參與網絡,又沒有單一機構監管其運作,那麼該如何阻止不誠實的人企圖破壞網絡?又該如何確保大家能有效協作?
這正是區塊鏈共識機制發揮作用的關鍵所在。
Bitcoin 挖礦是如何運作的? ⚙️
簡而言之,Bitcoin 挖礦是一場爭奪勝出的運氣遊戲,大約每十分鐘重複一次。
這涉及礦工使用專用機器來產生隨機數值。誰能算出一個超越目標數值的結果,誰就勝出。困難之處在於,礦工無法控制自己產生的數值。他們只能不斷生成新的數值,期望最終能偶然得到一個勝出的結果。
一旦有人算出符合條件的數值,便會將該數值廣播給網絡中的其他礦工,以供驗證其有效性。
要更易理解這個過程,可以想像成千上萬人同時蒙眼嘗試破解魔方。
起初,每人手上都有一個被打亂得完全相同的魔方。競賽一開始,所有人都會隨意轉動自己的魔方,直至監考員宣佈勝出者為止。其餘參賽者會摘下眼罩,檢查勝出者的魔方,以核實它是否已拼湊完整。隨後,競賽又會重新開始。
到目前為止,這樣的解釋能理解嗎?我們來進一步深入探討。
更準確地說,礦工會利用專為此用途而設的電腦互相競爭,每秒生成數以百萬計的密碼學雜湊值,期望能率先猜中正確的雜湊值。
你可以將每一個新產生的雜湊值想像成轉動一次魔方。
最先猜中正確雜湊值的礦工,即可獲得將該區塊加入區塊鏈的權利。作為對其工作的回報,礦工會獲得區塊獎勵。
Bitcoin 工作量證明共識機制
區塊鏈共識機制是一套由電腦驅動的系統,用以確保去中心化網絡中的參與者能就新數據寫入區塊鏈一事達成共識。
由於 Bitcoin 區塊及其內含的交易數據一旦寫入區塊鏈便會永久留存,因此確保這些資訊有效至關重要。
例如,網絡必須確保沒有人嘗試轉移他們實際並未持有的資金,或透過同時將同一筆餘額發送給兩個不同的人來進行「雙重支付」
共識機制協助網絡集體就這些問題達成共識,以確保新交易在上鏈永久留存之前已遵循協議所訂的規則。
在基於區塊鏈的網絡上,可採用多種不同的共識機制,各機制均有其獨特的方法篩除不誠實的用戶。
Bitcoin 採用工作量證明 (PoW) 共識機制——這是一套涉及運算能力與能源投入的系統,旨在確保參與者依循網絡的最佳利益行事。
此方法運用了博弈論的原理,而博弈論是一門研究人類如何相互影響的數學學問。透過要求參與者投入切身利益——即購置設備並承擔營運成本——工作量證明系統有助於阻止不良行為者企圖破壞網絡。
你可前往我們的 Kraken 學習中心文章《甚麽是區塊鏈共識機制?》,深入了解工作量證明及其他類型的共識機制。
什麼是密碼學雜湊值?
雜湊值是將任何類型的輸入資料經由密碼學雜湊函式運算後所產生的固定長度代碼。
你可以將密碼學雜湊函式想像成一種魔法代碼機器,它能接收從單一字母到整部百科全書的任何內容,並將之轉換成一串完全獨特且看似隨機的固定長度代碼。
多年來,曾出現多種不同的雜湊演算法。每一種都採用不同的方法將輸入資料轉換為隨機代碼。
Bitcoin 網絡採用安全雜湊演算法 256 (SHA-256),該演算法最初由美國國家安全局 (NSA) 研發。
SHA-256 雜湊值是由 28 個字符組成的固定長度十六進位代碼,其中包含 0–9 的數字與 A–F 的字母混合。
無論輸入的內容多小或多大,它都必定會產生一串長度完全相同的代碼。例如,將單字「Hello」或整部《魔戒》書籍放入 SHA-256 演算法運算,都會得出兩組獨特的 28 個字符雜湊值。
雜湊值在挖礦過程中至關重要,因其具備多項獨特特性。
雜湊值具備以下特性:
-
確定性 —— 同一輸入必定會產生完全相同的雜湊值。
-
單向性 —— 雖然將輸入內容轉為雜湊值很容易,但無法從輸出推斷出原本的輸入內容。
-
隨機性 —— 雜湊值的外觀與其輸入內容毫無相似之處。
-
唯一性 —— 任何兩個雜湊值絕不會相同。
這些特性的特別之處在於,只要修改輸入的一小部分,就會產生完全不同的輸出。
例如,如果你在《魔戒》書中更改單一字母,便會產生一個全新的雜湊值,與原先的雜湊值截然不同、無法辨認。
任何人都可以將任何輸入資料經由密碼學雜湊函式運算,從而產生雜湊值。你甚至可以用免費的線上雜湊計算器親自試試。
Bitcoin 礦工如何贏得區塊獎勵? 🏆
要贏得 Bitcoin 挖礦競賽並獲得區塊獎勵,礦工必須生成一個數值等於或低於 Bitcoin 協議自動設定目標的雜湊值。此數值稱為目標雜湊值。
每個目標雜湊值的前端都會有一定數量的零。根據當前的挖礦難度(亦由協議自動設定),前端可能只有少數幾個零,也可能有很多個零。
目標雜湊值前端零的數量越多,礦工就越難超越它;反之則越容易。
例如,一個典型的 Bitcoin 目標雜湊值可能會像這樣。
00000000000a28ba41fe240e0b37
一個較易超越的目標雜湊值可能會像這樣。
000agh3h5g6711deabcc650918d9
你有沒有注意到,它的前端零的數量明顯少了很多?
雖然這看似微不足道,但只要在前端多加一個零,就能令競賽的勝出難度增加數百倍。
你可以把它想像成拋硬幣,一次是連續三次正面朝上,另一次是連續二十次正面朝上,想一想這兩者的機率差距有多大。
每個新交易區塊的目標雜湊值會先作為前一個區塊的一部分向網絡廣播。這項資訊會儲存在區塊標頭之中,而區塊標頭是 Bitcoin 區塊的一部分,用於儲存多項重要的識別資訊。
區塊標頭內還有一個稱為 nonce 的值,全稱是「number used once」(一次性使用的數字)。
在建立雜湊以超越目標雜湊值時,所有礦工會取用前一個區塊的區塊標頭,將 nonce 改成新的數字,再交由 SHA-256 雜湊演算法運算。每次更改 nonce 值,都會產生一個全新的雜湊值。
由於礦工根本無法預知哪些輸入會產生哪些雜湊值,要超越目標雜湊值就只能靠不斷試錯。
猜測與驗證的過程會持續進行,直至有一位礦工成功產生一個雜湊值,其前端零的數量與當前目標雜湊值相等或更多。
然後,勝出的礦工會將新的交易資料區塊提交給區塊鏈上的其他礦工,供他們獨立驗證。那些沒有贏得挖礦競賽的其他礦工,會獨立驗證被提議的區塊,以確保該區塊有效。
要贏得 Bitcoin 區塊獎勵有多難? 🎛️
贏得挖礦競賽並獲得區塊獎勵的難易程度,取決於三個關鍵因素:
-
雜湊速率。
-
挖礦難度。
-
設備。
雜湊速率
雜湊速率是用於追蹤區塊鏈網絡中所有礦工總運算能力的指標。簡而言之,它會將每位礦工每秒產生的雜湊數量,與其使用的機器算力結合計算。
這項指標可讓人了解一個區塊鏈挖礦網絡的整體規模,以及它抵禦大多數攻擊的能力有多高。
隨著個網絡的雜湊速率上升,挖礦難度往往會增加,反之亦然。
回到魔方的例子,參與競爭破解魔方的人愈多,勝出的機會就愈低。
挖礦難度
Bitcoin 協議內建一項功能,可自動調整挖礦競賽的難度,以確保礦工盡可能在接近 10 分鐘區塊時間目標的情況下持續發現新區塊。
如前所述,新鑄造的 Bitcoin 會透過區塊獎勵進入流通,每當礦工成功超越目標雜湊值並獲得將新區塊加入區塊鏈的權利時,便會獲得該獎勵。
為確保新幣不會因網絡湧入愈來愈多新礦工而大量充斥市場,創造者中本聰在 Bitcoin 推出前已將一套演算法難度調整系統編入 Bitcoin 協議。
Bitcoin 挖礦難度演算法設定為:每產出 2,016 個區塊(約兩星期一次),協議會檢查礦工發現每個區塊勝出雜湊值所耗費的時間,並將該時間與應有的 20,160 分鐘(10 × 2,016)作比較。
若果突然有大量人士加入 Bitcoin 挖礦,而新區塊被發現的速度過快,該演算法會調高目標雜湊難度(即在雜湊值前端增加零的數目),以拖慢礦工的挖礦速度。
相反,若礦工數量減少,或礦工發現新區塊的時間開始過長,該演算法會將往後的目標雜湊值調低難度(即減少雜湊值前端零的數目)。
不妨將這個機制想像成調整破解魔方的難度,即增加或減少魔方的行數。
以 3×3 魔方為例,它會比 5×5 魔方容易破解得多,以此類推。
設備
為在網絡中比其他礦工更具競爭優勢,不少礦工會使用專用積體電路 (ASIC) 挖礦機。這些機器每秒可產生數億次雜湊運算,而且可以並行運作,令擁有者更有機會贏得區塊獎勵。
目前包括 Riot Platforms、Marathon Digital 與 CleanSpark Inc. 在內的多家大型上市公司均營運龐大的加密貨幣挖礦設施,內含數以千計的 ASIC 挖礦機。
這些較大型營運者的參與大幅推高了 Bitcoin 整體的雜湊速率,令發現新區塊的難度日益增加。
任何人都可以隨時透過多個免費的線上雜湊速率圖表,查看 Bitcoin 當前的雜湊速率。
開始購買 Bitcoin
既然你已了解有關 Bitcoin 挖礦的全部內容,你是否已準備好邁出加密貨幣之旅的下一步?
點擊下方按鈕即可在 Kraken 上購買 Bitcoin!