區塊鏈是一種特別類型的資料庫,又被稱為「分散式帳本(Distributed Ledger Technology)」。區塊鏈是最常見的一種分散式帳本技術系統,因此,這兩種詞常常可以互換使用。但並非所有的分散式帳本技術系統都是區塊鏈,區塊鏈就像試算表一樣是用來儲存資訊的,但這些資訊遵循的規則比較特殊。規則如下:1. 可以新增資料 2. 無法移除或修改資料 3. 每一片段的資料都必須回指上一段的資料內容。
區塊即是遵循特定格式的打包成團資訊,新資料僅可作為區塊的一部份加入區塊鏈。因此,區塊的集合便組成了區塊鏈資料庫。區塊鏈最獨特之處在於,每一個區塊都是建構在上一個區塊之上,每一個獨立區塊都會指涉一部份上一區塊所儲存的資訊。
要了解這個方式,就必須先瞭解雜湊(Hashing)這個詞。雜湊是將任意大小的輸入資料建立為固定長度字串的流程,產出的字串又稱為輸出值。產出輸出值的方式是運用一種稱做「雜湊函數」的數學計算而得。我們可以使用所有種類,包含文字、圖片、影片等各種大小的輸入內容,但輸出或雜湊,必定具備可預測的長度。
雜湊值的長度要視使用的雜湊演算法而定,換言之,雜湊即是將任意大小的資料經過函數運算後,得出固定長度的值。每一個區塊鏈的區塊都有自己的雜湊值,可以作為獨一無二的標示符號,每當全新的區塊建立時,其雜湊值必須根據上一個區塊產生,因此,如果要簡單回答上述問題,我們會說:區塊是透過雜湊連接在一起的。
每一個區塊的雜湊值(cryptographic hash function)都是獨一無二的,因為要找到兩個資料片段,產生完全相同的雜湊值,事實上幾乎不可能。在密碼學中,我們稱之為「雜湊衝突」,而雜湊衝突正是區塊鏈資料可以防止篡改的原理。
<aside> 📌
補充:什麼是雜湊衝突?算法為何?如何處理雜湊衝突?
https://medium.com/@ralph-tech/資料結構學習筆記-雜湊表-hash-table-15f490f8ede6
</aside>
區塊鏈並不具備中央授權的機構,整個系統不需要公信力、權威性即可運作,這意味著區塊鏈可以在數位世界中作為單一資訊來源。它能讓網路用戶對於資料庫內容存有共識,並同步更新所有內容。區塊鏈的**點對點架構(P2P)**由用戶的分散式網路組成-人人平等,更新不需要集權中央的統籌者即可進行。網路上的每個用戶都能從其他人那裡下載區塊,建立自己的資料庫複本。鑑於以上內容,我們可以將區塊鏈描述成一種去信任化系統,它意味著去信任、透明(所有數據)安全、冗餘還有不朽性、永久性,即使很多人下線了,網絡仍會持續運作。
不同雜湊函數將生成不同大小的輸出值,但每個雜湊演算法的可能輸出大小始終一致。例如,SHA-256 演算法只能生成 256 位元的輸出值,而 SHA-1 將一律生成 160 位元的摘要。傳統的雜湊函數具有廣泛的用例,包括資料庫查找、大型檔案分析和資料管理。另一方面,加密雜湊函數廣泛用於資安應用,例如訊息驗證和數位指紋識別。雜湊在處理大量資訊時才會發揮真正的實力。例如,大型檔案或資料集可以透過雜湊函數執行,然後使用其輸出值來快速驗證資料的準確性和完整性。雜湊函數的決定性可以辦到這一點:輸入值將始終導致簡化且壓縮的輸出值 (雜湊)。這種技術代表不再有儲存和「記住」大量資料的需求。
在技術方面,加密雜湊函數必須依循三個屬性才能視為確實安全。這些屬性包含抗碰撞性、抗原像攻擊性和抗第二原像攻擊性。討論每個屬性之前,讓我們以三個簡短句子摘要說明。
抗碰撞:無法找到兩個不同輸入值可生成相同的雜湊輸出值。 抗原像攻擊:無法「還原」雜湊函數 (從輸出值推算輸入值)。 抗第二原像攻擊:無法找到任何與指定輸入值碰撞的第二輸入值。
優點:
分散性(資料通常儲存於分散式節點網路的數千個裝置之中,系統和資料對技術故障和惡意攻擊具有很高的抵抗性,不存在單點式攻擊)
穩定性(已確認的區塊不太可能被逆轉,一旦資料被註冊到區塊鏈,就極難移除或變更,可防止欺詐)
去信任化系統(透過減少中間機構和第三方而降低了整體成本和交易手續費)
缺點:潛在風險-51% 攻擊(理論上是可能的,但比特幣區塊鏈上從未有過成功的 51% 攻擊,因其技術難度和成本過高。此外,比特幣區塊鏈具有很強的彈性,能夠快速適應以回應攻擊。)、資料修改難度高(變更區塊鏈資料或代碼通常要求很高,通常需要硬分叉,即放棄一個鏈,啟用新鏈)、遺失私鑰將無法救回(如果用戶丟失他們的私鑰,資金實際上就丟失了,而且他們對此無能為力。)、儲存空間(隨著時間的推移,區塊鏈帳本會變得非常大。目前,比特幣區塊鏈需要大約 200 GB 的儲存空間。區塊鏈規模目前的增長似乎超過了硬碟的增長,如果帳本變得過大,個人無法下載並儲存,網路就有失去節點的風險。)
Blockchain 通過各種機制實現了安全加固,這些機制包括先進的加密技術及方案和數學模型決策。區塊鏈技術是大多數加密貨幣系統的基礎架構,它可以防止數字貨幣被複製和破壞。
不可篡改和共識的概念 密碼學在區塊鏈安全中的作用 密碼經濟學