乾貨|創世文檔:WeiDai的B-Money,也許是比特幣的初稿

乾貨| 創世文檔:David Chaum 的eCash 如何催生一個密碼朋克的夢

乾貨| 創世文檔:Adam Back 如何設計出比特幣的引擎

所有的密碼朋克都重視隱私權,可以說,這是這個1990 年代靠電子郵件列表而形成的密碼學家、學者、開發者和活動人士團體共同的精神圖騰。但即使在這個團體中,也很少有人像Wei Dai 那樣在生活中也貫徹到底。紐約時報(New York Times)曾形容他是一位“深居簡出的計算機工程師”,關於此人的個人信息,我們所知甚少。但這個人在二十年前,構想出了一種與比特幣非常相似的電子貨幣系統。

個人信息缺失,但我們可靠Wei Dai 的工作和他所傳播的思想來了解他。他首先是一位天才的密碼學家,創造了Crypto++(一個密碼學算法的C++ 語言代碼庫)並至今仍在維護它;他(時至今日)還活躍在LessWrong 這樣的科普論壇上,常常對人工智能、倫理學、認識論等話題發表看法。他的洞見使他獲得了著名AI 研究者Eliezer Yudkowsky 的讚譽,並多次受邀到後者的機器智能研究所(MIRI,曾用名“奇點研究所”)發表演講。

Dai 對哲學和政治學的興趣由來已久。早在1990 年代,他還是華盛頓大學(Washington University)計算機科學系的本科學生時,他就讀過Timothy May 的作品。後者是密碼朋克運動的元老之一。 Dai 也受到May 所作的“密碼學無政府主義” 的啟發:這種圍繞密碼朋克的全新意識形態,基於這樣一種信念:密碼學和軟件可以比所有的治理系統做得更好,提供更多對政治自由和經濟自由的保障。

“我癡迷於Tim May 的主張”,Dai 在1998 年寫道,“不同於傳統上抱持'無統治' 觀念的社區,在密碼學-無政府主義中,治理系統不是暫時被打破了,而是被永遠禁止了,其必要性也徹底消失了。在這樣的世界裡,暴力威脅不再有用,因為暴力根本不可能發生;暴力之所以無法發生,因為其成員的真名和真實位置永遠不會暴露。”

到了1990 年代中期,Dai 參與了密碼朋克郵件組中的多個主題討論,比如“電子聲譽系統”、博弈論以及電子貨幣系統中的匿名性。也許更重要的是,Dai 也提出了多個想法,來推進密碼朋克的事業,包括“ 可信任的時間戳服務”,一種加密的TCP 協議通道、一種安全的文件共享系統,等等。他因此被稱讚為密碼朋克社區作出了重大貢獻—— 饒是如此,在當時也沒人知道他到底是個什麼樣的人(Timothy May 最近說,那時大家甚至不知道TA 是男是女)。

但給Dai 帶來最大名聲的還是他在1998 年11 月偶然提出的一個想法(那時候他才剛大學畢業不久!)。 “高效的協作需要一種交換媒介(即貨幣)以及強制執行合約的辦法”,Dai 解釋道。 “本文提出的協議為無法跟踪的準匿名實體提供了一種交換媒介和一種強制執行合約的辦法,因此能讓他們的協作更加高效…… 我希望它能增強密碼學無政府主義在現實和理論中的可行性”。

他把這份提議命名為“b-money”。

B-Money

一般的數字貨幣系統都是用一個集中式的賬本來跟踪各賬戶的餘額。從中央銀行、商業銀行到VISA 和其它支付服務提供商,都有一套集中管控的數據庫,來跟踪各賬戶的餘額變化。

在Dai 和其他密碼學無政府主義者看來,這個方案的問題在於,它最終讓政府可以用管制來控制貨幣的流動,而用戶則通常要暴露自己的個人信息。 Dai 後來這麼說:“我發明b-money 的動機就是推動純粹自願的互聯網經濟…… 不會出現暴力威脅下的徵稅和管制”。

所以,Dai 想出了一個替代方案。實際上,是兩種方案。

在第一個方案裡,不是由某個權威實體來控制賬本,而是每個參與者都維護著同一賬本的一個單獨的備份。每當有一筆交易發生時,每個人都各自更新自己的賬本記錄。此外,這份賬本的賬戶名都是公鑰—— 不是真實姓名。這種去中心化的方法可以防止某個實體審查交易,同時為所有用戶帶來隱私性。

舉個例子。假設Alice 和Bob 都是b-money 的用戶。他們各自的公鑰分別是“A” 和“B”,這也意味著他們各自都掌握有對應的、獨一無二的私鑰。而且,根據所有用戶維護的賬本記錄,這兩把公鑰都有一些b-money 餘額。假設這兩把私鑰都擁有3 個單位。

如果Bob 想要從Alice 手上收取2 單位的b-money(因為他正跟她做生意,要賣給她一些東西),他就把自己的公鑰公開給Alice。假設Alice 決定要買了,她就按如下格式,發送一筆交易:“從A 賬戶發往B 賬戶,2 b-mony”。然後,她用A 所對應的私鑰給這條消息簽名。這條消息以及對應的密碼學前面就會發送給所有的b-money 用戶。

這條簽名消息向所有的b-money 用戶證明了,A 賬戶的真實所有人要發送2 b-mony 給B 賬戶。因此,每個人都更新自己的賬本記錄,將A 的餘額改為1,B 的餘額改為5 —— 無需知道賬戶控制者的真實身份。

如果這個方案聽起來很耳熟,那你沒理解錯:10 年後,中本聰設計比特幣的時候,大體上也就是這樣的。

B-Money,版本2

但是,Dai 認為自己的第一版b-money 方案是不實際的,“因為它過於依賴同步且抗干擾的匿名通信通道”。

換句話來說,第一版的b-money 沒法解決“多重支付” 問題。 Alice 可以同時發送2 b-money 給Bob 的B 賬戶和Carol 的C 賬戶。 Bob 和Carol 都會給Alice 發貨—— 到後來才會發現,網絡中有一半人不承認B 賬戶(C 賬戶)的新余額。

這也是為什麼Dai 提出了第二版的b-money,就在同一份提議中。

在這個版本中,不是每個人都維護著賬本。相反,系統將由兩類用戶組成:普通用戶和“服務器”。只有服務器才會通過一個 Usenet 類型的廣播網絡相互連接,b-moeny 的賬本也由他們來維護。要驗證交易處理的情形,普通用戶—— 比如Bob 和Carol —— 需要隨機抽取一小部分的服務器來驗證。 (若是發生了衝突,Bob 和Carol 可以合理地拒絕來自Alice 的請求,拒絕發貨)。

提案中沒有詳細說明的一部分是,雖然每個人都可以成為“服務器”,但是“每個服務器都要先存入一定數量的貨幣,到特定的賬戶中,用作被證實的不當行為的獎勵和懲罰”。

“每個參與者都要驗證自己的賬戶餘額是正確的,而且賬戶餘額的總和不大於創造出來的貨幣單位總和”,Dai 這麼設想,“這樣做能防止服務器輕而易舉地永久增加貨幣供應量,即使他們集體串通也不行”。

如果這聽起來也有點耳熟,那你的感覺也沒錯:Dai 的第二種b-money 構想,大體相似於今天所謂的“權益證明(Proof of stake)” 系統。

此外,Dai 還在自己的提案中增加了一個初步的智能合約解決方案。這些智能合約在類型上非常相似於一個權益證明系統和仲裁系統的混合,通過合約來交易的雙方和仲裁員都要把錢存到一個特殊的賬戶中。從現在的眼光來看,令人奇怪的是,這些合約並沒有安排一個糾紛解決系統:相反,在爭議的情形中,不同的用戶(或服務器)可能會各自改變自己賬本上的記錄,實際上,這就是讓網絡賬本的狀態脫離共識。 (按照假設,潛在的懲罰會使這麼做無利可圖。)

貨幣政策

但是,b-money 跟比特幣差別最大的地方可能就是Dai 提議的貨幣政策了。

比特幣的貨幣政策是非常直接的。要讓貨幣進入流通(發行貨幣),每個區塊都會發行一些新幣;一開始每個區塊發行50 個新幣,但這個數量每過一段時間就會降低,當前已降到了12.5 個(譯者註:原文撰寫於2018 年;在2020 年,這個數字已經降低到了6.25 個)。一百多年以後,比特幣將基本發行完成,總量會稍低於2100 萬(bitcoin)。這套政策是否理想可以爭論,但有一點是很清楚的:迄今為止,它還不能產生穩定的幣值。

相反,幣值穩定顯然是Dai 願景的一部分。為了實現這一點,b-money 的價值將錨定(理論上的)一籃子商品的價值。舉個例子,100 b-money 會剛好能購買一定數量的某幾種商品。這就給了b-money 一個穩定的價值,至少相對於這一籃子商品而言:同樣的100 b-money 總是能買到同樣數量的這幾種商品,過去、現在、未來,都如此。

要發行新幣,用戶需要確定一籃子商品和一個計算問題解答(也就是“工作量證明”)的相對成本。舉個例子:假如在某個時間,一籃子商品價值80 美元,那必須提供平均耗費80 美元來生產的工作量證明(才能發行新幣)。假如10 年以後,同樣的一籃子商品價值120 美元,那同樣的100 單位b-money 就必須提供耗費120 美元才能生產的工作量證明才能發行。

使用這一指標,第一個產生了有效工作量證明的人將被所有用戶和服務器加記100 單位的餘額。因此,沒有人會有激勵去生產工作量證明,除非他們確實要用到b-money,這就限制了“b-money 經濟體” 的通貨膨脹。

此外,在這份提議的一個附錄中,Dai 提議,貨幣的創造可以通過拍賣來實現。要么所有用戶(第一版協議)、要么所有服務器(第二版協議)先確定貨幣的理想增發量。然後,假設這個理想增發量是500 b-money,一場拍賣將決定誰能獲得這500 單位:願意提供最多工作量證明的人,將獲得這批新增發的貨幣。

比特幣

B-money 從來沒被實現過。也沒法實現。多年以後,Dai 在 LessWrong 論壇的一個帖子裡承認:“b-money 尚不是一個完整的、可付諸實踐的設計”。而且,Dai 從未指望b-money 能大獲成功,即使它真的能實現。

“我估計,b-money 最多只能成為一個小眾的貨幣/合約執行機制,服務於不想或者不能使用政府所提供服務的人”,宣布提案之後,他在密碼朋克郵件組的一份郵件如是說。

確實,b-money 有許多問題沒有解決,或至少算沒有明確。也許,更重要的是,其共識模型不是非常健壯,Dai 所提議的智能合約解決方案就是最好的證明。後來,權益證明協議也被證明引入了一些Dai 所沒有預見到的挑戰;舉個例子,我們不太清楚如何能客觀上證實發生了一件“惡意行為”。這還沒涉及到提案中那些更微妙的問題,比如因為資金的可追溯性導致隱私缺失,以及潛在的貨幣發行中心化。實際上,某些問題直到今天,比特幣也還是沒有解決。

在提出b-money 之後,Dai 去了TerraSciences 和微軟工作,而且可能很早就退休了,他沒有留下來解決這些問題。

“我沒有繼續完善它的設計,因為在我寫完b-money 方案的時候,我已經,對密碼學無政府主義有點失望了”,Dai 後來在LessWrong 論壇這麼解釋。他說,“我沒法想像,這樣的一個系統,即使真的能實現,能吸引到足夠多的關注、能被一小群硬核的密碼朋克以外的人使用。”

雖然Dai 的提議沒有被遺忘:b-money 位列比特幣白皮書參考文獻的第一篇。但是,就像b-money 和比特幣貌合神離一樣,也有可能中本聰完全沒有受到Dai 的觀念的啟發。 Dai 自己相信,比特幣的發明者是獨立地想出這些辦法的。

在比特幣白皮書公佈之前,Hashcash 的發明者Adam Bcak 博士給中本聰介紹了Dai 的成果,這使得Dai 成為少數幾個在比特幣白皮書出版之前,中本聰有所接觸的人。但Dai 沒有回復中本聰的郵件。回想起來,他很希望自己回復了。毫不意外,Dai 想質疑的正是比特幣的貨幣增發模型。

“我認為,比特幣在貨幣政策上已經失敗了(因為這種政策會導致大幅的價格波動,使其用戶不堪重負,用戶想使用這種貨幣,要么得承擔可怕的風險,要么必須採用昂貴的對沖工具)”,他在LessWrong 論壇寫道,“比特幣所帶來的一種影響是,因為其貨幣政策的缺陷和價格的波動,它沒法被大規模使用;而因為它已佔據了密碼學貨幣的小眾領域,不再有一種密碼學貨幣能成長到獲得大範圍接受了。”

他補了一句,“這可能得部分歸咎於我。因為中本聰曾寫信給我,徵求我對他的論文初稿的意見,而我一直沒有回复他。不然,也許我能讓他(或者他們)放棄'固定貨幣供給量' 的想法。”

作者註:本文完成之後,有人指出,Nick Szabo 的第一版 Bit Gold 可以追溯到1998 年早期,甚至比b-money 更像中本聰的發明。所以,也許把Bit Gold 當成“比特幣的初稿”,會更為準確。

分享至:

作者:以太坊爱好者

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:以太坊爱好者如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
PANews APP
Machi 平倉大部分ETH與BTC多單,累計虧損接近3,200萬美元
PANews 快訊