在上一篇文章中,我們了解了比特幣是透過區塊鏈與 PoW 建立一個去中心化的信任系統。現在,讓我們更深入看看:比特幣的「挖礦」到底怎麼運作?「區塊鏈記帳」的技術細節是什麼?
首先可以知道區塊鏈(帳本) = 區塊 + 鏈,那麼一個區塊會有什麼東西?我們又是如何把它「鏈」起來的呢?
雜湊函數是一種可以把任意長度的資料,轉換成固定長度「亂數值」的工具。假設我們有一個雜湊函數叫做 h,拿一個資料 z 去丟進去,會得到一個結果 x,這個 x 就是 z 的「雜湊值」( h(z) = x )。
這種函數有幾個特性:
礦工會把所有交易紀錄組成一棵 Merkle Tree,這是一種可以快速驗證某筆交易是否存在的資料結構。整棵樹只需記錄「Merkle Root」,就能驗證所有交易,節省大量空間與計算量。
每個區塊會包含(未全部列出):
透過將上一個區塊的 Hash 值放入下一個區塊中,這些區塊就像一條鏈被串接起來。任何一個區塊的內容如果被修改,其後所有區塊的 Hash 都會改變,因此無法竄改過去紀錄。
礦工要做的事,就是不斷變動區塊中的 Nonce 數字,希望能湊出一個「開頭連續有很多個 0」的 Hash 值。
因為Hash函數的特性,猜中這個Hash值的方法只能靠大量嘗試Nonce值,因此稱為「工作量證明」(Proof of Work)。誰先猜中,誰就獲得記帳權與比特幣獎勵。
找到正確解答的礦工,會將新區塊廣播給全網。其他節點會驗證:
驗證成功後,該區塊就加入主鏈,變成最新的帳本頁面。
比特幣的總量設計為約 2100 萬顆。每當挖出 21 萬個區塊,獎勵就會減半。
從最初的 50 顆、25 顆、12.5 顆,到現在的 3.125 顆。預估在 2140 年將挖完全部比特幣。
👉下一篇,我們將介紹:
📚 本文出處:DeFintek.io
👉 歡迎點擊進入我們的課程平台,觀看更詳細的課程,一步步帶領你進入加密世界: 開始學習比特幣|DefinTek 課程平台