區塊鏈

前言

身處於一個重視資料安全的時代,要如何用安全的技術來保存重要的資料,值得深思。

這篇文章會依序說明:帳本是怎麼串成「鏈」的、為什麼要分散在很多人手上、誰有權寫下一頁、為什麼很難竄改,以及兩個常見誤解——資料有沒有加密、交易是不是無法追蹤。

區塊鏈(Blockchain)

「很多人一起抄、只能往後寫、不能塗改」的帳本,簡單來說,就是「去中心化的分散式資料庫」。

它不靠銀行或政府背書,而是靠密碼學和一套大家都遵守的規則,讓互不認識的人也能相信帳上的紀錄。

結構

用雜湊把區塊串成鏈。

每個區塊裝著一批交易紀錄,外加兩個關鍵欄位:前一個區塊的雜湊值,以及自己的雜湊值。 新區塊永遠指向上一個區塊,一個接一個,就成了一條鏈。

雜湊函數(例如 SHA-256)會把任意長度的資料算成一串固定長度的「指紋」。它有兩個特性:輸入只要改一個字,輸出就完全不同;而且只能從資料算出指紋,不能從指紋推回資料。

所以只要有人偷改某個舊區塊,它的雜湊就會改變,下一個區塊記的「前雜湊」就對不上,整條鏈從那裡開始斷掉。

分散式

區塊鏈沒有中央資料庫,而是由成千上萬個節點各自保存一份完整副本。

新的區塊產生後,會廣播給所有節點,各自驗證無誤才加進自己的帳本。

  銀行 區塊鏈
誰記帳 銀行本身 所有節點各記一份
信任誰 銀行 規則跟密碼學
單點故障 系統停擺 不影響整體運作
誰能改紀錄 銀行 沒有人能單方面改

共識機制

誰有權寫下一頁?

沒有中央管理者,就需要一套規則決定「下一個區塊由誰產生、大家要不要承認」。

這套規則叫共識機制,最常見的有兩種。

  1. 工作量證明(PoW):比特幣使用。節點要不斷嘗試一個隨機數(nonce),直到算出的區塊雜湊開頭有足夠多個 0。這個過程只能靠大量嘗試,非常耗算力,但別人驗證只要算一次。最先找到答案的節點可以出塊並獲得獎勵,這就是「挖礦」。開頭要求的 0 越多,難度越高。

  2. 權益證明(PoS):以太坊目前使用。節點不拚算力,而是押上自己持有的幣當保證金,系統從中挑選出塊者;如果作弊,押金會被沒收。耗電量比 PoW 低得多。

為何難以竄改

雜湊只能讓竄改「被發現」,真正讓竄改「做不到」的是共識機制加上分散式網路。假設有人想把某筆舊交易的 5 元改成 500 元,他必須:

  1. 修改目標區塊的資料,這會讓它的雜湊改變。
  2. 重新挖這個區塊,找出新的 nonce,讓雜湊重新符合難度。
  3. 下一個區塊的「前雜湊」要改成新值,於是它也得重挖;再下一個也是,一路重挖到最新的區塊。
  4. 這時他手上的鏈自己驗證會通過,但還得說服整個網路接受。
  5. 網路遵守「最長鏈原則」:兩條鏈都合法時,採用累積工作量最多的那條。他的鏈必須比其他人的更長,大家才會換過去。

第 5 步是關鍵。在他重挖舊區塊的同時,其他節點仍在繼續出新區塊。要追上並超越,他的出塊速度必須比全網其他人加起來更快,也就是掌握超過一半的算力,這稱為「51% 攻擊」。對比特幣這種規模的網路來說,成本高到不切實際。 這也是為什麼交易所收到比特幣後,通常要等 6 個確認(約一小時)才入帳:一筆交易上面疊的區塊越多,要改寫它就得重挖越多,成功機率隨區塊數呈指數下降。

誤解一:資料是加密的

大部分公有鏈上的資料並沒有加密,而是任何人都能讀取的明文。區塊鏈用了很多密碼學,但目的是「防竄改」和「證明身分」,不是「保密」。

  • 雜湊不是加密:雜湊是單向的,用來檢查資料有沒有被改過,沒有「解密」這回事。加密則是雙向的,有金鑰就能還原原文。
  • 數位簽章證明的是授權:發送交易時用私鑰簽名,別人用公鑰驗證「這筆交易確實出自持有這把私鑰的人」。簽章本身不會把交易內容藏起來。

因此在比特幣、以太坊上,每筆交易的金額、發送與接收地址,都能在區塊瀏覽器上查到。公有鏈的設計目標是「人人都能驗證」,而驗證的前提就是看得到。

需要隱私的情況也有對應做法:隱私幣(如 Monero、Zcash)在協議層隱藏交易細節;聯盟鏈、私有鏈可以限制讀取權限;更常見的做法是把真正的資料放在鏈外,鏈上只存它的雜湊值,日後拿鏈外資料重算比對,就能證明資料沒被改過,敏感內容也不會公開。

誤解二:交易無法追蹤

區塊鏈上的交易流向其實非常好追,難的是把地址對應到真實的人。比較精確的說法是:區塊鏈是「假名」,不是「匿名」。

交易軌跡是永久公開的。錢從地址 A 轉到 B,再拆成三筆轉出,這條路徑任何人都查得到,而且永遠刪不掉,透明度遠高於現金和銀行轉帳。

身分之所以不容易查,原因包括:

  • 錢包地址可以在自己電腦上免費產生,不需實名,數量不限。
  • 沒有中央機構可以讓執法單位調閱資料。
  • 資金可以在幾分鐘內跨國移動,司法程序跟不上。
  • 有混幣服務、跨鏈轉換等手段讓資金流向變模糊,隱私幣更是從協議層隱藏細節。

但實務上,追查並沒有想像中困難。要把加密貨幣換成法幣,大多得經過交易所,而合規交易所必須實名驗證(KYC),這是執法單位最常切入的地方。專門的鏈上分析公司也能依行為模式把大量地址歸到同一個人或組織。2021 年美國 Colonial Pipeline 遭勒索後,FBI 追回大部分贖金;2016 年 Bitfinex 遭駭的比特幣,也在 2022 年被追查到並逮捕嫌犯。紀錄永不消失,代表就算當下查不到,日後身分一曝光,過去所有交易都會攤開。

結語

區塊鏈的本質,是用效率換取「不需要信任中間人」。雜湊讓竄改留下痕跡,分散式帳本讓沒有人能獨自改寫,共識機制讓改寫歷史的成本高到不划算。理解這三件事,就能判斷一個號稱「用了區塊鏈」的應用,到底是真的需要它,還是只是拿來當行銷名詞。