所有的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圈子中廣為流傳,他們相信密碼學和軟件比任何政府系統都能夠為人民帶來政治和經濟自由。
“Tim May的加密學無政府主義令我十分著迷,” Dai於1998年寫道,“和其他傳統上與‘無政府主義’相關的組織不同,在加密需無政府主義中,政府並不是被暫時摧毀,而是被永遠地禁止,而且永遠也不需要政府。在這個社區中暴力並沒有用,根本就不存在暴力,因為這個社區的成員並不知道彼此的真名或者真實地址。”
到了九十年代中期,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。
本文來自比特幣,本文觀點不代表三點鐘財經立場,轉載請聯繫原作者。