區塊鏈(Blockchain)

出自非小号百科
於 2024年12月2日 (一) 02:39 由 Doge對話 | 貢獻 所做的修訂

區塊鏈是一種分佈式賬本,由一系列按時間順序排列的區塊組成,這些區塊通過加密哈希連結在一起。每個區塊包含前一個區塊的哈希值、時間戳和交易數據(通常以默克爾樹的形式表示)[1]。由於每個區塊都包含有關前一個區塊的信息,它們實際上形成了一個鏈(類似於鍊表數據結構),每個新區塊都連結到之前的區塊。因此,區塊鏈交易是不可逆的,一旦記錄下來,任何給定區塊中的數據都無法在不改變後續所有區塊的情況下進行追溯性修改。

區塊鏈通常由對等(P2P)計算機網絡管理,用作公共分佈式賬本。節點共同遵守共識算法協議來添加和驗證新的交易區塊。儘管區塊鏈記錄並非不可更改,因為可能存在區塊鏈分叉,但區塊鏈在設計上被認為是安全的,並體現了具有高拜占庭容錯性的分佈式計算系統[2]

2008年,中本聰 創造了區塊鏈,作為比特幣加密貨幣交易的公共分佈式賬本,基於斯圖爾特·哈伯、W·斯科特·斯托內塔和大衛·拜爾之前的研究。比特幣中區塊鏈的實現使其成為第一個無需可信權威或中央伺服器即可解決雙重支付問題的數字貨幣。比特幣的設計啟發了其他應用程式和區塊鏈,這些區塊鏈可供公眾讀取,並被廣泛用於加密貨幣。區塊鏈可被視為一種支付軌道。

私有區塊鏈已被提議用於商業用途。很多人認為,如果精心設計,許可型區塊鏈可能比無許可型區塊鏈更去中心化,因此在實踐中更安全。

發展歷程

  • 1982年,David Chaum 首次提出了一種類似區塊鏈的協議,用於建立、維護和信任由相互懷疑的群體組成的計算機系統。
  • 1991年,Stuart Haber 和 W. Scott Stornetta 進一步研究了加密安全區塊鏈,旨在實現無法篡改文檔時間戳的系統。
  • 1992年,Haber、Stornetta 和 Dave Bayer 引入了默克爾樹,提高了效率,允許將多個文檔證書收集到一個區塊中。自1995年以來,他們的公司 Surety 每周都在《紐約時報》上發佈文檔證書哈希。
  • 2008年,中本聰 提出了一種去中心化的區塊鏈概念,通過類似 Hashcash 的方法對區塊進行時間戳,無需可信第三方簽名,並引入難度參數來穩定區塊添加速率。
  • 2009年,中本聰 將這一設計應用於比特幣,使其成為第一個解決雙重支付問題的數字貨幣,並成為網絡上所有交易的公共賬本。
  • 2014年,比特幣區塊鏈文件大小達到20GB,包含了網絡上發生的所有交易記錄。
  • 2015年,大小增長到近30GB。
  • 2016年, "區塊鏈"一詞逐漸普及,儘管中本聰最初的論文中使用了 "區塊" 和 "鏈" 分開。
  • 2016年, 據 Accenture 預測,區塊鏈在金融服務行業達到了 13.5% 的採用率,進入早期採用者階段。行業貿易集團聯合成立了全球區塊鏈論壇。
  • 2016年至2017年,比特幣區塊鏈從50GB增長到100GB。
  • 2018年, Gartner 發現,只有 1% 的 CIO 表示在其組織中採用某種形式的區塊鏈,只有 8% 的 CIO 處於短期 "計劃或積極試驗區塊鏈" 階段。
  • 2019年, Gartner 報告稱,5% 的 CIO 認為區塊鏈技術是改變其業務的遊戲規則。
  • 2020年初:賬本大小超過200GB。

設計和結構

區塊鏈是一種去中心化的、分佈式的、通常是公開的數字賬本,由稱為區塊的記錄組成,用於記錄許多計算機之間的交易。這些區塊以一種方式連結在一起,使得任何涉及的區塊都無法在不改變所有後續區塊的情況下進行追溯性更改。這使得參與者能夠獨立且相對廉價地驗證和審計交易。

區塊鏈數據庫通過對等網絡和分佈式時間戳伺服器進行自主管理。它們通過集體自我利益驅動的廣泛協作進行認證。這種設計有助於建立一個穩健的工作流程,其中參與者對數據安全的擔憂降到最低。

通過使用區塊鏈,可以消除數字資產無限複製的特性。它可以確認每個價值單位只被轉移一次,從而解決了長期存在的雙重支付問題。區塊鏈可以被視為一種價值交換協議。當區塊鏈被正確設置以詳細記錄交換協議時,它可以提供強制執行要約和接受的記錄,從而維護所有權。

從邏輯上講,區塊鏈可以分為幾個層:

  • 基礎設施層(硬件)
  • 網絡層(節點發現、信息傳播、驗證)
  • 共識層(工作量證明、權益證明)
  • 數據層(區塊、交易)
  • 應用層(智能合約/去中心化應用,如適用)

區塊

區塊是區塊鏈的基本單位,它包含了一批有效的交易,並通過哈希算法和 Merkle 樹進行編碼。每個區塊都包含了前一個區塊的加密哈希值,從而形成一條鏈式結構。這種鏈式結構確保了區塊的完整性,因為任何對區塊的篡改都會導致後續區塊的哈希值失效。

為了保證區塊和其中包含的數據的完整性,通常會對區塊進行數字簽名。有時,可能會同時產生多個區塊,形成一個臨時性的分叉。為了解決這種分叉問題,區塊鏈系統會根據特定的算法對不同的歷史版本進行評分,選擇得分最高的版本作為主鏈。未被選中的區塊被稱為孤塊。

參與區塊鏈網絡的節點可能會擁有不同的歷史版本。它們只保留已知得分最高的版本。當一個節點接收到一個得分更高的版本(通常是舊版本加上一個新區塊)時,它會擴展或覆蓋自己的數據庫,並將改進後的版本重新傳輸給其他節點。隨着越來越多的區塊被添加到鏈上,某個區塊被取代的概率會指數級下降,最終變得非常低。

比特幣使用工作量證明 (PoW) 系統,即擁有最多累積工作量證明的鏈被網絡視為有效鏈。通過冗餘計算,而不是傳統的隔離和並行方式,確保了區塊鏈的安全性。

區塊時間

區塊時間是指網絡平均生成一個新的區塊所需的時間。當區塊完成時,其中包含的數據就變得可驗證了。在加密貨幣中,這實際上就是交易發生的時間,因此更短的區塊時間意味着更快的交易速度。

以太坊的區塊時間設置為 14 到 15 秒,而比特幣的平均區塊時間為 10 分鐘。

硬分叉

主條目:分叉

硬分叉是一種對區塊鏈協議的更改,不向後兼容,要求所有用戶升級軟件才能繼續參與網絡。在硬分叉中,網絡分裂成兩個獨立的版本:一個遵循新規則,另一個遵循舊規則。

例如,以太坊在2016年進行了一次硬分叉,以補償 DAO 攻擊事件中的投資者損失。這次硬分叉導致了以太坊和以太坊經典 (Ethereum Classic) 兩條鏈的分裂。2014年,NXT 社區曾考慮進行一次硬分叉,以回滾區塊鏈記錄,以減輕從一個主要的加密貨幣交易所盜取 5000 萬 NXT 的影響。但硬分叉提案被拒絕,部分資金通過談判和贖金支付的方式被追回。

另一個較近的硬分叉例子是2017年的比特幣硬分叉,導致了比特幣和比特幣現金的分裂。網絡分裂的主要原因是對如何增加每秒交易量以滿足需求存在分歧。

去中心化

通過將數據分散存儲在對等網絡中,區塊鏈減少了集中式數據存儲帶來的風險。這種分佈式架構,結合了臨時消息傳遞和分佈式網絡,使得數據更加安全可靠。

儘管區塊鏈具有高度的安全性,但仍存在一些潛在的威脅。其中之一是 51%攻擊,即一個實體控制了網絡中超過一半的算力,從而可以操縱區塊鏈記錄。然而,這種攻擊需要巨大的計算資源,通常難以實施。

區塊鏈使用公鑰加密技術來確保數據的安全性。公鑰是一個長串的隨機數字,作為區塊鏈上的地址。發送到網絡的價值代幣被記錄為屬於該地址。私鑰就像密碼一樣,賦予其所有者訪問數字資產或與區塊鏈支持的各種功能進行交互的權限。

區塊鏈上的數據被認為是不可篡改的。每個節點都擁有區塊鏈的副本,通過大量的數據庫複製和計算信任來維護數據質量。不存在中央權威,也沒有任何用戶被信任度更高。交易通過軟件廣播到網絡,消息以盡力交付的方式傳遞。早期的區塊鏈依賴於高能耗的挖礦節點來驗證交易,將它們添加到正在構建的區塊中,然後將完成的區塊廣播給其他節點。區塊鏈使用各種時間戳方案,如工作量證明,來序列化更改。隨着區塊鏈的增長,處理大量數據所需的計算資源也變得越來越昂貴,這可能導致中心化的風險。因此,一些新的共識機制,如權益證明,被引入以解決這一問題。

終結性

終結性是指對最近添加到區塊鏈的格式良好的區塊的信任程度,即該區塊在未來不會被撤銷(被「終結」)的可能性。大多數分佈式區塊鏈協議,無論是工作量證明 (PoW) 還是權益證明 (PoS),都不能保證新添加的區塊的絕對終結性,而是依賴於「概率終結性」:隨着區塊在區塊鏈中越深,它被更改或回滾的可能性就越小。

拜占庭容錯的權益證明協議聲稱可以提供所謂的「絕對終結性」:一個隨機選中的驗證者提議一個區塊,其餘驗證者對其進行投票,如果大多數驗證者同意,則該區塊將不可逆地添加到區塊鏈中。經濟終結性是一種對該方法的修改,在實際協議中使用,例如以太坊中的 Casper 協議。驗證者如果在區塊鏈的同一位置簽署兩個不同的區塊,就會受到「削減」懲罰,即他們的質押權益會被沒收。



區塊鏈的基本結構

區塊鏈是一個由「區塊」組成的鏈式結構,每個區塊存儲一定數量的交易數據,並通過以下關鍵元素進行連接:

  1. 區塊(Block)
    • 包括兩部分:區塊頭(Block Header)區塊體(Block Body)
    • 區塊頭:包含元數據,如上一區塊的哈希值、時間戳、隨機數、Merkle樹根等。
    • 區塊體:包含具體的交易記錄。
  2. 哈希值(Hash)
    • 每個區塊通過哈希函數生成一個唯一的固定長度標識。
    • 區塊鏈中的每個區塊都會引用其前一區塊的哈希值,形成鏈式連接。
  3. 鏈(Chain)
    • 區塊按時間順序連接成鏈,區塊之間的相互引用確保數據的完整性和不可篡改性。

區塊鏈的核心特性

  1. 去中心化(Decentralization)
    • 區塊鏈通過網絡中的分佈式節點記錄和驗證交易,無需中心化的信任機構。
  2. 透明性(Transparency)
    • 交易記錄公開可查(對公共區塊鏈而言),增加了系統的信任度。
  3. 不可篡改性(Immutability)
    • 一旦區塊被添加到鏈中,其內容就無法被修改,防止惡意篡改。
  4. 安全性(Security)
    • 使用加密算法保護數據,確保用戶私隱和交易安全。
  5. 可追溯性(Traceability)
    • 所有交易記錄可通過鏈上數據溯源,便於審計和監管。

區塊鏈的運行機制

區塊鏈的運行基於以下核心機制:

  1. 分佈式存儲
    • 每個節點保存完整的區塊鏈副本,數據同步通過P2P網絡完成。
  2. 共識機制(Consensus Mechanism)
    • 網絡節點通過共識算法對新增區塊達成一致,常見的共識機制包括:
      • 工作量證明(Proof of Work, PoW):如比特幣,通過耗費計算能力完成複雜數學問題來驗證交易。
      • 權益證明(Proof of Stake, PoS):如以太坊 2.0,基於持幣量和質押時間確定驗證權。
      • 委託權益證明(Delegated Proof of Stake, DPoS):通過選舉少量節點作為代表來驗證區塊。
  3. 加密技術
    • 非對稱加密(公鑰/私鑰):保護用戶身份和交易的私隱性。
    • 哈希算法:確保數據的完整性。

區塊鏈的分類

  • 公有鏈(Public Blockchain)
    • 完全開放,任何人都可以參與,代表項目有比特幣、以太坊。
    • 優點:去中心化程度高、透明性強。
    • 缺點:擴展性和效率較低。
  • 聯盟鏈(Consortium Blockchain)
    • 部分開放,由多個組織或機構共同管理,適用於B2B場景,如Hyperledger、R3 Corda。
    • 優點:性能高、數據私隱性強。
    • 缺點:去中心化程度低。
  • 私有鏈(Private Blockchain)
    • 完全由單一機構控制,用於內部使用。
    • 優點:效率高、安全性強。
    • 缺點:去中心化幾乎不存在。

區塊鏈的應用場景

  • 金融領域
    • 去中心化支付系統(如比特幣)。
    • 智能合約驅動的DeFi應用(如Uniswap、Aave)。
  • 供應鏈管理
    • 實現全流程的產品溯源和防偽,如IBM的Food Trust。
  • 數字身份管理
    • 去中心化身份系統(DID),增強用戶對數據的主權。
  • NFT和數字內容
    • 通過NFT賦予藝術品、音樂、遊戲資產的獨特數字所有權。
  • 政府和社會服務
    • 選舉系統、防偽記錄、醫療數據管理等。
  • 能源管理
    • 去中心化的能源交易平台,如電力P2P交易。

區塊鏈的優勢與挑戰

優勢:

  • 增強數據透明性和信任。
  • 降低中介機構的參與成本。
  • 提升業務流程效率。

挑戰:

  1. 可擴展性:區塊鏈的交易處理速度遠低於傳統系統。
  2. 能源消耗:如PoW機制的挖礦耗費大量能源。
  3. 法律與合規:跨境監管、私隱保護等問題仍需解決。
  4. 技術複雜性:開發門檻較高,普及尚需時間。

區塊鏈的未來發展方向

  1. 擴展性優化
    • Layer 2 解決方案(如Rollups)和分片技術(Sharding)。
  2. 跨鏈互操作性
    • 實現不同區塊鏈之間的無縫資產和數據流轉。
  3. 私隱保護
    • 基於零知識證明(ZKP)的私隱增強技術。
  4. 企業級應用
    • 深入物流、金融、醫療等領域。
  5. 與AI結合
    • 利用區塊鏈的透明性增強AI模型的數據可信度。

參考連結

  1. A Venture Fund With Plenty of Virtual Capital, but No Capitalist - The New York Times
  2. The Truth About Blockchain by Marco Iansiti and Karim R. Lakhani