什麼是區塊?
區塊可以理解為區塊鏈用來打包新紀錄的資料包。一個區塊通常包含一批交易或其他更新,以及供區塊鏈網路中的節點檢查這些內容的資訊。除第一個區塊外,新區塊通常還會保存前一個區塊的數位指紋,也就是雜湊值,因此區塊能夠按順序連接起來。
區塊的組成
區塊通常會包含三類資訊:
- 交易或其他更新:記錄這個區塊要加入鏈上的內容。
- 與前一個區塊的連接:通常使用前一個區塊的雜湊值,幫助節點檢查區塊順序和歷史是否被改動。
- 檢查區塊所需的資訊:例如對交易或狀態的摘要、時間或順序資訊,以及該網路共識機制需要的資料。
這只是常見結構,不是所有網路共用的固定格式。不同區塊鏈使用的欄位、容量限制和驗證規則可能不同。
以比特幣為例:比特幣區塊由 80 位元組的區塊標頭和交易列表組成。區塊標頭保存版本、前一區塊標頭雜湊、默克爾根、時間戳記、挖礦難度目標,以及礦工在尋找有效區塊時反覆嘗試的數值。默克爾根可以理解為對區塊中交易的彙總指紋:如果相關交易資料被改動,該指紋也會變化。
比特幣區塊的第一筆交易是 coinbase 交易,用來領取協議允許的區塊補貼和交易費。因此,所謂「空區塊」可以沒有普通使用者交易,但仍會包含 coinbase 交易。
以以太坊為例:以太坊的權益證明區塊包含共識層資訊和「執行載荷」。執行載荷是區塊中負責記錄交易和執行結果的部分。區塊 Gas 上限限制的是區塊內允許的總 Gas 用量,而不是固定的交易筆數。
默克爾根、狀態根和父區塊雜湊都是用於檢查資料的數位指紋,並不包含所有原始資料。節點仍需取得相應的區塊內容或狀態資訊,才能完成全面檢查。
區塊如何進入網路歷史
新區塊並不是一發布就會寫入網路採用的歷史。它通常會經歷以下過程:
- 礦工或驗證者收集交易,組成一個候選區塊。
- 候選區塊被發送給網路中的其他節點。
- 節點檢查區塊和其中的交易是否符合規則。
- 如果同時出現兩個有效區塊,節點會按網路規則選擇在哪個區塊之後繼續添加新區塊。
- 隨著新區塊或驗證者投票繼續出現,這段歷史通常會越來越難以改變;有些網路還會進一步確認它已經達到最終性。
這裡的「網路規則」是區塊鏈協議預先設定的判斷方法。Bitcoin 節點會按累計工作量選擇有效鏈;Ethereum 則參考驗證者投票。其他網路可能採用不同方法。因此,通過節點檢查的區塊,不一定會進入網路採用的主要歷史。
區塊的位置與識別
區塊高度表示一個區塊排在區塊鏈的什麼位置,類似頁碼。但兩個競爭中的區塊可能處在同一高度,所以高度不能用來唯一識別區塊。
區塊雜湊則是根據區塊資料計算出的數位指紋,用來識別具體區塊。一些區塊瀏覽器會把高度稱為「區塊編號」,但編號本身不能說明該區塊是否已被網路採用或最終確定。區塊鏈中的第一個區塊稱為創世區塊,它沒有前一個區塊。
區塊中的交易狀態
一筆交易出現在區塊中,表示它已經被收錄。如果網路繼續沿著這個區塊往後添加新區塊,這筆交易的確認數通常會增加。當網路根據自身規則認為這段歷史在正常情況下不會再改變時,它便達到了最終性。
網路有時會改用另一段區塊歷史,這稱為鏈重組。被替換區塊中的交易可能重新等待收錄、出現在其他區塊,或者變得無效。Ethereum 還會透過驗證者對檢查點的投票來建立最終性。因此,「已收錄」「已確認」和「已最終確定」表示不同階段。
區塊容量
區塊能容納的交易筆數不固定。交易佔用的空間和需要執行的操作不同,就像同樣大的箱子會因物品大小不同而裝下不同數量的物品。
Bitcoin 使用「區塊權重」衡量區塊容量;這套規則由比特幣改進提案 BIP-141規定,並對普通交易資料和隔離見證資料採用不同權重。Ethereum 則透過區塊 Gas 上限限制一個區塊可使用的總 Gas。因此,兩個接近容量上限的區塊,交易筆數仍可能不同。
出塊時間
出塊速度由具體網路決定。在工作量證明網路中,找到新區塊帶有隨機性,所以兩個區塊之間的實際時間不會每次都一樣。Ethereum 把時間劃分為固定時隙,但如果當班的驗證者沒有成功提交區塊,該時隙也可能是空的。
區塊驗證
收到區塊後,節點會自己檢查,而不是因為它已經在網路上傳播就直接接受。節點會檢查區塊是否連接到有效的前一個區塊、格式和交易是否符合規則,以及是否超過容量等限制。具體檢查項目因網路而異。
如果檢查失敗,節點會忽略這個區塊,並繼續處理其他有效區塊。因此,一個無效區塊被廣泛傳播,也不會因此變成有效區塊。
常見問題
區塊和區塊鏈是一回事嗎?
不是。區塊是一個資料包,區塊鏈是這些資料包按網路規則連接而成的紀錄。
區塊和區塊獎勵是一回事嗎?
不是。區塊用來保存交易和相關資訊;區塊獎勵是某些網路按協議規則向區塊生產者提供的報酬。
「空區塊」裡什麼都沒有嗎?
不一定。以 Bitcoin 為例,「空區塊」通常是指沒有普通使用者交易的區塊,但它仍然包含 coinbase 交易。
相關詞條
繼續了解區塊鏈、區塊鏈地址和Gas 費,或返回加密貨幣術語表。
參考來源
- Bitcoin Developer Reference:區塊鏈——區塊標頭欄位、交易承諾與序列化結構。
- BIP-141:隔離見證——見證資料與 coinbase 見證承諾。
- Bitcoin Developer Guide:區塊鏈——驗證、coinbase 交易、鏈選擇與競爭區塊。
- Ethereum:區塊——區塊欄位、執行載荷、Gas 上限、時隙和時間。
- Ethereum:權益證明——提議、證明、分叉選擇與最終性。



