中本聰如何推理比特幣:用健全貨幣解決重複花費

作者:UNCHAINED

來源:https://bitcoinmagazine.com/technical/how-did-satoshi-think-of-bitcoin

本文的核心觀點是,比特幣可以認為是 Dai 的 b-money 項目的一個修改版,消除了創建貨幣自由的版本。在本文初次出版的幾周之後,人們發掘出新的中本聰郵件,在其中,中本聰自稱並不瞭解 b-money 項目,但承認比特幣是 “從完全相同的點” 開始的。有了這個新證據,我們更加堅信本文的核心觀點;雖然它從歷史事實上來說不是絕對精確,但依然是理解比特幣起源的一個有意義、有好處的視角。

—— 二次出版卷首語

人們常常拿比特幣與 1990 年代的互聯網比較,但我認為,更合適的類比對象是 1840 年代的電報。[1]

電報是第一種能以接近光速的速度長距離傳播經過編碼的數據的技術。電報的發明標誌著通信行業的誕生。互聯網雖然在規模上比電報更大、在內容上更加豐富、可以做到多對多(而不是隻能一對一),但從根本上來說,依然是一種通信技術。

電報和互聯網都依賴於一種商業模式:公司投入資本來建設一個物理網絡,然後向使用這個網絡發送消息的用戶收費。AT&T(通信公司) 的網絡曾被用來傳輸電報、電話、TCP/IP 包、文字消息,以及最新的 TinkTok 視頻。

社會的電信化帶來了極大的自由,但也產生了極大的中心化。互聯網礦大了幾百萬內容創作者和小企業的觸達範圍,但也加強了一些公司、政府和其它佔據優勢地位的機構監控和操縱線上活動的權力。

但比特幣不是任何社會變革的盡頭 —— 它是一場變更的開始。就像電信,比特幣會改變人類社會和每個人的日常生活。在今天,要預測這場變更的範圍,無異於在電報時代想象互聯網。

本文想做的是通過弄清過去來想象未來。最開始,我們會追蹤比特幣以前的電子貨幣的歷史。只有理解這些項目失敗的原因,我們才能理解讓比特幣成功的原因 —— 以及它如何給未來的去中心化系統開發確立了方法論。

中本聰如何推理比特幣?

中本聰的天才,但比特幣不是無源之水。

比特幣融合了密碼學、分佈式系統、經濟學和政治哲學領域已有的工作。“工作量證明(PoW)” 的概念早在用於電子貨幣之前就已經存在;先於中本聰的密碼朋克,比如 Nick Szabo、Wei Dai 和 Hal Finney 都分別通過 bit gold、b-money 和 PROW 項目參與並影響了比特幣的設計。想一想,在 2008 年中本聰寫出比特幣白皮書 [2] 的時候,許多對比特幣重要的觀念都已經被提出 以及/或者 實現了:

  • 電子貨幣應該使用點對點網絡
  • 工作量證明是貨幣創造的基礎
  • 貨幣要通過拍賣來創造
  • 公鑰密碼學可用來定義所有權以及錢幣的轉移
  • 交易可以打包成區塊
  • 區塊可通過工作量證明來前後鏈接
  • 每一個參與者都保存所有區塊

比特幣利用了這些概念,而中本聰不是以上任何一個想法的原創作者。為了更好地理解中本聰的貢獻,我們應該確定,比特幣的哪些原理是不在上述列表中的。

一些明顯的候選答案包括:比特幣的有限供給量、中本聰共識,還有難度調整算法。但在一開始,到底是什麼,引導中本聰走向了這些想法?

本文研究了電子貨幣的歷史,並認為,中本聰對健全貨幣政策的關注,讓比特幣克服了先前的項目(比如 bit gold 和 b-money)鎩羽而歸的障礙。

I. 去中心化的系統就是市場

比特幣常常被說成是一個去中心化的系統,或者分佈式的系統。但是,不論 “去中心化(decentralized)” 還是 “分佈式(distributed)”,都常常讓人感到困惑。在電子系統領域,這兩個詞說的都是將單體式應用程序拆解為通訊部件所組成的網絡的辦法。

how-satoshi-think-of-bitcoin-1

從我們的角度看,去中心化系統與分佈式系統的主要區別並不在於網絡的拓撲,而在於它們強制執行規則的方式。在下文中,我們會花點時間來比較分佈式系統和去中心化系統,然後引出 “健壯的去中心化系統就是市場” 的想法。

分佈式系統依然依賴於中心權威

在本文中,我們的 “分佈式” 可以指稱任何已經被打散成許多部分(通常叫做 “節點”)的系統,這些部分必須相互通信(才能讓整個系統正常執行功能),一般來說是通過一個網絡來通信。

軟件工程師在開發全球化的分佈式系統上已經越來越熟練。互聯網本身就由分佈式系統組成,總共包含了數十億個節點。我們每個人口袋裡都有一個節點(譯者注:智能手機),它本身既參與又依賴於這些分佈式系統。

但幾乎所有我們日常使用的分佈式系統都受一些中心權威管控,包括系統管理員、公司和政府,它們是系統中所有節點都信任的。

中心權威保證所有節點都遵守規則,並且踢出、修復和懲罰不能遵守規則的節點。人們信任權威以獲得協調服務、解決衝突、分配共享的資源。在時間的流逝中,中心權威會管理系統的變更,升級系統或添加特性,並保證所有參與者都遵從這些變更。

分佈式系統從依賴中心權威中獲得了好處,但也不是沒有付出代價。雖然整個系統可以應對一些節點的故障,但中心權威的故障就有可能導致整體系統停止工作。中心權威單方決策的能力也意味著只需顛覆或消滅這個中心權威就足以控制或摧毀整個系統。

儘管有這種取捨,但如果某一個參與者或者某一個聯盟必須保持中心權威地位,或者如果一個系統內的參與者就是要依賴於一箇中心權威,那麼傳統的分佈式系統就是最佳的解決方案。不需要區塊鏈、token 和去中心化的包裝。

尤其是在風險資本(VC)主導開發或由政府背書的密碼貨幣中,由於需要一方可以監控和限制支付、凍結賬戶,是傳統去中心化系統的完美應用場景。

去中心化系統沒有中心權威

而 “去中心化”,在我們看來,其範圍比 “分佈式” 更狹窄:去中心化系統是分佈式系統的子集,是沒有任何中心權威的分佈式系統。“去中心化” 的意思更接近的同義詞是 “點對點”。

取消中心權威會帶來幾個好處。去中心化系統:

  • 生長迅速,因為沒有準入門檻 —— 任何人都可以運行一個新的節點,這就壯大了系統;不需要註冊,也不需要來自中心權威的許可。
  • 穩固,因為不存在一出故障就可以癱瘓整個系統的中心權威。所有的節點都是一樣的,所以故障都是局部的,網絡會繞過遭到損壞的區域。
  • 難以抓捕、規制、徵稅和監視,因為沒有可供顛覆的中心控制點。

這些優點,正是中本聰為比特幣選擇去中心化、點對點設計的原因:

“政府很擅長砍掉 …… 有控制中心的網絡的頭,比如 Napster;但純粹的 P2P 網絡,不如 Gnutella 和 Tor,似乎可以維持。”

—— 中本聰,2008

但這些強項也伴隨著相應的弱點。去中心化系統可能會更加低效,因為每一個節點,都必須額外承擔原本假設要由中心權威來承擔的協調責任。

去中心化系統也更容易受到來自欺詐和敵意行為的困擾。雖然中本聰肯定了 Gnutella,但任何使用點對點文件分享程序來下載文件,結果下載到粗俗內容、惡意程序的人,都知道為什麼點對點文件分享從來無法成為線上數據傳輸的主流模式。

中本聰沒有點名,但電子郵件是另一個逃脫了政府控制的去中心化系統。而電子郵件也類似,是垃圾信息轟炸的重災區。

去中心化的系統要通過經濟激勵來管理

在所有這些案例中,最根本的問題都在於,敵意行為(提供錯誤的文件、發送垃圾電郵)不會受到懲罰,而合作行為(發送對的文件、僅發送有用的郵件)也不會得到獎勵。如果去中心化的系統依賴與其成員都是好人,那就無法擴大規模,因為沒有辦法阻止壞人參與進來。

在沒有中央權威的請胯下,解決這個問題的唯一辦法就是使用經濟激勵。從字面上來說,好人,是出於內在的道德感而遵守規則的人。而從字面上來說,壞人,是指自私而且有敵意的人,但合理的經濟激勵可以讓他們轉變行為,為公共福祉貢獻力量。去中心化的系統,要保證合作行為能夠獲得好處、敵意行為則代價高昂,才能擴大規模。

實現可靠去中心化服務的最佳方法就是創建一個市場,讓所有參與者,無論好壞,都能在提供服務後獲得好處。在去中心化的市場中,不為買方和賣方設置門檻,帶來的是規模的擴大和效率的提升。只要市場的協議能保護參與者免受欺詐、盜竊和虐待,壞人也會發現,能夠給自己帶來最大好處的事情要麼是遵守規則,要麼是離開這個地方、去攻擊另一個系統。

II. 去中心化的市場需要去中心化的商品

但市場也是複雜的。市場必須給賣家和買家提供標價和討價的能力,還有發現、匹配和結算訂單的能力。市場必須公平,提供強大的一致性,在波動的週期中保持可用。

今天全球市場是非常大也非常複雜的,但在一個去中心化系統中,使用傳統的商品和支付網絡來實現經濟激勵,性是不同的。去中心化系統跟法幣、傳統資產、實物商品的任何關聯,都會走回去、依賴控制支付處理商、銀行、交易所的中心權威。

how-satoshi-think-of-bitcoin-2

- 去中心化系統沒法交付現金、檢查經紀賬戶的餘額以及確定不動產的所有權。傳統的商品在一個去中心化系統中是完全無法辨認的。但反之不成立 —— 傳統的系統可以跟比特幣互動,就跟新的去中心化系統一樣(只要他們真的想要)。傳統系統與去中心化系統之間的障礙不是密不透風的高牆,而是半透膜。 -

這意味著,去中心化系統沒法執行以任何傳統商品標價的支付。它甚至沒法確定一個法幣賬戶的餘額和房地產的所有權。整個傳統經濟,在去中心化系統中是完全模糊的。

創建去中心化的市場要求交易新型的去中心化商品,這樣的商品在去中心化系統中必須是可以辨認、可以轉移的。

計算是第一種去中心化商品

“去中心化商品”的第一個案例是一種特殊類型的計算,最早由 Cynthia Dwork 和 Moni Naor 在 1993 年提出 [3]

因為數學、物理學和計算機科學之間的深刻關聯,這種計算必須消耗真實世界的能量以及已經資源 —— 也即不能造假。因為真實世界的資源是西泉的,這種計算自然也是稀缺的。

這種計算的輸入可以是任何數據。而最終的輸出是一個電子化的 “證據”,證明在給定的輸入數據上運行了這種計算。證據都包含一個特定的 “難度”,是發生了的計算工作的數量的(統計學)證據。最重要的是,輸入數據、證據、最初花費的計算量,三者之間的關係,可以獨立地驗證,無需依附任何中心權威。

這種想法(將一些輸入數據與其電子證據一起傳遞,作為在這個輸入上執行了真實計算工作的證據)現在被稱為 “工作量證明”[4] 。用 Nick Szabo 的話來說,工作量證明是 “不可偽造的奢侈浪費”。因為工作量證明是任何人都可以驗證的,它變成了去中心化系統種所有人都可以辨識的經濟資源。工作量證明將對數據的計算成為去中心化的商品。Dwrok 和 Naor 提議強迫參與者獲取資源之前提供特定難度的工作量證明,以利用這種計算來限制對資源的濫用:

“在這篇論文中,我們提出了一種基於計算的、對抗電子郵件轟炸的方法。更廣義地說,我們設計除了一種訪問控制機制,可以用在任何需要限制但不需要禁止訪問資源的地方。”

—— Dwoak & Naor,1993

在 Dwoak 和 Naor 的提議種,一個電子郵件的系統管理員會為郵件的發送設定一個工作量證明的難度門檻。想要發送電子郵件的用戶需要將電子郵件作為輸入數據,執行相應次數的計算。算出的工作量證明將會跟電子郵件請求一起提交給電子郵件服務器。

Dwork 和 Naor 將難度稱為工作量證明的 “定價函數”,因為,只需調整難度,“定價權威” 就可以確保共享的資源對誠實的普通用戶來說依然便宜,但對嘗試濫用它的用戶來說變得很貴。在電郵交付市場上,服務器管理員就是這樣的定價權威;他們必須為郵件的交付決定一個 “價格”,使得發送電子郵件對在常規用途中足夠便宜,但對郵件轟炸來說所費不菲。

雖然 Daork 和 Naor 將工作量證明作為一種打擊資源濫用的反激勵措施,“定價函數” 和 “定價權威” 這樣的術語暗示著另一種基於市場的解讀:用戶可以付出由資源控制者設好價格的計算,來購買資源。

在這種視角下,電子郵件的交付網絡真正成為了一種去中心化的市場,用計算來購買電子郵件的交付。而工作量證明的難度門檻就是電子郵件服務器標出的價格,以計算這種貨幣作為單位。

貨幣是第二種去中心化商品

但計算本身並不是一種很好的貨幣。

一個證據僅對一個輸入有效。這種不可打破的關聯意味著一個輸入的工作量證明不能複用在另一個輸入中。

how-satoshi-think-of-bitcoin-3

- 工作量證明最初是作為一種限制郵件轟炸的訪問控制機制而提出的。用戶需要為發出的電子郵件提供附帶的工作量證明。這種機制也可以認為是一種市場,用戶使用計算來購買郵件的交付服務,而價格由電子郵件服務商決定。 -

這種現實是有用的 —— 可以用來防止一個買家付出的工作量被另一個買家重複花費。舉個例子,電子郵件交付市場的第一個真正的實現 HashCash,就在工作量證明計算的輸入數據中包含了元數據,比如當前的時間戳和發送者的郵件地址。一個用戶為一封電子郵件製作的證明,不能用來發送另一封電子郵件。

但這也意味著工作量證明的計算是定製化的商品。不是同質的,也不能再次花出去 [5] ,而且它自身也不解決 “雙方需求巧合” 問題。它所缺失的這些貨幣特性,阻止了它成為一種貨幣。別看名字這麼好,電子郵件服務商其實並沒有累積 HashCash 的意願,但他們肯定願意儲蓄現金。

HashCash 的發明者 Adam Back 完全理解這些問題:

“hashcash 無法直接轉移,因為,為了讓 hashcash 變成分佈式的,每一個服務供應商都只接受專門為之創建的 cash 支付。也許你可以建立一種 digicash 式的鑄幣廠(發行 David Chaum 式的 ecash),並讓鑄幣廠僅在收到專門給他的 hashcash 時才鑄造 ecash。不過,這又意味著,你要信任鑄幣廠不會超量鑄造貨幣。”

—— Adam Back,1997

我們不希望為去中心化經濟體中的每一個商品和服務交換定製化的計算。我們想要一種通用的電子貨幣,可以直接用來協調任何市場中的價值交換。

開發一種能用的電子貨幣,同時還能保持去中心化,是一個重大難題。貨幣需要可互換的價值單位,還要能夠在用戶之間直接轉移。它需要設計貨幣發行的模式、用密碼學定義的所有權和價值轉移、交易的發現和結算機制,以及一個能夠記錄歷史的賬本。在僅僅把工作量證明理解成一種 “訪問控制機制” 的時候,不需要上述任何一種基礎設施。

而且,去中心化的系統是市場,因此,貨幣的所有基礎功能,在由服務供應商提供的時候都必須在一定意義上得到支付 …… 以這樣創建出來的貨幣標價!

就像編譯第一個編譯器、電網的黑啟動乃至生命自身的煙花一樣,電子貨幣的創建者們也面臨一個冷啟動問題:如何定義出支撐一種有用貨幣的經濟激勵,而無需用另一種已經存在的貨幣來給這些激勵標識價格和支付(how to define the economic incentives that underlie a functioning currency without having a functioning currency in which to denominate or pay those incentives)。

how-satoshi-think-of-bitcoin-4

- 計算和貨幣是去中心化市場中的第一種和第二種商品。工作量證明自身允許用計算來交換,但可用的貨幣需要更多的基礎設施。密碼朋克社區花了 15 年才開發出這樣的基礎設施。 -

第一種去中心化市場必須用計算來交換貨幣

這個冷啟動問題的進展來自於對問題邊界的正確節點。

去中心化系統必須成為市場。市場由交換商品的買家和賣家組成。而在一種電子貨幣的去中心化市場中,能辨識出來的商品只有兩種:

  1. 具備工作量證明的計算
  2. 這個去中心化系統要構建的貨幣的基本單位

因此,唯一可能的市場交易必然發生在兩者之間。計算必須能夠用貨幣單位來購買,或者說(完全等價的),貨幣單位必須能夠用計算來購買。指出這一點是容易的 —— 難的地方在於構造出這樣的市場,從而只需允許貨幣與計算相互交易,就能啟動貨幣自身的所有功能!

整個電子貨幣的歷史,以中本聰在 2008 年出版白皮書為頂點,就是一系列構造這樣的的市場的越來越精巧的嘗試。在下一章,我們會回顧一些項目,比如 Nick Szabo 的 big gold 和 Wei Dai 的 b-money。理解這些項目構造其市場的嘗試,以及它們為何失敗,可以幫助我們理解為什麼中本聰和比特幣取得了成功。

how-satoshi-think-of-bitcoin-5

III. 去中心化的系統如何給計算定價?

市場的主要功能之一是價格發現。因此,交易計算與貨幣的市場必須找出計算自身的價格,並以貨幣單位標示。

通常我們不會直接給計算賦予貨幣價值。我們一般只給執行計算的資本股估價,因為我們看重的是計算的結果,而不是計算本身。如果相同的輸出可以更高效(使用更少的計算)地計算出來,通常這就叫做 “進步(progress)”。

工作量證明代表著一種特殊的計算,其唯一輸出是一個證據,證明這些計算已經執行過。能夠用更少的計算(和更少的能量)來產生相同的證據,就不能叫進步了 —— 應該叫 bug(缺陷)。因此與工作量證明相關計算是一種奇怪的商品,難以估價。

當工作量證明被理解成一種應對資源濫用的反激勵措施時,準確且一致地評估它們的價值是不必要的。唯一重要的事情是電子郵件服務商要把難度設置得當,既低到不至於讓普通用戶察覺,又高到足以阻止濫發郵件的人。因此,可以接受的 “價格” 的範圍很廣,而且每一個參與者都可以成為自己的定價權威,應用一種局部的定價函數。

但貨幣單位就得是可以互換的,也就是每一單位都擁有相同的價值。而且,隨著技術的進步,兩個由相同工作量證明的難度 —— 由相應計算的數量度量 —— 創建的貨幣單位可能會由相差極大的生產成本 —— 以時間、能量 以及/或者 執行這些計算的資本量來度量。如果用計算來交換貨幣,而且底層的生產成本是可變的,市場如何保證一個一致的價格?

Nick Szabo 在提出 bit gold 的時候,清楚地定位了這個定價問題:

“主要問題……在於,工作量證明方案依賴於計算機架構,而不僅僅是一種基於抽象的 ‘計算循環’ 的抽象數學。…… 因此,可能會出現一個成本非常低的生產者(比其他人低幾個數量級),然後讓 bit gold 在市場中氾濫。”

—— Nick Szabo,2005

how-satoshi-think-of-bitcoin-6

- 通過工作量證明創建的去中心化貨幣會在計算的供給量隨時間增長的過程中出現過剩和崩潰。為了緩解這種波動,網絡必須學會動態地給計算定價。 -

早期的電子貨幣嘗試通過整體上度量 “計算的成本” 來給計算定價。舉個例子,Wei Dai 就在 b-money 中提議了下面這種手動解決方案:

“創造出來的貨幣單位的數量等於計算的成本,以一籃子標準商品的價值來衡量。舉個例子,如果一個問題在最經濟的計算機商需要 100 個小時來求解,而在公開的市場上,需要 3 份標準商品組合來購買這臺計算機上的 100 小時計算時間,那麼,在這個問題的解決方案被廣播之後,每個人都給這個廣播者的賬簿增加 3 個單位的貨幣”。

—— Wei Dai,1998

遺憾的是,Dai 並沒有解釋,在一個假設是去中心化的系統中,用戶如何對 “標準商品籃子” 的定義達成一致意見、如何知曉哪一臺計算機能 “最經濟” 地解決一個給定問題、又如何知道 “公開市場” 商計算的成本。在所有用戶之間,對一個會隨時間變化的共享數據集達成共識,正是去中心化系統的本質問題!

公允地說,Wei Dai 自己也意識到了這一點:

“b-money 協議中最成問題的一部分就是貨幣的創造。協議要求所有【用戶】確定特定計算的成本並達成一致。然而,因為計算技術會快速進步,而且這種進步並不總是公開的,相關的信息可能無法取得,或得到的信息是不準確的或過期的,所有這些情形都會在這套協議中造成嚴重的問題。”

—— Wei Dai,1998

Wei Dai 後來提出了一種更精巧的基於拍賣的定價機制,也被中本聰說是他的想法的起點。我們後面會回到這種拍賣方案,但現在,我們先轉向 big gold,看看 Nick Szabo 在這個問題上的洞見。

使用外部市場

Szabo 認為,工作量證明應該 “安全地打上時間戳”:

“這種工作量證明被安全地打上了時間戳。這是可以用分佈式方式做到的,有多家時間戳服務,因此不需要實質上依賴於任何一家。”

—— Nick Szabo,2005

Szabo 列出了一頁關於安全時間戳協議的資源,但並沒指定具體的一種算法。這裡的用詞 “安全地” 和 “分佈式方式” 很強橫,拋開了依賴於一個(或多個)“系統之外” 的時間戳服務的複雜性問題 [6]

how-satoshi-think-of-bitcoin-7

- 具體一單位的電子貨幣的創建時間是重要的,因為他關聯著被執行的計算的真實世界成本。 -

撇開實現細節上的語焉不詳,Szabo 是對的 —— 一個工作量證明被創造出來的時間點,是它的價格的重要因素,因為關聯著其計算成本:

“……然而,因為 bit gold 帶有時間戳,創建它的時間以及工作量的數學難度可以自動證明。使用這些因素,通常可以推斷出在那段時間,其生產成本幾何……”

—— Nick Szabo,2005

“推斷” 生產成本很重要,因為 big gold 沒有限制貨幣創造的機制。任何人都可以通過運行合適的計算來創造 bit gold。沒有規制發行的能力, bit gold 就更像一種收藏品:

“……不像同質化的金原子,而像收藏家們喜歡的東西,一段時間內出現大量的供給會使這種東西的價值降低。從這個角度上來說,bit gold 更像收藏品,而不是黃金……”

—— Nick Szabo,2005

Bit gold 需要一個額外的、外部的程序來創建同質化的貨幣單位:

“……Bit gold 沒辦法依靠一種簡單的函數(比如說)字符串的長度變得同質化。相反,為了創建同質化的單位,經銷商需要將不同價值的幾個 bit gold 打包在一起,才能形成一個更大的、幾乎等價值的單元。這就像現在的經銷商讓商品市場得以成型一樣。信任依然是分佈式的,因為評估這些套裝的價值可以由許多不同參與者以大部分甚至完全自動化的方式運行。”

—— Nick Szabo,2005

用 Szabo 的話來說,“為評估…… bit gold 的價值,經銷商會檢查和驗證難度、輸入和時間戳”。定義 “更大的幾乎等價的單元” 的經銷商,跟 Wei Dai 所謂的 “標準的一籃子商品” 提供的是相似的定價功能。在 bit gold 中,同質化的單元不是在工作量證明製作出來的時候誕生的,而是在稍後,這些證明被網絡之外的市場經銷商組合成一個更大的 “幾乎等價值的單元” 的時候。

值得讚揚的是,Szabo 知道這個缺陷:

“……因為機器架構的隱蔽創新而出現一開始隱藏的供給過剩的可能性,是 bit gold 協議的一個潛在漏洞,至少是 bit gold 的初始拍賣和後續交易必須解決的一個不完美之處。”

—— Nick Szabo,2005

再說一次,雖然沒有抵達(我們今天所知的)解決方案,Szabo 已經正確地指出:因為在時間的推移中計算的成本會改變,網絡必須調整貨幣的價格,來應對計算供給量的變化。

使用內部市場

Szabo 意義上的經銷商是一種外部市場,定義(一套)bit gold 的價格(在這些 bit gold 被創造出來之後)。有沒有可能在系統內部(而不是在外部)實現出這樣的市場?

讓我們再次回到 Wei Dai 和 b-money。如前面提到的,Dai 提出另一種基於拍賣的 b-money 創造模式。中本聰對比特幣的設計就是在此基礎上改良的 [7]

“所以,我提議使用另一種貨幣創造子協議,由【用戶】…… 來決定一段時間要創造多少 b-money 出來,而創造這些貨幣的代價則由拍賣派發現,每一個創造貨幣的週期都可以分成以下四個階段:

計劃階段。【用戶們】計算並協商下一個週期的最優貨幣增量。無論【網絡】是否能達成共識,每一個人都廣播自己的貨幣創造額度,以及所有用於支持自己方案的宏觀經濟考量。

投標階段。任何想要創造 b-money 的人都廣播一個投標價,形式是:自己想要創造 x 單位的 b-money,願意解決一類預先定義的問題中的未解問題 y 。這類問題中的每一個問題都應有一個公開達成一致意見的名義成本(假設以 MIPS(每秒百萬條指令)-年 為單位)。

計算階段。在看到投標之後,每個投標者都要解決自己標書中的問題,然後廣播答案。貨幣就這樣創造來。

貨幣創造階段。每個【用戶】都接受(在所有真正廣播出來的答案中)最高的標價,以名義成本除以創造出來的 b-money 數量來衡量,然後給投標者的賬戶增加相應的 b-money 數額。”

—— Wei Dai,1998

B-money 向電子貨幣的正確市場結構邁出了重大一步。它嘗試消除 Szabo 的外部經銷商,允許用戶通過直接與其他人競標參與到價格發現中來。

但要一五一十地實現 Dai 的提議,也不容易:

  • 在 “計劃階段”,用戶承擔著協商 “下一個週期的最優貨幣增量” 的責任。怎麼定義這個 “最優”呢?用戶應該如何跟其他人協商?協商的結果應該如何分享?都沒有明說。
  • 無論計劃是什麼樣的,“投標” 階段允許任何人提交創造 b-money 的投標。這種投標既包含了要創建的 b-money 的數量,又包含了承諾要提供的工作量證明,所以每一份投標都是一個價格,是投標者為購買一定數量的 b-money 而願意付出的計算數量。
  • 投標提交之後,就進入 “計算” 階段,投標者要運行工作量證明,然後廣播答案。沒有機制來匹配投標者和答案。更大的問題是,不清楚用戶要怎麼知道所有投標都已經提交了 —— 什麼時候意味著 “投標” 階段的結束和 “計算” 階段的開始呢?
  • 這問題在 “貨幣創造” 階段又出現了。因為工作量證明的本性,用戶可以驗證自己收到的答案是真的。但用戶怎麼集體同意 “最高的標價”?如果不同的用戶選擇了不同的組合(不管是因為機器性能還是網絡延遲),那會怎麼樣?

去中心化系統很難跟蹤數據並作出一致的選擇,而 b-money 正要求跟蹤來自許多用戶的投標,並對選擇達成共識。這種複雜性甚至讓 b-money 從未被實現過。

這種複雜性的根源在於 Wei Dai 對 “最優” 增長率的信念:b-money 的創造應該基於其用戶的 “宏觀經濟考量” 而波動。跟 bit gold 一樣,b-money 沒有機制能夠限制貨幣的創造。任何人都可以通過廣播投標、運行相應的計算來創造 b-money。

IV. 中本聰的貨幣政策目引出了比特幣的設計

與他們相反的是,健全的貨幣政策,是中本聰在比特幣中的首要目標之一。在最早的宣佈比特幣的郵件中,中本聰寫道:

“傳統貨幣的根本問題在於它需要信任才能工作。人們必須信任中央銀行不會貶值貨幣,但法幣的歷史充斥著這種信任遭到背叛的事件。”

—— 中本聰,2009

然後,中本聰介紹了法幣的其它問題,比如高風險的部分準備金銀行系統、隱私缺位、猖獗的盜竊和詐騙,還有無法進行小額支付。但是中本聰是從中央銀行貶值貨幣的問題開始的 —— 他關心的是貨幣政策。

中本聰希望比特幣最終的流通供給量是有限的,不會隨著時間推移而不斷稀釋。對中本聰來說,比特幣的 “最優” 的貨幣增長率,最終應該是零。

這種貨幣政策目標,而不是中本聰表現出來的任何其它個人(或集體!)特質,才是中本聰 “發現” 比特幣、區塊鏈、中本聰共識,等等,的原因 —— 才是其他人沒有發明比特幣的原因。這就是本文標題中的問題的簡短回答:中本聰能夠推理出比特幣,是因為他(們)專注於創造一種供給量有限的電子貨幣。

對比特幣來說,有限的供給量不僅僅是一種貨幣政策,也不單純是比特幣人喜歡說的俏皮話。這是一種根本上的技術簡化,讓中本聰可以開發出一種能用的電子貨幣,而 Dai 的 b-money 只能停留在奇思妙想的階段。

比特幣是額外要求了一種預先定義的貨幣政策的 b-money。就像許多技術簡化措施一樣,受約束的貨幣政策通過縮減規模來推進。我們來看看,創造 b-money 的四個階段是如何用這種約束來簡化的。

2100 萬 BTC 全部都已問世

在 b-money 中,每一個 “貨幣創造週期” 都包含一個 “計劃” 階段,在其中,用戶需要分享自己的 “宏觀經濟考量”,為自己的貨幣創造提議辯護。中本聰的貨幣政策目標是實現有限供給量,零長尾增發,這就跟 b-money 為個人用戶賦予的貨幣創造自由不兼容。因此,從 b-money 走向比特幣的第一步就是取消這種自由。比特幣用戶無法創造比特幣。只有比特幣網絡能創造比特幣,而且只創造一次,就在 2009 年中本聰推出比特幣項目的時候。

中本聰可以將 b-money 中反覆出現的 “計劃” 階段替換成一套預先確定的日程表,讓在 2009 年創造的 2100 萬 BTC 在未來進入流通。用戶自願通過下載和運行硬編碼了這種貨幣政策的比特幣軟件來表示對中本聰貨幣政策的同意。

這就改變了比特幣計算市場的語義。支付給礦工的比特幣並不是新發行的;只是從已有供給量中解鎖進入流通的。

這種思維框架與 “比特幣礦工創造比特幣” 的天真說辭完全不同。比特幣礦工沒有創造比特幣,只是買到了比特幣。比特幣有價值不是因為 “它是用能量製造的” —— 人們願意用能量購買比特幣只是體現了比特幣有價值。

讓我們重複一遍:比特幣不是通過工作量證明創造出來的,是通過共識創造出來的。

how-satoshi-think-of-bitcoin-9

- 中本聰的設計取消了 b-money 對重複運行的 “計劃” 階段的需要,因為提前做好了所有的計劃。這讓中本聰可以硬編碼一種健全的貨幣政策,同時簡化比特幣的實現。 -

比特幣通過共識來定價

在 b-money 網絡中,用戶獲得了創造貨幣的自由的同時,也要承擔相應的負擔。在 “投標” 階段,b-money 網絡必須收集和分享來自許多用戶的貨幣創造 “標書”。

取消了創造貨幣的自由,也使比特幣網絡免於這種負擔。因為所有的比特幣(2100 萬 BTC)都已經存在,網絡也不需要收集來自用戶的創造貨幣的標書,只需要賣出中本聰預先決定的日程表中的比特幣。

因此,比特幣網絡為每個區塊賣出的比特幣提供了一個得到共識的要價。這個價格是每個節點使用區塊鏈的副本獨立計算出來的。只要節點能對同一條區塊鏈達成共識(我們後面再說這一點),那他們就能在每個區塊給出同樣的要價 [8]

共識價格計算的前一半是決定要賣多少比特幣。這是用中本聰的預先確定的解鎖日程表固定的。比特幣網絡中的所有比特幣節點都可以按區塊號得出相同的數額:

how-satoshi-think-of-bitcoin-10

而共識價格計算的後一半是決定需要多少的計算量。再一次,網絡中的所有節點都可以計算出相同的數值(我們回在下一章細說這種難度調整):

how-satoshi-think-of-bitcoin-11

兩者結合,區塊補貼和難度就定義了比特幣當前的要價,以計算量為標價單位。因為區塊鏈得到了共識,所以這個價格是經過共識的價格。

b-money 也假定用戶擁有一個經過共識的 “區塊鏈”,包含了所有交易的歷史。但 Wei Dai 從未得出這樣簡單的解決方案:完全根據區塊鏈中的數據,為 b-money 的創造定出一個共識要價。

相反,Wei Dai 假設貨幣創造必須一直持續下去。因此,用戶個人需要擁有影響貨幣政策的權力 —— 就像在法幣中一樣。這種感覺讓 Wei Dai 設計了一種複雜到讓 b-money 無法實現的投標系統。

而在中本聰這裡,預先定義的貨幣政策消除了額外的複雜性。

時間消滅所有偏離(Time closes all spreads)

在 b-money 的 “計算” 階段,用戶執行自己在先前的標書中承諾的計算。在比特幣中,整個網絡作為賣方 —— 那麼買方在哪?

在電郵交付市場上,買方是想發送電郵的用戶。作為定價權威,郵件服務商會設定他們覺得對普通用戶足夠便宜但對詐騙犯足夠貴的價格。但如果普通用戶的數量增加,這個價格可以保持不變,因為普通用戶的計算力可能沒有變化。

而在 b-money 中,每個提出了貨幣創建標書的用戶都被預期自行執行相應數量的計算。每個用戶都根據對自己計算力的知識,擔當自己的定價權威。

比特幣網絡為最新的區塊補貼提供了一個以計算標記的要價。但沒有哪一個找出區塊的礦工需要執行這麼多次數的計算 [9] 。勝出的區塊表明的是所有礦工集體執行了所要求的計算次數。因此,區塊補貼的買家是全球的比特幣挖礦產業。

得出一個共識要價之後,比特幣網絡不會改變價格,直到更多區塊被生產出來。這些區塊必須包含當前要價所要求的工作量證明。因此,挖礦產業沒有選擇,只要他們想 “成交生意”,就必須付出這麼多計算量。

挖礦產業唯一能控制的變量就是自己要多長時間才能生產出下一個區塊。就像比特幣網絡可以給出一個要價,挖礦產業也能給出一個投標 —— 生產符合網絡當前要價的下一個區塊所需花費的時間。

“為了對沖不斷增加的硬件速度和運行節點的興趣變化,工作量證明的難度會用一個瞄準每小時出塊數量的移動平均值來決定。如果產生區塊的速度太快了,難度就提高。”

—— 中本聰,2009

中本聰只是平實地介紹了難度調整算法;但這個算法常常被認為是比特幣實現中最具原創性的觀念之一。確實如此,但與其關注這個解決方案的創新性,我們不如先看看為什麼解決這個問題對中本聰來說如此重要。

Bit gold 和 b-money 這樣的項目不需要限制貨幣增發率,因為它們沒有固定的供給量或者說預先決定的貨幣政策。貨幣增發的週期變得更快或更慢可以通過其它手段來抵消,例如,外部經銷商,將 bit gold 合併成更大的的套裝(或拆分成更小的);或者,b-money 的用戶可以改變自己的標書。

但中本聰的貨幣政策目標要求比特幣有一個預先定義的 “增發”(解鎖新比特幣進入流通)率。約束區塊製造的(統計學)速度對比特幣來說是自然而然的,因為區塊生成的速度就是賣出比特幣初始供應量的速度。用 140 年時間賣出 2100 萬 BTC,跟 3 個月賣光,是完全不同的。

而且,比特幣能真正實現這種約束,是因為區塊鏈是 Nick Szabo 所說的 “安全時間戳協議”。中本聰說比特幣是一種 “點對點基礎上的分佈式時間戳服務端”,而且早期的比特幣源代碼使用 “時間鏈(timechain)” 而非 “區塊鏈(blockchain)” 來指稱這種實現比特幣 PoW 市場的共享數據結構 [10]

how-satoshi-think-of-bitcoin-12

- 不像 bit gold 和 b-money,比特幣中的錢幣不會出現供給過剩。比特幣網絡使用難度調整算法來改變貨幣的價格,以應對計算的供給變化 -

比特幣的難度調整算法利用了區塊鏈的能力。經過共識的區塊鏈被參與者用來枚舉挖礦產業的歷史投標以及重新調整難度,以趨向目標出塊時間。

長期秩序創造共識

對健全貨幣政策的渴求所產生的簡化鏈條延伸到 b-money 的 “貨幣創造” 階段。

在 b-money 中,用戶提交的投標會有 “無利害關係(nothing at stake)” 問題。沒有機制能阻止用戶提交用非常少的工作量競標大量的 b-money。這需要網絡跟蹤已經完成的投標並只接受 “最高的投標……以名義成本除以創造出來的 b-money 數量來衡量”,以避免這樣的騷擾式競標。B-money 的每一個參與者都必須跟蹤完整的投標訂單簿,但標書與他們後續的計算關聯起來,並僅僅以結算以最高價格完成的訂單。

這個問題是一個更廣義的問題 —— 去中心化系統中的共識問題 —— 的一個例子。去中心化系統中的共識問題也叫做 “拜占庭將軍” 問題,有時候,在電子貨幣語境下也被稱作 “重複花費” 問題。在所有參與者之間分發相同的有序數據,在一個敵對的、去中心化的網絡中是困難的。當時對這個問題又一個解決方案,叫做 “拜占庭容錯(BFT)共識算法”,需要在參與者之間有一些預先協調,而且大多數參與者(> 67%)不會採取惡意行動。

比特幣並不需要管理投標的訂單簿,因為為比特幣網絡給出了一個單一的要價。這意味著比特幣節點可以接受自己看到的第一個(有效的)滿足網絡當前要價的區塊 —— 騷擾性的投標可以直接忽略掉,而且製作這樣的騷擾性投標也會浪費某個礦工的資源。

共識的計算價格讓比特幣中買賣訂單的匹配可以優雅地完成:先到先得。這樣優雅的訂單匹配,也意味著比特幣的市場不像 b-money 那樣需要劃分階段 —— 它可以不間斷地運行,每當一個訂單得到匹配(找到一個新區塊),就可以計算出一個新的共識價格。為了避免因網絡延遲和敵意行為導致的網絡分叉,節點也必須遵循 “最重鏈規則”。這種貪婪的訂單結算規則保證了只有最高的標價可以被網絡接受。

這種結合了優雅和貪婪的算法 —— 節點接受看到的第一個有效的區塊,然後總是跟隨最重的區塊鏈 —— 是一種新的拜占庭容錯算法,可以讓對區塊序列的共識迅速收斂。中本聰在白皮書中用了 25% 的篇幅來證明這個論點 [11]

我們在上一章確立的理解是,比特幣的共識要價依賴於得到共識的區塊鏈。但事實證明,存在一個單一的共識要價,是這個計算市場能夠優雅地匹配訂單的原因;而計算市場能夠優雅地匹配訂單,又是能夠達成共識的原因!

而且,這種新的 “中本聰共識” 只需要 50% 的參與者不採取惡意行動,是對原有技術的重大提升。是中本聰這樣的密碼朋克作出了這個計算機科學理論的突破,而不是傳統的學術研究者或產業研究者,因為中本聰僅僅專注於實現健全貨幣,而不是分佈式計算的通用共識算法。

IV. 結論

B-money 是開發電子貨幣的一個強大的框架,但並非完整的解決方案,因為它沒有一種貨幣政策。用預先確定的解鎖日程表約束貨幣發行,通過消除跟蹤用戶提交的貨幣創造標書並在其中選擇的需要,減少了協議的範圍並簡化了實現。保護中本聰發行日程表的韻律引出了難度調整算法,並使中本聰共識成為可能;後者被廣泛認為是比特幣實現中最創新的一面。

比特幣的完整設計比我們目前討論的東西要多得多。我們這篇文章僅僅關注比特幣中的 “首要” 市場,解鎖比特幣供給量進入流通的市場。

本系列的下一篇文章會探究比特幣交易結算的市場,以及它跟分發比特幣供給量的市場的關聯。這種關聯將為在比特幣基礎上建立去中心化服務的期貨市場給出方法論。

致謝

多年來,我一直在談論比特幣和市場。我必須感謝許多人,他們傾聽我的觀點並幫助我理清思路。尤其是 Ryan GentryWill ColeStephen Hall,他們每週都與我見面,討論這些想法。如果沒有他們的幫助和支持,我沒法跨越不計其數的錯誤起點。Ryan 也幫助我在我們的 Bitcoin 2021 談話中公開講述這些想法。Afsheen BigdeliAllen FarringtonJoe KellyGigiTuur DemeesterMarty Bent,都一直在鼓勵我並給我有價值的反饋。我必須向 Allen 道歉,我是如此糟糕的一個合作者。最後,Michael Goldstein 可能因寫作和表情包而出名,但我想感謝他在 Nakamoto Institute 的檔案工作,讓電子貨幣的歷史得以保留。

腳註

1. 本系列的標題取自歷史上的第一條電報消息,由 Samuel Morse 在 1844 年發出:“上帝造了什麼?”

2. Bitcoin: A Peer-to-Peer Electronic Cash System ,可見:https://bitcoin.org/bitcoin.pdf

3. Pricing via Processing or Combatting Junk Mail,來自 Dwork & Naor,可見:https://www.wisdom.weizmann.ac.il/~naor/PAPERS/pvp.pdf

4. 雖然發明了這種觀念,但 Dwork 和 Naor 並沒有發明 “工作量證明” 這個詞 —— 這個綽號是 Markus Jakobsson 和 Ari Juels 在 1999 年提出的。

5. Hal Finney 的 RPOW 項目是一種創建可轉移的工作量證明的嘗試,但比特幣並沒有使用這個概念,因為比特幣並不把計算當成貨幣。在下文討論 bit gold 和 b-money 時,我們會看出,計算無法成為貨幣,因為不同時代的計算有不同的價值,但兩個貨幣單位的價值必須是相等的。比特幣不是計算,比特幣是一種可以用計算買到的貨幣。

6. 在這個當口,一些讀者可能會認為我因為 Wei Dai 或 Nick Szabo 在一些問題上語焉不詳或閉口不談而輕視他們的貢獻。我的感受正好相反:Wei Dai 和 Nick Szabo 在根本上都是對的,他們沒有像中本聰日後做的那樣勾勒所有細節,並不能抹殺他們的貢獻。相反,這應該引起我們的敬佩,因為這表明了電子貨幣是多麼困難的一件事,即使對這個領域最好的實踐者來說也是如此。

7. Wei Dai 的 b-money 文章位列中本聰白皮書參考文獻的第一位,可見:http://www.weidai.com/bmoney.txt

8. 這裡作了兩部分簡化:(a)每個區塊賣出的比特幣的數量也受到交易費市場的影響,但這超出了本文的範圍,留待我們後續的工作;(b)比特幣所報告的難度並不確切等於預期計算的次數;你還必須乘以一個比例因子。

9. 至少從中本聰是網絡上唯一礦工的黑暗時代結束之後,就不再如此了。

10. Gigi 的經典作品 比特幣就是時鐘 是對比特幣與時間的深刻關係的絕佳介紹,可見:https://dergigi.com/2021/01/14/bitcoin-is-time/中文譯本

11. 中本聰在白皮書的分析和後續的比特幣初步實現中都犯了錯誤,使用了 “最長鏈” 規則而不是 “最重鏈” 規則。

相关赛道:
來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
1
評論