什麼是區塊鏈雜湊?
什麼是雜湊?了解密碼學雜湊函數如何運作,以及它們為何對區塊鏈安全至關重要。
閱讀指南
語言
在區塊鏈的運作中,區塊是構成整個系統的基本元件之一。雖然這個概念看似簡單,但在這個結構背後,結合了交易資訊、密碼學元素、網路歷史的參照,以及共識機制使用的資料。理解區塊是什麼,可以更精確地理解區塊鏈如何記錄操作、保存歷史,以及在沒有單一實體控制記錄的情況下協調數千名參與者。區塊不只是交易的容器,而是一個被設計成能夠放入可驗證序列中的資訊單位,並能抵抗任意修改。
與分散式會計帳本相比,這個概念會更容易理解。在傳統金融系統中,中央實體負責維護與更新操作記錄;在區塊鏈上,資訊分散於眾多參與者之間,而新的操作必須在納入歷史前先接受驗證。區塊作為分組單位,把這些操作集合在一起,並與先前的操作連結。如此一來,網路就能依循共同且可驗證的規則,從一個既定狀態移動到另一個狀態。
當使用者向區塊鏈發送交易時,該操作通常不會立即成為歷史中最終確定的一部分。它首先會在網路中廣播,並由參與驗證的節點檢查。根據每個協定的設計,它們會檢查數位簽章的真實性、資金是否可用,以及是否符合適用規則等事項。通過這些檢查的交易可能仍會保持待處理狀態,直到被選入新的區塊。這個過程使區塊成為一個界線,區分仍在等待確認的操作與已經納入共享記錄的操作。
區塊的內部結構在不同網路之間可能有所差異,但通常可以概念性地分為兩大部分。一部分是描述區塊本身並使其能在鏈中定位的資料,另一部分則是已被納入的交易或記錄。其中最重要的元素之一,是指向前一個區塊的密碼學參照,通常稱為前一區塊的雜湊值。這項機制在相鄰區塊之間建立數學關係。如果有人修改記錄在舊區塊中的某筆交易,該區塊的內容就會改變,其雜湊值也會跟著改變。由於下一個區塊包含對前一個雜湊值的參照,從那一點開始,這項修改就會破壞鏈的完整性。
這項特性解釋了所謂「區塊鏈不可變性」的一個重要部分。它並不表示資料在任何情況下都不可能被修改,而是表示當網路具有足夠的經濟或計算安全性時,協定可以讓事後修改變得極其困難且昂貴。要修改舊區塊,單純編輯鏈的本地副本是不夠的。攻擊者必須讓網路接受一個替代版本的歷史,而在某些系統中,這需要突破共識機制所提供的保障。
區塊的另一個常見組成部分,是稱為梅克爾樹的密碼學結構。它的目的,是透過單一的密碼學根值有效表示一組交易。區塊中的操作會經過連續的數學雜湊運算,直到產生一個稱為梅克爾根的最終值。這個值可以用來驗證某筆特定交易是否屬於所記錄的集合,而不必重新建立整個結構。在具有大量操作的網路中,這項特性對最佳化驗證及某些查詢方式尤其重要。
區塊也包含與時間有關的資訊。每個區塊通常具有時間戳記,或具備等效機制,以協助將其置於網路事件的序列之中。不過,這個數值不應被視為每筆交易實際發生時間的完美表示,因為它的精確度與意義取決於協定的具體規則。它主要用於組織歷史,以及其他用來驗證鏈的內部程序。
區塊的內容也取決於區塊鏈採用的共識系統。例如在比特幣中,區塊會包含與工作量證明流程相關的資訊,其中包括隨機數。搜尋符合協定所建立密碼學條件的解答時,可以反覆改變隨機數的值。礦工利用計算能力競爭尋找有效區塊。找到之後,其他參與者可以快速驗證它是否符合網路所定義的要求。
在採用權益證明的區塊鏈上,流程則不同。區塊的產生與驗證會依照與已投入特定資產的參與者有關的規則分配。在這些系統中,區塊會包含與驗證者及證明新提案符合協定條件的機制相關的資料。雖然區塊的生成與驗證方式會改變,但該結構的核心功能仍然存在。區塊依然代表網路認可的新狀態,以及與先前歷史之間可驗證的連結。
區塊的經濟面向同樣十分重要。許多區塊鏈使用激勵機制,獎勵參與建立或驗證歷史新單位的人。例如在比特幣中,一個有效區塊的加入,會與協定定義的獎勵以及所包含交易的手續費相關。這些激勵有助於協調彼此可能互不認識的參與者行為。鏈的安全性不只依賴密碼學,也依賴一種經濟設計,使遵循規則比試圖違反規則更具吸引力。
區塊的大小與產生頻率也會直接影響網路效能。包含更多交易的區塊可以提升處理能力,但也可能提高儲存、傳輸與驗證資訊的要求。同樣地,若過度縮短區塊之間的間隔,也可能影響參與者協調,並鼓勵某些形式的競爭或暫時性重組。因此,每條區塊鏈都會建立自己的參數,反映其在可擴展性、去中心化與安全性之間所做的不同取捨。
區塊的存在也帶來了「確認數」的概念。當一筆交易進入區塊後,隨著新的區塊建立在其上方,它便開始累積確認數。在某些網路中,鏈的深度越大,修改相應歷史的實際難度也越高。這並不代表所有區塊鏈都使用相同的安全模型,也不存在一個適用於所有操作的通用確認數。商家、交易所以及其他平台,會根據資產、協定及其願意承擔的風險程度,建立各自的標準。
總體而言,區塊是區塊鏈中負責組織、驗證與延續的單位。它集合資訊、納入對歷史的密碼學參照,並參與讓網路邁向新共同狀態的機制。它的重要性正存在於這些功能的結合之中。沒有區塊,這條鏈就沒有有序記錄事件的結構,也沒有清晰機制將歷史中的每個新部分與前面的部分連結起來。
因此,談論區塊,所涉及的遠不只是以數位方式儲存的一組交易。它是一個將密碼學、共識、經濟激勵與分散式協調結合起來的元件。理解這種結構,可以理解為什麼看似微小的修改可能對整條鏈造成影響,也可以理解為什麼網路的安全性既取決於區塊如何設計,也取決於參與者如何同意接受它們。從這個意義上說,區塊是讓區塊鏈得以運作的架構最清晰的體現之一。