比特幣密碼學先驅與設計繼承深度分析:從密碼朋克運動到中本聰的基因遺傳

深入探討比特幣問世前的密碼學先驅項目與比特幣設計的繼承關係。分析 David Chaum 的 ecash、Adam Back 的 Hashcash、Wei Dai 的 b-money、Nick Szabo 的 Bit Gold 對比特幣設計的深層影響,並探討 Hal Finney 的 RPOW 與比特幣工作量證明的直接血緣關係。揭示比特幣如何繼承、修正與超越其密碼學先驅,以及中本聰如何把碎片組合成完整系統的設計哲學。

比特幣密碼學先驅與設計繼承深度分析:從密碼朋克運動到中本聰的基因遺傳

前言:我站在哪些巨人的肩膀上?

老實說,每次我看到有人說比特幣是「憑空出現的奇蹟」,心裡就有點不是滋味。比特幣的確是個劃時代的發明,但中本聰可不是從石頭裡蹦出來的。在比特幣白皮書的參考文獻裡,你能看到一長串密碼學家的名字;在比特幣的設計細節裡,到處藏著前人幾十年心血的痕跡。

這篇文章就想聊聊這些「隱形祖先」——David Chaum 的 ecash、Adam Back 的 Hashcash、Wei Dai 的 b-money、Nick Szabo 的 Bit Gold。順便挖一挖,比特幣到底繼承了什麼、修正了什麼、又是怎麼把這些碎片拼成一個完整系統的。

第一章:密碼朋克的DNA——這群人到底在想什麼?

1.1 密碼朋克是什麼來頭?

80年代末90年代初,有這麼一群怪咖,堅信密碼學會改變世界的權力結構。他們自稱「密碼朋克」(Cypherpunks),每週在郵件列表上激烈辯論,用的是現在看來有點土的電子郵件系統,但那股子勁頭,簡直比現在的 Web3 創業者還要狂熱。

這個運動的核心訴求說起來也很簡單:隱私權是基本人權,而密碼學是保護隱私的最佳武器。 在他們眼裡,政府和企業對個人數據的監控是最大的威脅,而加密技術是對抗這種監控的最終武器。

密碼朋克郵件列表的創始人 Eric Hughes 在 1993 年寫了篇宣言,我到現在還覺得寫得挺燃的:「隱私權的必要性來自於權力的不平衡。如果你們在數據交換的過程中擁有隱私權,那你們就有了談判的籌碼。」

1.2 密碼朋克運動的技術遺產

這群人折騰出來的東西,現在回頭看真的不得了。PGP 加密讓普通人的郵件也能保密;David Chaum 的盲簽名技術為匿名通信提供了理論基礎;雜湊現金(Hashcash)讓 spam 無處遁形。這些技術最後都成了比特幣的基石。

我特別想強調的一點是,密碼朋克不只是搞技術的烏托邦主義者,他們是真的相信技術能改變社會結構的理想主義者。這種「技術左派」的基因,到現在還流淌在比特幣社群的血液裡。

第二章:David Chaum——那個被比特幣「遺忘」的祖師爺

2.1 Chaum 的江湖地位

說到密碼朋克運動的奠基人,David Chaum 絕對是繞不過去的名字。這位仁兄在 80 年代初就開始搞數位貨幣研究了,比特幣誕生還差了快三十年的時候,他已經把數位現金的核心密碼學原理摸得一清二楚。

Chaum 在 1983 年發表的論文《Security without Identification: Transaction Systems to Make Big Brother Obsolete》簡直是數位隱私領域的聖經。他在這篇論文裡提出了一個大膽的問題:有沒有可能設計一個系統,讓政府和大公司無法追蹤個人的消費行為,同時又保持交易的合法性?

這個問題的答案是「有」,而答案的核心就是密碼學。

2.2 盲簽名技術——Chaum 最偉大的發明

Chaum 最廣為人知的貢獻是「盲簽名」(Blind Signature)技術。這東西聽起來很玄乎,但其實原理並不複雜。

傳統的數位簽名是這樣的:簽名者看到文件的內容,然後對文件進行簽名。簽名者和文件內容是「看得見」彼此的。

盲簽名則不同:簽名者在不知道文件內容的情況下完成簽名。就像你把一張紙放進帶有碳紙的特殊信封裡,簽名者在信封上簽名,簽名會「穿透」到裡面的紙上,但簽名者壓根兒看不到紙上的內容。

數學上,盲簽名的實現依賴於 RSA 加密算法的特性:

假設:

盲化過程:

blinded_message = m × r^e mod n

這裡 e 是公鑰指數。乘上 r^e 後,原本的消息 m 被「盲化」了。

簽名過程(簽名者對盲化的消息簽名):

blind_signature = blinded_message^d mod n

去盲化過程:

signature = blind_signature × r^(-1) mod n
           = (m × r^e)^d × r^(-1) mod n
           = m^d × r × r^(-1) mod n
           = m^d mod n

最終得到的 signature 就是對原始消息 m 的有效簽名,但整個過程中簽名者壓根不知道他在簽什麼。

2.3 ecash 的設計架構

基於盲簽名技術,Chaum 在 1989 年創辦了 DigiCash 公司,推出了 ecash 系統。這個系統的設計理念是:

匿名性:用戶從銀行提款時,銀行只知道「某個用戶提取了一定金額」,但不知道具體是哪個用戶兌換了哪個「數位硬幣」。這就像你從銀行取出現金後,去路邊攤買個臭豆腐,攤主壓根不知道你是誰。

可雙花防禦:每個數位硬幣都有唯一的序列號。當用戶消費時,商家把序列號發給銀行驗證。如果同一個序列號出現兩次,系統就會拒絕——但此時攻擊者的匿名身份已經暴露了。

可追蹤性(必要時):在特定條件下(如法院命令),銀行可以追溯任意交易的發送者和接收者。這種「選擇性披露」的能力讓 ecash 在匿名性和合規性之間找到了平衡點。

ecash 的架構如下:

用戶錢包 ←→ 商家 ←→ 銀行
     ↓
  盲提款(銀行不知道硬幣序列號)
     ↓
  消費(商家只知道用戶存在,不知道具體身份)
     ↓
  存款(銀行只知道序列號,不知道商家是跟誰交易的)

2.4 Chaum 對比特幣的影響——哪些被繼承了,哪些被修正了?

比特幣從 Chaum 那裡繼承了幾個關鍵概念:

密碼學作為信任基礎:Chaum 的核心洞察是,在數位世界中,密碼學可以取代傳統的信任機構(如銀行)。比特幣完美地繼承了這一點——在比特幣網路中,你不需要信任任何人,只需要信任數學。

預防雙花的機制:ecash 通過中央銀行驗證序列號來防止雙花。比特幣則通過去中心化的區塊鏈共識機制達到了同樣的效果,但完全不需要信任中央機構。

隱私保護設計:ecash 的匿名性設計理念直接影響了比特幣的偽匿名特性。比特幣地址不綁定真實身份,但鏈上交易記錄是公開的——這種設計比 ecash 的完全匿名更「誠實」,因為用戶知道自己並非完全匿名。

但是,比特幣也刻意迴避了 Chaum 的一些設計:

放棄了盲簽名作為核心機制:比特幣選擇了 UTXO 模型和橢圓曲線簽名(ECDSA,後來升級為 Schnorr),而不是 Chaum 的盲簽名體系。這是因為盲簽名需要信任中央發行機構,而比特幣的核心創新就是去中心化發行。

放棄了身份驗證層:ecash 需要銀行來驗證用戶身份和餘額。比特幣則完全放棄了身份概念——你只需要擁有一個私鑰,就能控制對應的比特幣。這種設計雖然帶來了更好的隱私,但也讓「找回被盜比特幣」變得不可能。

2.5 Chaum 的局限性——為什麼 ecash 失敗了?

ecash 最終在商業上失敗了,原因值得我們深思:

依賴中央機構:ecash 的運作完全依賴於銀行這箇中央機構。一旦銀行倒閉或被政府關閉,整個系統就完蛋了。這和比特幣「無需許可」的設計哲學形成了鮮明對比。

推廣困難:讓銀行和商家採用新支付系統是個雞生蛋蛋生雞的問題。沒有足夠的商家接受 ecash,用戶就沒有動力使用;沒有足夠的用戶,商家就沒有動力接受。

技術上的先驅不等於商業上的成功:Chaum 的密碼學貢獻無可置疑,但他低估了建立支付網路效應的難度。比特幣用「挖礦獎勵」這個經濟激勵機制巧妙地解決了冷啟動問題,這是 Chaum 當年沒想到的。

第三章:Adam Back 與 Hashcash——工作量證明的原始模型

3.1 密碼學反垃圾郵件戰士

Adam Back 這個人很有意思,他在 1997 年發明了 Hashcash,動機很單純——對抗 email spam。

當時 email 垃圾郵件已經是個大問題。發送一百萬封 spam 成本極低,幾乎可以忽略不計。傳統的過濾方法(關鍵詞黑名單、貝葉斯過濾)總是落後於 spam 製造者的腳步,雙方在不斷升級的軍備競賽中疲於奔命。

Back 的想法是:為什麼不讓發送 email 的成本提高呢? 如果每次發送 email 都需要消耗一定的計算資源,那 spammer 的大量發送行為就會變得無利可圖。

3.2 Hashcash 的工作原理

Hashcash 的核心機制就是「工作量證明」(Proof of Work)。用大白話說,就是讓電腦多做幾道數學題,通過「解題」來證明自己付出了計算資源。

Hashcash 的具體實現如下:

原始數據 + 計數器 → SHA-1 哈希 → 檢查結果

用戶在發送郵件時,需要找到一個計數器值,使得整個字串的 SHA-1 哈希值的前 n 位都是 0。

這裡的 n 就是「難度參數」:

用戶的電腦需要不斷更換計數器值,暴力搜索符合條件的哈希值。平均來說,每 2^n 次嘗試會成功一次。

3.3 Hashcash 的技術細節

Hashcash 的標準格式如下:

X-Hashcash: 1:20:20240101:adam@cypherspace::McMyFh:ILd9vZ

格式解讀:

實際計算時,整個字符串(加上計數器的 BASE64 編碼)會被哈希多次,直到找到符合難度要求的結果。

3.4 為什麼 Hashcash 比簡單的重複計算更聰明?

一個簡單的反 spam 方案是「要求用戶做一個固定的大數乘法」。但這個方案有個致命問題:一旦用戶完成計算,結果就可以被重複使用。

Hashcash 的巧妙之處在於,每封郵件都需要一個獨特的工作量證明:

  1. 日期字段確保不同日期的郵件需要不同的工作量證明
  2. 發件人字段確保同一發件人的不同郵件需要不同的工作量證明
  3. 隨機字符串確保無法預測即將發送的郵件的工作量證明

這意味著 spammer 無法事先計算好一堆「通用」的工作量證明來重用。每一封郵件都得重新算過。

3.5 Hashcash 與比特幣的設計繼承

比特幣幾乎完整地繼承了 Hashcash 的工作量證明機制,但做了一些關鍵改進:

改進一:SHA-256 取代 SHA-1

Hashcash 最初使用 SHA-1 作為哈希函數。但 SHA-1 在 2005 年被密碼學社群發現存在碰撞攻擊的弱點。比特幣果斷升級到 SHA-256,並使用雙重哈希(SHA-256(SHA-256()))來防止長度擴展攻擊。

改進二:區塊概念的引入

Hashcash 的工作量證明是「一次性」的——每封郵件獨立計算。比特幣則把工作量證明組織成「區塊」,形成一條連續的「工作量鏈」。

這個設計的巧妙之處在於,攻擊者想要篡改歷史區塊,必須重新計算該區塊之後所有區塊的工作量證明——這幾乎是不可能的。

Block N ← Block N+1 ← Block N+2 ← Block N+3 ← ...
   ↑                                    ↑
 需要重算                              最新區塊

改進三:動態難度調整

Hashcash 的難度是固定的。用戶可能會發現,隨著硬體進步,原本需要 1 秒計算的工作量證明,現在只需要 0.001 秒——Hashcash 的 spam 阻力就消失了。

比特幣的難度調整機制解決了這個問題:每 2016 個區塊(約兩週),網路會根據最近區塊的實際生成時間調整難度,確保平均每 10 分鐘產生一個區塊。

目標時間 = 2016 × 10 分鐘 = 20,160 分鐘(兩週)

實際時間 = 最近 2016 個區塊的實際生成時間

新難度 = 舊難度 × (實際時間 / 目標時間)

如果算力突然增加,區塊生成速度快於預期,難度就會上調;如果算力撤離,難度就會下調。這種「自動巡航」的設計讓比特幣網路能適應算力的巨大波動。

3.6 我對 Hashcash 的一點吐槽

說實話,我第一次看 Hashcash 的論文時,心想這玩意兒看起來挺土的——不就是多算幾次哈希嘛。但後來我才慢慢理解,真正的創新不在於「計算哈希」本身,而在於把計算成本轉化為共識機制。

中本聰的高明之處在於,他意識到 Hashcash 的工作量證明不只能用來對抗 spam,還可以用來建立去中心化的時間戳伺服器。當工作量證明和經濟激勵結合在一起,就形成了比特幣網路這個「自組織」的系統。

這就像玩樂高——Hashcash 是其中一塊積木,中本聰則是把這塊積木和其他積木組裝成了一個全新的玩具。

第四章:Wei Dai 與 b-money——加密無政府主義的貨幣實驗

4.1 b-money 的誕生背景

1998 年,密碼朋克郵件列表上出現了一篇署名 Wei Dai 的文章,標題就叫《b-money, an anonymous, distributed electronic cash system》。

這篇文章提出了一個大膽的問題:如果政府有一天決定禁止加密貨幣,普通公民有什麼替代方案?

Wei Dai 的答案是:依靠數學和密碼學,而不是法律和政府許可證。

4.2 b-money 的核心設計

b-money 提出了兩種實現方案,現在看來都有點過於理想化,但也給比特幣提供了重要的靈感。

方案一:基於伺服器的方案

所有參與者共同維護一個資料庫,記錄每個帳戶的餘額。資料庫由一群「伺服器」運營,這些伺服器通過密碼學手段相互驗證和同步。

這個方案的問題顯而易見:伺服器運營商成為了新的權力中心。如果伺服器運營商被脅迫或被滲透,整個系統就會崩塌。

方案二:基於工作量證明的方案

這個方案更接近比特幣的思路:

  1. 所有參與者(或者說「貨幣創造者」)競爭求解複雜的數學問題
  2. 第一個解決問題的人獲得一定數量的 b-money
  3. 解決問題的證明被廣播給所有參與者
  4. 每個人根據收到的證明更新自己的帳戶副本

這不就是比特幣工作量證明和區塊傳播的原型嗎?

4.3 b-money 與比特幣的差異

雖然 b-money 的核心思想和比特幣類似,但實施細節上有很大差距:

缺乏完整的共識機制:b-money 沒有解決「誰來驗證交易」的問題。如果每個人都自己記帳,如何確保大家記的帳是一致的?比特幣的區塊鏈和 Nakamoto 共識解決了這個問題。

沒有雙花防禦的明確機制:Wei Dai 意識到了雙花問題,但他的解決方案是讓受害者公開宣告欺詐行為——這依賴於參與者的道德自律和監視。比特幣的「最長鏈原則」提供了數學上可驗證的雙花防禦。

發行機制的模糊性:b-money 的貨幣供應量如何決定?Wei Dai 沒有給出明確的答案。比特幣的 2100 萬上限和減半機制提供了透明的發行時間表。

4.4 Wei Dai 對比特幣的影響

中本聰在比特幣白皮書的參考文獻中明確引用了 Wei Dai 的 b-money 論文。在後來的郵件通信中,中本聰也提到,b-money 是比特幣的靈感來源之一。

比特幣從 b-money 繼承的核心思想:

第五章:Nick Szabo 與 Bit Gold——被低估的先驅

5.1 Nick Szabo 與「契約理論」

Nick Szabo 這個人在密碼朋克圈裡是個傳奇。他既是法學教授又是電腦科學家,最著名的理論貢獻是「智慧財產契約」(smart contracts)的概念。

Szabo 認為,傳統合約需要律師和法院來執行,成本高、速度慢。如果我們能把合約條款寫成代碼,讓計算機自動執行,合約的成本會大幅下降,而可靠性會大幅提升。

這個想法在 1996 年提出來的時候,大多數人覺得是天方夜譚。但現在你去看看以太坊的智慧合約——這不就是 Szabo 三十年前設想的東西嗎?

5.2 Bit Gold 的設計藍圖

1998 年,Szabo 發表了《Bit Gold》文章,提出了自己的去中心化貨幣方案。雖然 Szabo 強調這只是「理論探索」而非實際系統設計,但 Bit Gold 的很多設計細節都預言了比特幣的實現。

Bit Gold 的核心步驟:

  1. 一個「挑戰字符串」(challenge string)在網路上公開生成
  2. 礦工(Szabo 稱之為「挖礦者」)競爭求解這個字符串的哈希難題
  3. 第一個找到符合條件哈希值的礦工獲得 Bit Gold 獎勵
  4. 解決方案被時間戳伺服器認證並記錄
  5. Bit Gold 的所有權可以轉移給其他人

這個流程和比特幣的區塊獎勵簡直一模一樣!

5.3 Szabo 對比特幣設計的影響

可證明昂貴的數位商品:Szabo 提出了「可證明昂貴」(provably costly)的概念——數位商品的生產成本必須足夠高,才能作為價值存儲。這正是比特幣「工作量證明」的核心思想。

去中心化時間戳:Szabo 設計了一套時間戳伺服器網路,用於記錄 Bit Gold 的所有權變更。比特幣的區塊鏈正是這種思想的升級版。

貨幣的「內在價值」:Szabo 認為,貨幣不需要政府背書,只要它足夠稀缺且難以複製,就可能成為有效的價值存儲。比特幣的 2100 萬上限正是對這一理念的實踐。

5.4 Szabo 就是中本聰嗎?——一個永遠的謎

密碼學社群有個流傳已久的陰謀論:Nick Szabo 就是比特幣的神秘創造者中本聰。這個說法有其根據:

但也有反對的證據:

這個謎題大概永遠不會有答案了。但無論如何,Szabo 對密碼學貨幣的貢獻是不可否認的。

第六章:中本聰的「剪切與縫合」——比特幣到底是誰的「孩子」?

6.1 比特幣的「家族樹」

把比特幣的設計往前追溯,你會發現它從各個前輩那裡繼承了不同的「基因」:

David Chaum(ecash)
    ↓ 密碼學作為信任基礎、隱私保護設計
    ↓
Adam Back(Hashcash) ← Wei Dai(b-money) ← Nick Szabo(Bit Gold)
    ↓                    ↓                    ↓
 工作量證明機制       去中心化發行           可驗證的稀缺性
    ↓                    ↓                    ↓
    └────────────┬───────────────────────────┘
                 ↓
           比特幣(共識機制、經濟激勵、區塊鏈)

比特幣的創新在於,它不是簡單地「複製」某一個前輩的設計,而是把多個不相關的技術碎片組合成了一個完整的系統。

6.2 比特幣修正了什麼?

前人的設計都有明顯的缺陷:

對 Chaum 的修正:ecash 需要中央銀行,比特幣去掉了這個中心。盲簽名換成了橢圓曲線簽名,犧牲了可選的身份揭露能力,換來了完全去中心化的可能。

對 Hashcash 的修正:Hashcash 的工作量證明是一次性的、無法形成共識。比特幣引入了區塊和區塊鏈的概念,讓工作量證明形成了連續的「信任鏈」。

對 b-money 的修正:b-money 沒有解決「如何達成共識」的問題。比特幣的 Nakamoto 共識機制——最長鏈勝出——優雅地解決了這個問題。

對 Bit Gold 的修正:Szabo 的時間戳伺服器方案依賴於「可信賴」的伺服器運營商。比特幣用密碼學和經濟激勵取代了這種信任需求。

6.3 中本聰的「秘方」——經濟激勵

說了這麼多技術細節,我覺得比特幣最偉大的創新不是密碼學,而是經濟學。

中本聰引入了一個簡單但革命性的概念:用比特幣獎勵礦工。

這個設計解決了三個先驅都沒能解決的問題:

冷啟動問題:區塊鏈的安全性取決於有多少人參與。但如何吸引第一批參與者?答案是:給他們免費的比特幣。在比特幣早期,區塊獎勵遠高於現在,這吸引了大量早期採用者。

持續激勵問題:當區塊獎勵逐漸減少,礦工為什麼還要繼續挖礦?答案是:手續費。比特幣的費用市場為礦工提供了長期的經濟激勵。

誠實行為問題:為什麼礦工不會作弊?答案是:作弊的成本高於收益。攻擊比特幣網路需要掌控大部分算力,而掌控這些算力的成本遠高於能夠獲得的收益。

6.4 比特幣的「基因突變」

除了繼承和修正,中本聰還做了一些前人完全沒想到的創新:

區塊時間戳與區塊高度:比特幣的區塊不只有哈希值,還有時間戳。這讓網路可以追蹤「時間」的概念,也為智能合約(如時間鎖)提供了基礎。

Merkle 樹:比特幣使用 Merkle 樹組織交易,這讓輕客戶端可以只下載區塊頭就能驗證交易的存在性,大幅降低了系統的資源需求。

腳本系統:比特幣的腳本語言允許用戶定義複雜的出金條件——不只是「誰有私鑰誰就能花」,還可以是「需要 N 個私鑰中的 M 個簽名」或「等待 X 個區塊後才能花」。

第七章:這些先驅現在在做什麼?

7.1 David Chaum 的最新動向

雖然 ecash 商業化失敗了,但 Chaum 並沒有放棄他的密碼學理想。近年來,他成立了一家新公司 xx network,主打「抗量子計算」的加密通訊。

xx network 使用了一種叫做「可混合簽名」(Mixnet)的技術,試圖解決現代互聯網的隱私問題。雖然和比特幣走的不是同一條路,但保護隱私的核心使命是一脈相承的。

7.2 Adam Back 的 Hashcash 2.0

Adam Back 現在是 Blockstream 的 CEO,這家公司專注於比特幣和閃電網路的基礎設施開發。從密碼學研究者到比特幣企業家,Back 的職業生涯軌跡也是挺有意思的。

Hashcash 的精神也在其他地方延續——比特幣的 PoW 機制、以太坊曾經的 PoW 階段,都是 Hashcash 思想的後代。

7.3 Wei Dai 的低調存在

Wei Dai 本人極為低調,很少公開露面或接受採訪。他曾經在 Google 短暫工作過,後來就淡出了公眾視野。

但他對密碼學的貢獻不會被遺忘。b-money 這個名字現在已經成為密碼學字典的一部分。

7.4 Nick Szabo 的持續輸出

Szabo 至今仍在寫作,他的部落格《Unenumerated》涵蓋了貨幣史、密碼學、法律理論等多個領域。他的洞察力一如既往地敏銳,經常能提出一些讓人眼前一亮的觀點。

值得一提的是,Szabo 對比特幣的態度有些矛盾。一方面,他承認比特幣實現了他多年前設想的很多目標;另一方面,他認為比特幣的腳本語言太過簡陋,無法支持真正複雜的智能合約。這種批評現在聽起來可能有點酸葡萄——畢竟比特幣的 Taproot 升級已經大幅提升了智能合約能力——但也反映了 Szabo 對密碼學貨幣的更高期待。

結論:站在巨人的肩膀上,但不是唯一的位置

寫完這篇文章,我最大的感觸是:比特幣的成功不是偶然的,它是密碼學社群幾十年积累的必然結果。

如果沒有 Chaum 的盲簽名,我們可能不會想到用密碼學取代信任機構。

如果沒有 Hashcash,我們不會知道工作量證明可以這樣用。

如果沒有 b-money 和 Bit Gold,我們不會相信去中心化貨幣是可能的。

中本聰的天才不在於發明了什麼全新的密碼學原語,而在於把所有碎片組裝成了一個自洽的、可以運作的系統。這就像愛因斯坦——他沒有發明新的數學工具,但他用現有的工具解決了困擾物理學家幾十年的問題。

現在比特幣社群面臨的挑戰是:如何站在比特幣這個「巨人」的肩膀上,繼續推動密碼學貨幣的發展?

答案可能就在這些先驅的精神裡:大膽假設,小心求證,用密碼學改變世界。


標籤:比特幣、密碼學先驅、David Chaum、Adam Back、Hashcash、Wei Dai、b-money、Nick Szabo、Bit Gold、ecash、密碼朋克、設計繼承

難度:advanced

發布日期:2026-03-27

延伸閱讀與來源

這篇文章對您有幫助嗎?

評論

發表評論

注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。

目前尚無評論,成為第一個發表評論的人吧!