所有的 Cypherpunks (密碼朋克)都很重視隱私;上世紀九十年代,由一羣密碼學家、學者、開發者及活動家組成的同樣名爲「Cypherpunks」的郵件訂閱名單,他們所秉持的基本理念也是注重隱私。實際生活中很少人能夠像 Wei Dai 那樣真正踐行這個理念。Wei Dai 曾經被紐約時報形容爲一個「非常注重隱私的計算機工程師」,並不多透露他的私人生活。二十年前,正是這位工程師發明了一個與比特幣非常相似的電子現金系統。
儘管 Wei Dai 的並不透露他的私人生活,但他卻貢獻了大量的工作和創意。作爲一名傑出的工程師,他發明了 Crypto++——一個專爲加密算法而設立的 C++庫,他時至今日依然在維護這個庫。Dai 也一直活躍在像 LessWrong 這樣的理性論壇上,參與人工智能、倫理、認識論等話題的討論。他高超的造詣受到了受到了著名人工智能學者 Eliezer Yudkowsky 的讚賞,甚至不斷邀請 Dai 到他的 機器智能研究中心(MIRI,前身爲奇點研究中心)來演講。
Dai 對於哲學和政治的興趣早已不是什麼新鮮事了。早在九十年代,Dai 還是華盛頓大學計算機專業的本科生,他的好奇心促使他開始閱讀 Timothy May 的作品,而 Timothy May 正是 Cypherpunk 運動的創始人之一。May 宣講的加密學無政府主義極大地鼓舞了 Dai。這個全新的思想流派開始在 Cypherpunks 圈子中廣爲流傳,他們相信密碼學和軟件比任何政府系統都能夠爲人民帶來政治和經濟自由。
Dai 於 1998 年寫道,
Tim May 的加密學無政府主義令我十分着迷,和其他傳統上與「無政府主義」相關的組織不同,在加密需無政府主義中,政府並不是被暫時摧毀,而是被永遠地禁止,而且永遠也不需要政府。在這個社區中暴力並沒有用,根本就不存在暴力,因爲這個社區的成員並不知道彼此的真名或者真實地址。
到了九十年代中期,Dai 參與了 Cypherpunks 郵件訂閱名單中的許多討論,比如數字聲譽系統,博弈論, 隱私以及電子現金系統中的匿名性。也許更重要的是, Dai 撰寫了一系列提案來推動 Cypherpunk 這個組織的願景,包括受信任的時間戳,一個加密 TCP 隧道工人,一個安全文檔傳輸系統等等。這使得他在 Cypherpunk 社區中名聲大漲,儘管當時並沒有人與他有任何私交。(Timothy May 最近說當時甚至連 Dai 是男是女都不知道。)
最讓 Dai 家喻戶曉的是其於 1998 年 11 月非常隨意地一提的想法,當時他剛剛從大學畢業。「高效的合作需要有一個交換(金錢)的平臺以及確保合同執行的方法,」Dai 解釋道,「本文提出的這項協議提供了交易的平臺以及確保合同執行的方法,使得不可追蹤的匿名的參與者能夠更高效地與彼此合作。我希望這個協議能夠進一步推動加密學無政府主義在理論上以及在時間上向前邁進。」
他將他的提案稱爲「b-money (b 現金)」。
B-money
典型的電子現金系統會使用一箇中心賬簿來追蹤賬戶餘額。不管是中央銀行、商業銀行、VISA 或者任何其他的支付服務提供商,都需要一箇中心控制的數據庫來追蹤這些錢是屬於誰的。
從 Dai 及其他加密學無政府主義者的角度看,這種方式的問題就在於政府能夠通過政策管理來控制金錢的流動,同時要使用這些機構的服務的話,也必須要暴露個人身份。「我發明 b-money 的目的就是推動自願的在線經濟發展…政府將無法向這個經濟收稅或者通過暴力來管制它。」他稍後解釋道。
於是 Dai 提出了一個替代方案,或者說是兩個替代方案。
在第一個方案中,賬簿不再由一箇中心機構管理,而是所有的參與者都擁有一份該賬簿的副本。每當有一筆新的交易產生,每個人都更新他們手裏的賬簿。此外,這些賬簿還包含公鑰,上面附着相應的金額,但是沒有真名。這種去中心化的手段將使得沒有任何人能夠阻止交易,同時也保證所有用戶的隱私安全。
下面來舉個簡單的例子。假設小紅和小明都是 b-money 的用戶,他們都擁有公鑰:小紅擁有公鑰「A」,小明擁有公鑰「B」,他們也都擁有相應的私鑰。在所有用戶共同維護的賬簿中,他們的公鑰上都有 b-money 貨幣,假設小紅和小明分別都擁有 3 塊錢。
如果小紅向小明購買了一個產品,那麼小紅需要向他支付兩塊錢,小明把他的公鑰 B 發送給小紅。於是小紅通過信息的形式創建一個交易:從 A 發送 2 塊錢到 B。接着小紅用公鑰 A 相應的私鑰在這條信息上簽名,然後這條信息以及密碼學簽名就會被髮送給所有 b-money 用戶。
這條簽了名的信息向所有 b-money 用戶證明,公鑰 A 的主人想要將 2 塊錢發送給公鑰 B。因此每個人都會更新他們的賬簿,於是 A 的餘額爲 1,而 B 的餘額爲 5,而大家都不會知道小明或者小紅的身份。
如果你覺得這個方案很眼熟那就對了:這就和十年之後中本聰創建比特幣差不多。
第二版本的 B-money
但是 Dai 認爲他第一個版本的 b-money 方案無法真正應用到實踐中來,因爲它需要一個很大的即時同步、防干擾的匿名廣播通道。他在他的提案中解釋道。
換句話說,第一版的 b-money 提案並不能解決雙重花費的問題。小紅可以將 2 塊錢同時發送給小明的 B 公鑰和小蘭的 C 公鑰,將這兩筆交易同時發送給網絡的不同部分。於是小明和小蘭都給小紅髮貨了…後來才發現有一半的網絡拒絕承認他們的新餘額。
於是 Dai 在同一篇提案中由提出了第二個 b-money 解決方案。
在這個版本中,並不是每個人都擁有賬簿。這個系統中有兩類用戶:普通用戶以及服務器。服務器由一個類似於 Usenet 的廣播網絡連接起來,只有服務器纔對 b-money 的賬簿進行管理。要驗證交易是否真的執行了,普通用戶——比如小明和小蘭——需要通過一組隨機的服務器來進行驗證。(如果出現衝突的話,那麼小明和小蘭就會拒絕來自小紅的交易,並且不給她發貨。)
儘管提案裏並沒有細說,但是應該任何一個人都能夠成爲一個服務器,只不過「每個服務器都要向一個特別的賬戶打一定額度的錢,如果發現有人作弊,作弊者就會被罰錢,而舉報者得到獎勵,」Dai 這樣寫道。 服務器同時也應當定期地發佈並在密碼學上對所有權數據庫保持承諾。
「每一個參與者都應當檢查他們自己的賬戶餘額是否正確,以及所有賬戶餘額之和不應當大於總髮行貨幣金額。」Dai 寫道,這樣的話,即使所有服務器聯合起來,也無法永久地毫不費力地擴大貨幣發行總量。
如果這個你也覺得眼熟的話,那也並不奇怪:Dai 的第二個版本的 b-money 和今天所說的權益證明系統有些相似。
此外,Dai 還在他的提案中添加了一個智能合約解決方案的早期版本。這種智能合約就像是權益證明系統和仲裁系統的混血兒,使用該智能合約及仲裁者的雙方必須將資金轉賬至一個特別的賬戶中。然而令人迷惑的是,從現代的標準看,這些合約並沒有一個糾紛調解系統:很可能的情況是,出現糾紛時,不同的用戶(或者服務器)將會各自調整賬簿,導致網絡上的賬簿無法達成共識。(筆者的推測是,對作弊行爲的懲罰非常嚴峻,導致沒有人會作弊。)
貨幣政策
B-money 和比特幣最大的不同之處應該就在於 Dai 的貨幣政策了。
比特幣的貨幣政策非常直截了當。爲了讓貨幣進入流通,比特幣最開始每個區塊包含 50 個新的比特幣,到目前爲止已經降到了 12.5 個了。這個數字還會隨着時間的推移而下降,直到幾百年後,當發行的比特幣總量達到略低於 2100 萬時便停止發行。這個貨幣政策是否理想一直是人們爭論的問題,但有一件事情很確定:這個政策到目前爲止並沒有使得比特幣價格穩定下來。
和比特幣相反,Dai 非常堅定地將穩定幣價當做他的目標。爲了實現這個目標,他將 b-money 的價格與一籃(理論上的)貨物相掛鉤。比如說,100 個單位的 b-money 價值 1 籃貨物。這將使得 b-money 的價格保持穩定,至少相對於這籃貨物來說是穩定的:不管是過去、現在還是將來,100 個單位的 b-money 都一定能夠購買 1 籃貨物。
要發行新的貨幣的話,用戶就要計算一個數學問題,以此來決定一籃貨物到底值多少錢:這就是「工作證明」。比如說,假設在某個時間點,一籃貨物價值 80 美元,那就需要有相應的價值 80 美元的工作證明來匹配它。如果 10 年後,同樣一籃貨物價格漲到了 120 美元,那麼 100 個單位的 b-money 就要匹配 120 美元的工作證明。
按照這個規則,所有的用戶或者服務器將把 100 個單位的 b-money 獎勵給第一個提供有效的工作證明的人。因此沒人會想要提供工作證明,除非他們打算使用,這就能有效防止「b-money 經濟體」發生通脹。
在他的提案的附錄中,Dai 提出了另一種發行貨幣的方法,即通過拍賣來發行貨幣。要麼是所有的用戶(第一協議),要麼是服務器(第二協議)來擬定一個適合的新發貨幣量。假設這個數值是 500 個單位的 b-money,然後舉行一場拍賣來決定誰來創造這 500 個單位的 b-money,最終選出願意爲這 500 個單位的 b-money 提供最多工作證明者。
比特幣
B-money 後來並沒有付諸實踐,因爲沒辦法實現:B-money 還不是一個完整的可行的方案。Dai 幾年前在一個 LessWrong 論壇的帖子裏承認道。即使 b-money 真的實施了,Dai 也並不期望它能夠大展宏圖。
「我認爲 b-money 最多可以爲那些不想或者不能用政府發行的貨幣或者合約強制執行機制的人提供一個替代解決方案。」在 Cypherpunks 訂閱郵件中發表他的提案之後,Dai 又在隨後的一封郵件中解釋道。
確實,b-money 的許多問題一直未得到解決,或者至少是沒有被指出。也許最重要的是,它的共識模型並不非常穩健,這一點在 Dai 提出的智能合約解決方案中非常明顯。此外我們現在也發現了許多權益證明系統帶來的新問題,而 Dai 當時可能並沒有預見到這些問題;比如說該如何判斷什麼是「作弊行爲」並沒有給出清楚的解釋。更不用說這份提案的其他小問題,比如說資金可被追蹤而帶來的隱私問題,或者是貨幣發行(挖礦)可能會形成中心化。這其中的一些問題甚至至今在比特幣身上也沒有得到解決。
Dai 在提出 b-money 之後並沒有再繼續試圖解決這些問題。他去了 TerraSciences 和微軟工作,可能不久後就提前退休了。
我沒有再繼續研究這些問題是因爲,當我寫完 b-money 的提案之後,我對加密學無政府主義已經感到有些幻滅了。Dai 後來在 LessWrong 上解釋道。他又說道:
我沒有想到這樣一個系統投入實踐之後,會吸引如此多的注意,並且會被這麼多人使用,而不僅僅是 Cypherpunks 那羣加密學鐵桿粉絲。
但是 Dai 的提案並沒有被人們忘記:比特幣白皮書中的第一條參考文獻就是 b-money。不過儘管 b-money 和比特幣的設計非常相似,中本聰也有可能並不是受到 b-money 的啓發而發明比特幣。Dai 本人就相信比特幣的發明者是自己獨立想出這個點子的。
在比特幣白皮書發表前不久,Hashcash 的發明者 Adam Back 建議中本聰去讀一讀 Dai 的研究成果,Dai 是爲數不多的中本聰在發表白皮書之前親自聯繫過的人之一。但是 Dai 並沒有回覆中本聰的郵件,後來他回想起來時表示感到後悔。Dai 認爲比特幣的發行機制有問題,這並不令人感到驚訝。
「我認爲比特幣的貨幣政策會最終導致其失敗(因爲它的貨幣政策會導致幣價震盪,這就會讓用戶損失慘重,要使用這個貨幣的話就不得不冒極大的風險,或者進行高昂的對沖),」他在 LessWrong 上寫道,比特幣可能帶來的影響之一是,由於其有瑕疵的貨幣政策以及因此而來的價格震盪,比特幣將不會發展成很大規模,但是比特幣已經佔領了加密貨幣這個領域,這就導致將來也不會有加密貨幣發展成非常大的規模。
他又補充道:
這可能有一部分是我的錯,因爲中本聰給我發郵件詢問我對他的稿件的看法時,我沒有回覆他。不然我可能能夠成功勸說他(或者他們)不要用「固定貨幣發行量」這個想法。
這是 Bitcoin Magazine 創世文檔系列的第三篇,前兩篇文章涵蓋了 David Chaum 博士的 eCash,和 Adam Back 博士的 Hashcash。更多關於 Wei Dai 的內容可訪問 weidai.com。
鏈聞 ChainNews:提供每日不可或缺的區塊鏈新聞。
原文作者:William Suberg
鏈聞編譯:GDP
版權聲明:文章爲作者獨立觀點,不代表 鏈聞 ChainNews 立場。
來源鏈接:bitcoinmagazine.com