通往比特幣的道路上到處充斥者失敗的嘗試。我已經(jīng)編制了大約一百個密碼支付系統(tǒng),無論是電子錢包還是信用卡為基礎(chǔ)的技術(shù),在某些方面它們是非常著名的。有些是已經(jīng)得到了很好的學(xué)術(shù)引用,有些則是實際部署和測試的系統(tǒng)。這份名單上所有的名字,有可能你只認識一個——Payply。而Payply存活的唯一原因,僅僅是它迅速轉(zhuǎn)離了原來以手持設(shè)備密碼支付為核心的想法!
從這段歷史中可以學(xué)到很多東西。比特幣的想法從何而來?為什么有些技術(shù)存活了下來,而另一些則會死亡?復(fù)雜的技術(shù)創(chuàng)新要成功地商業(yè)化需要些什么?如果不出意外,這個故事會讓你欣賞到,我們最終擁有的一個真正的、有效的互聯(lián)網(wǎng)付款機制是多么地引人注目。

表1 : 值得注意的電子支付系統(tǒng)和提議
傳統(tǒng)金融的安排
回溯歷史,在有政府和貨幣之前,一個為獲取貨物而運作的系統(tǒng)是以物易物。比方說,Alice想要一個工具,Bob需要藥品。如果他們恰好都有對方需要的東西,那么他們可以交換,兩者都能滿足他們的需要。
另一方面,假設(shè)Alice有食物,她希望通過交換得到一個工具,然而Bob擁有一個工具,但沒有食物的需求,反而他需要藥物。Alice和Bob不能相互交易,但如果有第三個人,卡羅爾,她有藥物,想交換得到食物,那么就有可能安排三方交易,每個人得到他們所需要的。
當(dāng)然,它的缺點是需要協(xié)調(diào)——組織一群人在同一個時間、同一個地點,讓他們的需求達成一致。為了解決協(xié)調(diào)的問題,出現(xiàn)了兩個系統(tǒng):信貸和現(xiàn)金。歷史學(xué)家、人類學(xué)家和經(jīng)濟學(xué)家對這兩者哪一個是最先發(fā)展起來的起了爭論,但這對我們的目的無關(guān)緊要。
在一個基于信用的系統(tǒng)中,上面例子中的Alice和鮑伯將能夠與對方進行交易。鮑伯會給Alice這個工具,Alice則欠鮑伯一個人情。換句話說,Alice有個債務(wù),她需要在未來的某個時候與鮑伯和解。Alice的物質(zhì)需求現(xiàn)在已經(jīng)得到滿足,但她想要取消債務(wù),所以這是她的新“希望”。如果Alice在未來遇到卡羅爾,Alice可以用食物交易卡羅爾的藥物,然后再返回到Bob處,給Bob藥物并取消債務(wù)。
另一方面,在以現(xiàn)金為基礎(chǔ)的系統(tǒng)中,Alice會從Bob那里購買工具。后來,她可能會把食物出售給卡羅爾,卡羅爾則能把他的藥物賣給Bob,以此來完成這一循環(huán)。這些交易可以以任何順序發(fā)生,只要確保每筆交易中的買方手頭有現(xiàn)金。最后,當(dāng)然,這就像錢從未轉(zhuǎn)過手一樣。
沒有哪個系統(tǒng)更勝一籌。基于現(xiàn)金為基礎(chǔ)的系統(tǒng),需要在無交易發(fā)生的情況下,初始分配一些“自舉”現(xiàn)金?;谛庞脼榛A(chǔ)的系統(tǒng)不需要引導(dǎo),但缺點是任何欠了債務(wù)的債權(quán)人都承擔(dān)了一些風(fēng)險,債務(wù)人有可能永遠不會回來償還債務(wù)。
現(xiàn)金也能讓我們精確地知道某物的價值。假如你是物物交換,很難說一個工具的價值超過了藥物,或者藥物的價值超過了食物。現(xiàn)金讓我們用數(shù)據(jù)來談?wù)搩r值。這就是我們今天使用混合系統(tǒng)的原因——甚至當(dāng)我們使用信用卡,我們依舊用它所需的現(xiàn)金來度量債務(wù)。
這些想法的出現(xiàn)有很多背景,尤其是用戶在線交易某種虛擬物品。例如,對等(P2P)文件共享網(wǎng)絡(luò),必須處理好“不速之客”的問題,也就是那些下載了文件卻沒有反過來共享文件的用戶。雖然可以交換文件,但依舊有協(xié)調(diào)的問題:尋找誰真正擁有你想要的文件,還有希望你有那個確切的文件。在MojoNation項目和Karma學(xué)術(shù)建設(shè)中,用戶必須初始分配一些虛擬現(xiàn)金,以便他們接受文件時支付,發(fā)送文件副本給其他用戶時獲得報酬。在這兩種情況下,一個或多個中央處理器幫助跟蹤用戶的余額,并提供內(nèi)部貨幣與傳統(tǒng)貨幣之間的兌換服務(wù)。雖然MojoNation沒有存活足夠長時間來實現(xiàn)這樣的交換,它卻成為當(dāng)今使用的一些協(xié)議的知識產(chǎn)權(quán)祖先:比特流BitTorrent和開源分布式文件儲存系統(tǒng)Tahoe-LAFS.
在線信用卡的麻煩
就基本概念這一點,我們可以將大量的電子支付方式分成信用和現(xiàn)金兩堆。比特幣顯然是在“現(xiàn)金”堆,但讓我們先看看另一個。
信用卡交易是當(dāng)今網(wǎng)絡(luò)上使用的最主要支付方式。如果你曾經(jīng)從Amazon這樣的在線賣家那里買過東西,你就知道這個安排是如何進行的。你輸入你的信用卡詳細信息,把它發(fā)送到Amazon,然后亞馬遜轉(zhuǎn)發(fā)這些信用卡詳細信息,并與“系統(tǒng)”—— 涉及處理器,銀行,信用卡公司和其他中介的金融系統(tǒng)進行交談。
另一方面,如果你使用像PayPal這樣的東西,你所看到的就是一個中介架構(gòu)。在你和賣方之間有一家公司,你將信用卡信息發(fā)送給這個中介,該中介批準(zhǔn)交易并通知賣方。每一天結(jié)束時,中介會與賣方結(jié)平賬目。
你從這個架構(gòu)中得到的好處是,你不必向賣家提供你的信用卡詳細信息,這可能是一種安全風(fēng)險。你甚至不需要讓賣家知道你的身份,這很好地保護了你的隱私。它的不足是你失去了直接與賣家簡單互動的機會。你和賣家可能不得不在同一個第三方機構(gòu)都擁有賬戶。
今天,我們大多數(shù)人都樂于在網(wǎng)上購物時提供信用卡信息,或者至少我們勉強接受。我們也習(xí)慣于收集有關(guān)網(wǎng)上購物和瀏覽活動的數(shù)據(jù)公司。但在20世紀(jì)90年代,網(wǎng)絡(luò)是個新新事物,協(xié)議級加密標(biāo)準(zhǔn)正在出現(xiàn),這些企業(yè)使消費者深感不安和猶豫。特別是,通過不安全的渠道將信用卡信息交給不知名的網(wǎng)絡(luò)供應(yīng)商被認為是瘋狂的。在這樣的環(huán)境下,人們對中介架構(gòu)產(chǎn)生了濃厚的興趣。
FirstVirtual是一個早期的支付中介,它成立于1994年。順便說一下,他們是最早建立純粹虛擬辦公室的公司之一,員工遍布全國,通過互聯(lián)網(wǎng)進行溝通,因此獲得了這個名字。
FirstVirtual提出的系統(tǒng)有點像PayPal當(dāng)前的系統(tǒng),但在它先于Paypal之前很多年。作為用戶,你要注冊并提供你的信用卡詳細信息。當(dāng)你想要從賣家那里購物時,賣家聯(lián)系FirstVirtual請求所要求付款的詳細信息,F(xiàn)irstVirtual將與你確認這些信息,你的信用卡則會在你批準(zhǔn)后付款。但有兩個細節(jié)很有趣。首先,所有這些通信都發(fā)生在電子郵件上;當(dāng)時的Web瀏覽器剛剛開始普遍支持像HTTPS這樣的加密協(xié)議,而多方性的支付協(xié)議也增加了其他的復(fù)雜性。(其他中介機構(gòu)將信息編碼到URL中或在HTTP之上使用自定義的加密協(xié)議)第二,用戶有三個月的時間來質(zhì)疑這筆費用,商人則只能在三個月之后收到錢!今天的商家能立即得到報酬,但是,仍然有用戶提出退款或?qū)π庞每▽~單存有爭議的風(fēng)險。如果發(fā)生這種情況,商家將不得不將付款退還給信用卡公司。
在90年代中期,出現(xiàn)了一種稱之為集合架構(gòu)(SET)與這些中介架構(gòu)進行競爭。SET即避免了用戶向商家發(fā)送信息卡信息的需要,同時還免除了用戶不得不在第三方進行注冊的麻煩。在SET中,當(dāng)你準(zhǔn)備購買時,你的瀏覽器會將你的交易細節(jié)傳送給你計算機上的購物程序,該購物程序?qū)⒛愕男庞每ㄐ畔⒓用埽员愠说谌經(jīng)]有人可以解密它。以這種方式加密了你的數(shù)據(jù)后,你就可以放心的將其發(fā)送給賣家。賣家機械地將加密數(shù)據(jù)轉(zhuǎn)發(fā)給第三方,連同他們自己對交易細節(jié)的看法。第三方揭秘你的數(shù)據(jù),當(dāng)你的想法與賣家的想法相符時才批準(zhǔn)交易。
SET是一個由VISA和萬事達主導(dǎo),當(dāng)今諸多技術(shù)巨頭:Netscape、IBM、Mircrosoft、Verisign和RSA參與開發(fā)的標(biāo)準(zhǔn)。它是一個規(guī)范總括,一統(tǒng)了幾個現(xiàn)有提議。
有一家采用SET的公司被稱為CrberCash,在很多方面這是一個有趣的公司。他們除了處理信用卡支付,還有一款名為CyberCoin的數(shù)字現(xiàn)金產(chǎn)品。這是一個小額支付系統(tǒng),用于支付例如用幾美分來閱讀在線報紙的交易。這意味著你的CyberCoin賬戶任何時候,都可能不會超過10美元。然而,有趣的是,他們能夠為每個賬戶獲得最高達10萬美元的美國政府(FDIC)保險。
回顧過去,還有更多故事。當(dāng)CyberCash運行時,加密技術(shù)被認為是一種武器,美國政府限制了它的出口,現(xiàn)在已被放棄。這意味著不能將有意義的加密軟件提供給其他國家的用戶下載。然而,CyberCash能夠得到國務(wù)院對他們軟件的特別豁免權(quán)。政府的觀點是,從CyberCash的軟件中提取加密技術(shù),將比從頭開始編寫密碼更難。
最后,CyberCash成為少數(shù)幾家受到Y(jié)2K攻擊的公司,造成了他們的支付處理軟件對用戶進行雙重收費。后來,他們在2001年破產(chǎn)。他們的知識產(chǎn)權(quán)后來由Verisign收購,然后他轉(zhuǎn)過身賣給了現(xiàn)在的Paypal。
為什么SET沒有起作用?根本問題與證書有關(guān)。證書是一種安全地將加密身份(即公鑰)與真實身份相聯(lián)系的方法。它是一個網(wǎng)站需要從Verisign這樣被稱為認證機構(gòu)的公司獲得,為了展示瀏覽器安全的協(xié)議(通常用鎖定的圖標(biāo)表示)。CyberCash和SET決定不僅系統(tǒng)中的處理器和商家必須獲得證書,所有用戶也必須獲得證書,不然網(wǎng)站就不能安全的使用。獲得證書就像納稅一樣可愛,這樣的系統(tǒng)注定是一場災(zāi)難。過去幾十年,主流用戶對任何需要最終用戶證書的系統(tǒng)都表示了堅定和一致的“否定”,而這些提案現(xiàn)在已經(jīng)被歸為學(xué)術(shù)論文。Bitcoin通過避免現(xiàn)實生活中的身份驗證,巧妙地避開了這個惱人的問題。在比特幣中,公鑰本身就是用戶所知的身份,我們將在第1章中講述。
在90年代中期,當(dāng)SET被標(biāo)準(zhǔn)化時,萬維網(wǎng)聯(lián)盟也在考慮金融支付的規(guī)范化。他們想通過擴展HTTP協(xié)議來實現(xiàn)這一點,以便用戶不需要額外的軟件來進行交易,只需使用瀏覽器即可。事實上,他們有一個關(guān)于如何擴展協(xié)議的一般性建議,以及他們在付款中使用的一個用例。這從來沒有發(fā)生過,整個擴展框架從未部署在任何瀏覽器中。2015年,差不多二十年后,W3C宣布它想再次嘗試它,且把比特幣納為標(biāo)準(zhǔn)化的一部分。然而,不管過去如何失敗,我都不會屏住呼吸。
從信用到(加密)現(xiàn)金
現(xiàn)在讓我們轉(zhuǎn)到現(xiàn)金。我們先前比較了現(xiàn)金和信貸,并指出現(xiàn)金需要“自舉”,但好處是它避免了買家拖欠債務(wù)的可能性?,F(xiàn)金還有另外兩個優(yōu)勢。第一個是更好的匿名。由于你的信用卡是以你的名義發(fā)行的,因此銀行可以追蹤你的所有支出。但當(dāng)你用現(xiàn)金付款時,銀行沒有看到,而賣方也不需要知道你是誰。第二,現(xiàn)金可以在不需要第三方批準(zhǔn)的情況下啟用離線交易。也許后面他們還要去像銀行這樣的第三方存錢,但那就沒有那么麻煩了。
比特幣不完全具備這兩個屬性,但足夠接近,這已經(jīng)相當(dāng)有用了。比特幣并不像現(xiàn)金那樣匿名。你不需要用你的真實身份來支付比特幣,但可能你的交易可以通過巧妙的算法與公共交易賬簿捆綁在一起,然后如果你不小心,它進一步與你的身份相關(guān)聯(lián)。我們將在第6章中講述比特幣匿名背后凌亂而迷人的細節(jié)。
比特幣不能以完全離線的方式工作。好消息是,它不需要中央服務(wù)器,而是依靠一個具有彈性、互聯(lián)網(wǎng)本身方式的對等網(wǎng)絡(luò)。在第3章中,我們將討論“綠色地址”和小額支付等技巧,這些技巧讓我們在某些情況下,或者一定條件下做離線支付。
最早將加密技術(shù)應(yīng)用于現(xiàn)金的想法來自于1983年的大衛(wèi)·肖姆(David
Chaum)。我們通過物理比喻來理解這一點。假設(shè)我開始分發(fā)一些附有我簽名的紙,上面寫著:“這張票據(jù)的持有者可以把它兌換成一美元”。人們?nèi)绻嘈盼視袷匚业某兄Z,并考慮我的簽名是不可偽造的,他們就可以像紙幣一樣傳遞這些紙張。事實上,紙幣本身就是從商業(yè)銀行簽發(fā)的期票開始的。只有在最近的歷史中,各國政府才著手集中貨幣供應(yīng),并要求銀行合法贖回票據(jù)。
我可以用電子化的數(shù)字簽名做同樣的事情,但這會遇到惱人的“雙花”問題——如果你收到一個代表虛擬現(xiàn)金單位的數(shù)據(jù),則可以制作兩個(或更多)副本,并將其傳遞給不同的人。為了更好的說明這一點,讓我們稍微延伸一點,假設(shè)人們可以復(fù)制出完美的副本,而我們卻無法分辨出來。這個世界的雙花問題能被我們解決嗎?
這里有一個可能的解決方案:把唯一的序列號放在我發(fā)出的每一個票據(jù)中。當(dāng)你從某人那里收到票據(jù)時,請檢查我的簽名,你也可以打電話給我,詢問該序列號的票據(jù)是否已經(jīng)花了。在我說“不”的情況下,你接受這筆票據(jù)。我將在我的分類賬上把這些序列號記錄為已使用,如果你嘗試花費該票據(jù),則無法使用,因為收件人會打電話給我,我會告訴他們該票據(jù)已經(jīng)使用。你需要做的就是定期為我?guī)砟闶盏降乃衅睋?jù),我將向你發(fā)送相同數(shù)量的新票據(jù),并附上新的序列號。
這樣方案完全OK。這在現(xiàn)實生活中很麻煩,但是我提供了一個簡單的數(shù)字服務(wù)器來完成序列號的簽名和記錄。唯一的問題是,它不是真的現(xiàn)金,因為它不是匿名的——當(dāng)我發(fā)給你票據(jù)的時候,我可以把序列號和你的身份對應(yīng)起來,同時當(dāng)別人兌換它時我可以做同樣的事。這意味著我可以追蹤你所有花錢的地方。
這就是Chaum的創(chuàng)新所在。他想通了如何既保持系統(tǒng)的匿名性,又可以通過發(fā)明以下等效的程序來防止雙花問題:當(dāng)我向你發(fā)出新的票據(jù)時,你來挑選序列號。你把它寫在紙上,蓋住它使我看不到。然后我會簽署它,仍然無法看到序列號。這在密碼學(xué)中被稱為“盲簽”。根據(jù)愛好選擇一個長的、隨機的序列號,以確保它很有可能是獨一無二的。我絲毫不必擔(dān)心你會選擇一個已經(jīng)被選中的序列號,你這樣做只能在結(jié)算中發(fā)送你自己,最終會出現(xiàn)一個不能花費的票據(jù)。
這是第一次重要的數(shù)字現(xiàn)金提案。它有效,但仍然需要由一個中央權(quán)威機構(gòu)(如銀行)運行的服務(wù)器,并且需要每個人都信任該實體。此外,每個交易都需要這個服務(wù)器的參與才能完成。如果服務(wù)器暫時關(guān)閉,付款就會中斷。幾年后,在1988年,Chaum與另外兩家密碼學(xué)家Fiat和Naor合作提出了離線電子現(xiàn)金。最初看來這是不可能的:如果你嘗試在兩個不同的商店使用相同的數(shù)字票據(jù)或硬幣,除非他們連接在相同的支付網(wǎng)絡(luò)或中央機構(gòu),否則如何阻止他們?
這個聰明的想法是停止考慮如何阻止雙重支付,而是當(dāng)商家重新連接到銀行服務(wù)器時把重點放在檢測它。畢竟,這就是為什么即使天空中沒有網(wǎng)絡(luò)連接,你還可以在飛機上使用你的信用卡的原因。當(dāng)航空公司能夠重新連接到網(wǎng)絡(luò)時,交易就會開始處理。如果你的卡被拒絕,你將欠該航空公司(或你的銀行)的錢。如果你想到這一點,相當(dāng)多的傳統(tǒng)金融就是基于發(fā)現(xiàn)錯誤或損失的想法,來試圖追回錢或懲罰犯罪者。如果你寫一張個人支票,他們不能保證金額實際上在您的帳戶,但如果支票跳票他們就會去找你。可以想象,如果離線電子現(xiàn)金系統(tǒng)得到廣泛采用,法律體系就會認識到雙重消費是一種犯罪行為。
Chaum,F(xiàn)iat和Naor的檢測雙重支出的想法是一個復(fù)雜的加密藝術(shù)。在高水平上,它是這樣實現(xiàn)的:發(fā)給你每個數(shù)字硬幣都會對你的身份進行編碼,除了你和銀行之外,沒有人可以解碼它。每次你花你的硬幣時,收件人將要求你對編碼的一個隨機子集進行解碼,他們將保持這一記錄。這種解碼不足以讓他們確定您的身份。但是,如果你雙重消費,最終兩個收件人都會去銀行兌現(xiàn)他們的票據(jù),當(dāng)他們這樣做時,銀行可以把兩塊信息放在一起,以極大的概率對你的身份進行完全解碼。
你可能想知道是否有人可以在系統(tǒng)中陷害你成為雙重消費者。你和我一起花了一枚硬幣,然后我轉(zhuǎn)過身去,試圖雙重消費(不用銀行兌換,直接用我的身份編碼獲得一個新的硬幣)。這將不會起作用——新的收件人將要求我解碼一個隨機的子集,這幾乎肯定不會與為你解碼的子集相同,所以我將無法執(zhí)行他們的解碼請求。
多年來,許多密碼學(xué)家已經(jīng)看到了這種結(jié)構(gòu),并以各種方式對它進行了改進。在Chaum-Fiat-Naor的方案中,如果一枚硬幣價值100美元,而您想要購買的成本僅為75美元,那么根本沒有辦法把這個硬幣分成75美元和25美元。你唯一可以做的是回到銀行,花費$ 100硬幣,并要求一個$ 75硬幣和一個$ 25硬幣。但是Okamoto和Ohta的一篇文章使用“Merkle trees”來創(chuàng)建一個允許您細分硬幣的系統(tǒng)。Merkle trees也將出現(xiàn)在比特幣中,我們將在第1章中講述他們。Chaum-Fiat-Naor的方案同時也為提高支付效率留下了很大的空間。特別的是,方案中應(yīng)用的非零知識證明(最著名的由Brands、Camenisch, Hohenberger、Lysyanskaya發(fā)明),非常的富有成效。非零知識證明也已經(jīng)應(yīng)用在比特幣中,我們將在第6章中看到。
回到Chaum:他商業(yè)化了他的想法,于1989年組建了一家名為DigiCash的公司,可能是最早試圖解決在線支付問題的公司。他們比我們剛剛討論的諸如FirstVirtual、CyberCash等早五年時間。Digicash系統(tǒng)中的現(xiàn)金叫做Ecash,他們還有一個叫做cyberbucks的系統(tǒng)。幾家美國的銀行和至少一家芬蘭的銀行實際實施了他們的方案。這是在二十世紀(jì)九十年代,早于比特幣很久很久,這可能會讓將銀行視為科技恐懼癥,反創(chuàng)新的龐然大物的比特幣愛好者異常的驚訝。
Ecash是基于Chaum的協(xié)議??蛻羰悄涿?,所以銀行無法追蹤他們是如何花錢的。但是,ecash的商家并不是匿名的。他們必須在收到貨幣后立即換回硬幣,所以銀行知道他們什么時候做了什么等等。

圖2:DigiCash的屏幕截圖
圖2顯示了這個軟件的界面。正如你看到的,它顯示了你的余額以及你從銀行發(fā)給你的所有硬幣。既然沒有辦法分割你的硬幣,銀行會向你發(fā)出一整套硬幣,價錢分一美分、兩美分、四美分等等(以2為倍數(shù))。這樣,你(或者代表你的軟件)就可以選擇一套硬幣來支付交易的確切金額。
當(dāng)你想要交易的時候,比如說你想要向非盈利組織EPIC捐款,你需要點擊一個會帶你到Digicash網(wǎng)站的捐贈鏈接。然后,將打開一個反向Web鏈接回到你的計算機,這意味著你的計算機必須能夠接受傳入的鏈接并充當(dāng)服務(wù)器。你必須擁有你自己的IP地址,且你的ISP將不得不允許傳入鏈接。如果連接成功,ecash軟件會在你的計算機上啟動,你可以批準(zhǔn)交易并支付現(xiàn)金。
Chaum擁有Digicash技術(shù)的幾項專利,特別是其使用的盲簽方案。這是有爭議的,它阻止了其他人使用相同的協(xié)議開發(fā)電子貨幣系統(tǒng)。一大堆密碼學(xué)家們就此掛上了所謂的Cypherpunks郵件列表來替換它。Cyperpunks是日本Satoshi Nakamoto后面向世界宣布的Bitcoin郵件列表的前身,這不是巧合。我們會在第7章談?wù)揅ypherpunk運動和比特幣的根源。
解密高手破譯ecash實現(xiàn)的一個版本的電子貨幣被稱為magicmoney。它確實違反了專利,但被廣而告之僅用于實驗用途。這是一個有趣的軟件,它的界面是基于文本的。你可以通過電子郵件發(fā)送交易。你只需將交易復(fù)制并粘貼到你的電子郵件中,然后將其發(fā)送給其他用戶。希望你最好使用了端到端電子郵件加密軟件(如PGP)來保護傳輸中的交易。
后來,Ben Laurie和其他很多人一起發(fā)展了一個叫Lucre的提案。Lucre試圖以非專利-作保的方式取代ecash中的盲簽方案,系統(tǒng)其他部分大致相同。
另外,伊恩·戈德伯格(Ian Goldberg)提出了一個提案試圖解決不能分割硬幣來找零的問題。他的想法是,如果商家還有一些硬幣,那么他們可以向你發(fā)回硬幣,以便你沒有多余零錢時可以多支付,然后收到商家發(fā)回的硬幣。但請注意,這引入了匿名問題。正如我們以前看到的那樣,在ecash中,發(fā)送者是匿名的,但商家不是。當(dāng)商家發(fā)回現(xiàn)金時,從技術(shù)上來說他們是發(fā)件人,所以他們是匿名的。但是你,作為必須將這筆現(xiàn)金退回銀行的人,不是匿名的。沒有辦法設(shè)計這個系統(tǒng)而不破壞試圖購買商品的用戶的匿名性。所以,戈德伯格提出了一個提案,其中有不同類型的硬幣來允許交易的發(fā)生,允許你改回去,并保持你的匿名。
現(xiàn)在我們來看看,為什么DigiCash失敗了?DigiCash的主要問題是很難說服銀行和商人采用它。既然沒有很多商家接受ecash,用戶當(dāng)然也不想要它。更糟糕的是,它不支持用戶和用戶的交易,或至少支持的不是很好。它真正集中在用戶對商家的交易上。因此,如果商人不在船上,就沒有其他方法可以引導(dǎo)人們對系統(tǒng)感興趣。所以一天結(jié)束時,DigiCash失敗了,信用卡公司勝利了。
作為附注,比特幣允許用戶到商家和用戶到用戶的交易。實際上,協(xié)議沒有與用戶的概念分開的商家概念。對用戶到用戶的交易的支持可能有助于比特幣的成功。從一開始就有一些事有助于你的比特幣:把它發(fā)送給其他用戶,社區(qū)試圖鼓勵對比特幣的支持,讓商家接受它。
在公司的后幾年里,DigiCash還試用了防篡改硬件,試圖防止雙重支出,而不是僅僅檢測它。在這個系統(tǒng)中,你會得到一個通常被稱為錢包或某種卡片的小型硬件設(shè)備。該設(shè)備將跟蹤您的余額,當(dāng)您花費時余額減少,充值是余額增加。設(shè)備最關(guān)鍵的是,應(yīng)該沒有物理或數(shù)字的辦法進入并篡改其計數(shù)。所以如果這個計數(shù)變?yōu)榱?,那么這張卡就停止支付,直到它被重新加載為止。

圖3:電子貨幣系統(tǒng),用戶的卡和錢包。
圖3顯示了Mondex系統(tǒng)的用戶端。有一個智能卡,一個錢包單元,他們都可以加載現(xiàn)金。如果您想進行用戶之間的交易,那么提供者的用戶將首先把卡片放入錢包中,并將錢從卡上轉(zhuǎn)移到錢包上。然后接受者會將他們的卡片插進錢包中,你將錢移到第二張卡上。這是一種匿名交換數(shù)字現(xiàn)金的方法。
Mondex在一些社區(qū)試用了他們的技術(shù)。一個社區(qū)恰好是一個非常接近我長大的城市:圭爾夫,安大略。你可能已經(jīng)猜到它并沒有真正流行起來。Mondex卡的一個主要問題是它和現(xiàn)金極像——如果你失去他們或被盜,錢就丟失了。更糟糕的是,如果卡片有某種故障,讀卡器不讀取,則無法確定該卡是否有結(jié)余。在這些情況下,Mondex通常會cover成本,他們會假設(shè)卡被加載,并向用戶賠償了這筆錢。當(dāng)然,這可能會使公司損失很多錢。
此外,錢包笨重而反應(yīng)緩慢,用信用卡或現(xiàn)金支付要快得多。零售商也討厭有幾個付款終端,他們只想要一張信用卡。所有這些因素加在一起導(dǎo)致了Mondex的失敗。
然而,這些卡是智能卡,這意味著它們上面具有小型微控制器,并且該技術(shù)已被證明是成功的。在今天的許多國家,包括加拿大在內(nèi)的每一張信用卡和每一張借記卡現(xiàn)在都擁有智能卡技術(shù)。但它用于不同的目的。它不用于防雙花問題,因為它不是一種基于現(xiàn)金的技術(shù),因此不會出現(xiàn)這個問題。銀行而不是你的信用卡,隨時監(jiān)控著你的余額或可用信用。相反,芯片是用于認證的,也就是證明你知道和你的帳戶相關(guān)聯(lián)的PIN。但是,Mondex這一技術(shù)很久之后才被銀行業(yè)廣泛采用。
憑空鑄造的錢幣
在DigiCash系統(tǒng)中,如果您有一個價值100美元的數(shù)字現(xiàn)金,那么憑什么它值100美元?答案很簡單:為了獲得價值100美元的ecash,你必須從你的銀行帳戶中拿取100美元,并將其發(fā)送給正在發(fā)行你的電子現(xiàn)金的銀行。但是,關(guān)于如何做到這一點,人們提出了一系列不同的建議,而不同的公司采取的做法也不同。一個牽強的可能:如果一個國家的政府實際授權(quán)了創(chuàng)造數(shù)字現(xiàn)金的服務(wù),讓錢幣憑空出現(xiàn),那又怎么樣?那就是NetCash背后的想法,盡管它從未實踐過。一個不一樣的系統(tǒng)e-Gold將一堆黃金放在金庫中,并發(fā)行對應(yīng)價值的數(shù)字現(xiàn)金。另一家名為Digigold的公司并沒有完全由黃金支撐,而只是獲得了部分儲備。
所有這些想法最終都會將數(shù)字現(xiàn)金的價值與美元或商品掛鉤。如果美元的價值上漲或下跌,你的數(shù)字貨幣持有量的價值將隨之而變。一個完全不同的可能性是允許數(shù)字現(xiàn)金是自己的貨幣,獨立于任何其他貨幣發(fā)行和估價。
要創(chuàng)建一個可能獲得真正價值的自由浮動數(shù)字貨幣,你需要設(shè)計一些稀缺的東西。事實上,稀缺性也是黃金或鉆石被用作貨幣支持的原因。在數(shù)字領(lǐng)域,實現(xiàn)稀缺的一種方法是設(shè)計一套系統(tǒng),使得鑄幣需要一段時間的破解才能成功解決計算問題(或“拼圖”)。這就是比特幣“采礦”中發(fā)生的事情,我們將在第5章講述。
基本思想是——用計算解決一些具有一定價值、相當(dāng)古老的數(shù)字對象謎題。1992年,密碼學(xué)家Dwork和Naor首先提出了一個潛在的回復(fù)垃圾郵件的解決方案。你每次發(fā)送電子郵件,你的電腦必須解決一個需要幾秒鐘解決的難題,那該怎么辦呢?為了執(zhí)行這一要求,接受者的電子郵件程序會簡單地忽略沒有解決計算難題的電子郵件。對于一般用戶而言,發(fā)送電子郵件不是一個很大的障礙,因為你不經(jīng)常發(fā)送電子郵件。但是,如果你是垃圾郵件發(fā)送者,你正在嘗試一次性發(fā)送數(shù)千或數(shù)百萬封電子郵件,解決這些計算難題可能會變得令人望而卻步。一個類似的想法后來被亞歷山大(1997年)獨立發(fā)現(xiàn),提出了一個名叫哈希凱什(Hashcash)的東西。
這些計算謎題需要具有一些特定的屬性才能成為有用的垃圾郵件威懾工具。首先,垃圾郵件發(fā)送者不可能解決一個謎題,卻將解決方案附加到他發(fā)送的每封電子郵件中。為了確保這一點,電子郵件中的謎題應(yīng)該是特定的:它應(yīng)該取決于發(fā)件人和接收者、電子郵件的內(nèi)容以及發(fā)送的大致時間。其次,接收者應(yīng)該能夠輕松地檢查拼圖解決方案,而無需重復(fù)解決難題的過程。第三,每個謎題應(yīng)該完全獨立于其他謎題,在某種意義上,解決一個謎題并不會減少解決任何其他謎題所需的時間。最后,隨著時間的推移硬件在不斷改善,解決任何給定的計算難題會變得更快更便宜,接受者要能夠接受調(diào)整他們的謎題解決方案的難度。這些屬性可以通過使用加密哈希函數(shù)(Hash fuctions)設(shè)計謎題來實現(xiàn),我們將在第1章中研究。
比特幣使用與Hashcash基本相同的計算難題,但有一些小的改進。比特幣比Hashcash做的還要多,畢竟Bitcoin需要一本書來解釋!我只提到這一點,因為Hashcash發(fā)明家亞當(dāng)·本德(Adam Back)說:“比特幣是控制通貨膨脹的哈什凱什?!蔽艺J為這有一些夸張。這就像說:“特斯拉只是電池裝在輪子上一樣?!?/p>
就像密碼學(xué)中的其他好主意一樣,許多計算謎題旨在實現(xiàn)略微不同的屬性。一個來自Rivest和Shamir的提案,RSA密碼系統(tǒng)的R和S就來自于他們。請注意,在Hashcash的設(shè)計中,你解決一些難題的成本僅僅是個人成本的總和。這與政府造幣的成本結(jié)構(gòu)不同。如果你考慮到紙幣的防偽技術(shù),獲取所有設(shè)備,創(chuàng)建安全特性等方面都有巨大初始成本。但是一旦他們完成了所有這些工作,他們的成本就會下降,印制一張紙幣或一百張紙幣并沒有什么太大的區(qū)別。換句話說,鑄造紙幣具有巨大的固定成本,但邊際成本較低。Rivest和Shamir想要設(shè)計出可以模擬這些屬性的計算謎題,以便鑄造第一枚硬幣在計算上具有很大的挑戰(zhàn)性,但鑄造后續(xù)硬幣便宜得多。他們的提案也使用的哈希功能,但是以不同的方式。我們不會了解他們解決方案的細節(jié),但他們試圖解決的問題在很大層次上是非常有趣的。
為什么Hashcash沒有達到防止垃圾郵件的預(yù)期目的呢?也許垃圾郵件只是一個不夠大的待解決問題。對于大多數(shù)人來說,垃圾郵件只是一個滋擾,而不值得他們花費他們的計算周期來打擊。我們今天的垃圾郵件過濾器可以很好地將垃圾郵件從我們的收件箱中刪除。也有可能Hashcash實際上不會阻止垃圾郵件發(fā)送者。特別是,大多數(shù)垃圾郵件發(fā)送者今天使用“僵尸網(wǎng)絡(luò)”發(fā)送他們的垃圾郵件,他們使用惡意軟件控制大量其他人的電腦。他們也可以用這些電腦來收獲Hashcash。也就是說,使用計算謎題來限制對資源的訪問仍然只是一個想法。你可以在一些替代網(wǎng)絡(luò)協(xié)議的建議中看到它,例如MinimaLT。
記錄分類帳中的所有內(nèi)容
Bitcoin的另一個重要組成部分是區(qū)塊鏈:所有比特幣交易都被安全地記錄下來的分類帳。區(qū)塊鏈背后的想法相當(dāng)古老,可以追溯到Haber和Stornetta在1991年的一篇論文中。他們提議的是一種安全時間戳的數(shù)字文檔,而不是數(shù)字貨幣計劃。時間戳的目的是給出一個文件大致產(chǎn)生時間的概念。更重要的是,時間戳準(zhǔn)確地傳達了這些文檔的創(chuàng)建順序:如果在另一個文件之前存在,則將在時間戳上反映出來。安全屬性要求文檔在事后的時間戳不能更改。
在Haber和Stornetta的方案中,有一個將客戶文檔發(fā)送到時間戳的服務(wù)。當(dāng)服務(wù)器接收到文檔時,它會將文檔與當(dāng)前時間以及鏈接,還有指向上一個文檔的指針一起簽署,并發(fā)出帶有該信息的“證書”。這里所說的指針是一種特殊類型的指針,它指向的是一個數(shù)據(jù)而不是一個位置。這意味著,如果這里所說的數(shù)據(jù)發(fā)生更改,指針就會自動失效。在第1章中,我們將研究如何使用散列函數(shù)(Hash functions)創(chuàng)建這樣的指針。
這樣做是用每個文檔的證書確保前一個文檔內(nèi)容的完整性。實際上,你可以遞歸地應(yīng)用此參數(shù):每個證書基本上修復(fù)了文檔和證書的全部歷史記錄直到這一點為止。如果我們假設(shè)系統(tǒng)中的每個客戶端至少記錄幾個證書——他們自己的文檔證書以及上一個和后續(xù)文檔的證書,那么所有參與者可以一起確保在事實之后不能更改歷史記錄。特別的是,文件的相對排序得到保留。
圖4:鏈接時間戳。要為文檔創(chuàng)建證書,時間戳服務(wù)器包括一個指向上一個文檔證書的哈希指針,當(dāng)前時間,并將這三個數(shù)據(jù)元素簽名在一起。
后來的一篇文章對效率提出了一個改進:我們可以將它們收集到區(qū)塊中并將鏈接塊鏈接在一起,而不是單獨鏈接文檔。在每個塊中,文檔將再次以樹形結(jié)構(gòu)鏈接在一起,而不是線性結(jié)合。這減少了驗證特定文檔出現(xiàn)在系統(tǒng)歷史記錄中某個特定點所需的檢查量。視覺上,這種混合方案如圖5所示。

圖5:有效鏈接時間戳。 箭頭表示散列指針,虛線表示時間間隔。
我們將在第3章中看到,這個數(shù)據(jù)結(jié)構(gòu)形成了比特幣區(qū)塊鏈的骨架。比特幣改進了一個微妙但重要的方式:使用Hashcash-esque協(xié)議來延遲新塊添加到鏈中的速度。此修改對Bitcoin的安全模型有著深遠而有利的影響。Bitcoin不再需要可信服務(wù)器;相反,事件由被稱為“礦工”的不可信節(jié)點集合記錄。每個礦工跟蹤塊,而不是依靠普通用戶來完成。任何人都可以通過解決計算謎題來創(chuàng)建塊成為礦工。比特幣也擺脫了簽名,只依靠散列指針(hash pointers)來確保數(shù)據(jù)結(jié)構(gòu)的完整性。最后,實時的時間戳在比特幣中也并不重要,系統(tǒng)的亮點是以防篡改的方式記錄事務(wù)的相對順序。事實上,比特幣塊并不是按固定的時間表創(chuàng)建的。該系統(tǒng)確保平均每10分鐘創(chuàng)建一個新的區(qū)塊,但連續(xù)塊之間的時間有相當(dāng)大的變化。
本質(zhì)上,比特幣結(jié)合了計算謎題的想法來規(guī)范新貨幣單元的創(chuàng)造,并以安全的時間戳來記錄分類賬上的交易,同時防止雙花問題。早些時候,較不復(fù)雜的提案結(jié)合了這兩個想法。第一個叫做b-money,由魏代于1998年所創(chuàng)造。在b-money中,任何人都可以使用hashcash的系統(tǒng)來創(chuàng)造貨幣。同時有一個像比特幣一樣的對等網(wǎng)絡(luò)(p2p網(wǎng)絡(luò))。每個節(jié)點都維護一個分類帳,但它并不是比特幣區(qū)塊鏈中的全局分類帳。每個節(jié)點都有自己的分類帳,它考慮的是每個人的平衡。
另一個叫做Bitgold的類似提案是由Nick Szabo創(chuàng)造的。Szabo說他早在1998年就有了Bitgold的想法,但直到2005年才開始共享出來。我之所以提到這一點,是因為有一個小陰謀論被紐約時報記者Nathaniel
Popper所宣傳,他寫了一本非常好的關(guān)于比特幣歷史的書。波佩爾指出,在Satoshi發(fā)布了Bitcoin白皮書之后,網(wǎng)志的時間戳已經(jīng)改變,因此Bitgold的提案看起來像是在比特幣發(fā)布后大約兩個月寫的。波普爾和許多其他觀察家認為的那樣,Szabo可能就是Satoshi,他引用時間戳變化作為Szabo / Satoshi試圖掩蓋他在知道Bitcoin之前已經(jīng)發(fā)明了Bitgold事實的證據(jù)。
這個解釋的問題是,如果你真的讀了博客的內(nèi)容,Szabo在1998年是非常明確的有了這個想法,他不想去改變這些日期。因此,一個更合理的解釋是,在比特幣推廣了類似的想法后,他只是把這個帖子頂?shù)搅瞬┛偷捻敹?,以確保人們知道他先前的提案。
比特幣與b-money和Bitgold有幾個重要的區(qū)別。在這些提案中,計算謎題直接用于發(fā)行貨幣。任何人都可以解決一個謎題,解決方案是一個單位的錢本身。在比特幣中,謎題解決方案本身并不構(gòu)成錢。它們被用來固定區(qū)塊鏈,且只能在有限的時間間接導(dǎo)致鑄幣。其次,b-money和Bitgold依靠在創(chuàng)建或轉(zhuǎn)移資金時簽署的時間戳服務(wù)。我們已經(jīng)看到,比特幣不需要可信的時間戳,只是嘗試保留區(qū)塊和交易的相對順序。
最后,在b-money和Bitgold中,如果服務(wù)器或節(jié)點之間對分類帳有不同意見,則沒有明確的解決方法。在兩個作者的著作中,讓多數(shù)人作出決定似乎是含蓄的。但是,由于任何人都可以設(shè)置一個或多個隱藏在不同身份的節(jié)點——這些機制不是很安全,除非有一個集中的看門人控制著網(wǎng)絡(luò)的入口。相反,在比特幣中,攻擊者要改變歷史,他們必須以比其他參與者更快的速度解決計算謎題。這不僅更加安全,而且還量化了系統(tǒng)的安全性。
b-money和Bitgold是非正式的提案——b-money是郵寄名單上的一個帖子,Bitgold是一系列博客文章。既沒有起飛,甚至沒有實施開來。不像比特幣白皮書,他們沒有一個完整的規(guī)范或任何代碼。這些提案掩蓋了可能或不可能解決的問題。第一,正如我們已經(jīng)提到的,如何解決分類帳的分歧。另一個問題是確定計算難題對于打造貨幣單位是多么困難。由于硬件在一定的計算能力下會隨著時間的推移而變得更加便宜,因此Bitcoin采用了一種周期性地自動調(diào)整謎題難度的機制。b-money和Bitgold不包括這樣的一種機制,這可能會導(dǎo)致問題,因為硬幣可能會變得非常容易地創(chuàng)建而失去價值。
中本聰?shù)陌凳?/b>
你可能會知道Satoshi Nakamoto是比特幣創(chuàng)始人采用的假名。雖然他的身份仍然是一個謎,他卻在比特幣的早期廣泛傳播。讓我們用這個來挖掘一些問題,比如當(dāng)他開始創(chuàng)造比特幣時,他在多大程度上受到先前我們所看到的想法的影響,以及是什么激勵了他。
Satoshi說,他在2007年5月左右開始編碼比特幣。我選擇相信他,他是匿名的事實并不是他會說謊的理由。他于2008年8月注冊了http://bitcoin.org域名。當(dāng)時他開始發(fā)送私人電子郵件給一些他認為可能對該提案感興趣的人。然后在2008年10月稍后,他公開發(fā)表了一份描述協(xié)議的白皮書,不久之后,他發(fā)布了比特幣的初始代碼。然后他在那里逗留了大約兩年,其間在論壇上張貼了大量的信息,給很多人發(fā)送了電子郵件,并回應(yīng)了人們的關(guān)注。在編程方面,他提交了一些補丁。他與其他開發(fā)人員一起維護源代碼,并在出現(xiàn)問題時進行修復(fù)。2010年12月,其他人已經(jīng)緩慢接管了項目的維護,然后他停止了與他們溝通。
我一直把Satoshi Nakamoto稱為“他”,但是我沒有理由相信Satoshi是個男人,而不是女人。我只是因為Satoshi是一個男性的名字而使用男性代詞。我也認為他是一個單身漢。有一種理論認為,Satoshi Nakamoto可能是一個個體的集合。我不買這個理論的帳——我覺得Satoshi可能只是一個人。原因是,如果我們考察Satoshi假名進行的所有在線互動,以及Satoshi回復(fù)電子郵件和修補代碼的兩年時間,很難想象這可能是多人共享用戶帳戶和密碼,以類似的風(fēng)格和聲音作出回應(yīng),并確保彼此沒有矛盾。這似乎是一個更簡單的解釋,至少這部分Satoshi的活動是由一個人完成的。
此外,從他的著作和補丁中可以清楚地看出,這個個體理解了比特幣及其所有設(shè)計方面的全部基礎(chǔ)代碼。所以假設(shè)同一個人寫了原始代碼庫和白皮書是非常合理的。最后,Satoshi可能對原始設(shè)計有幫助。但是,在比特幣發(fā)布之后,我們可以看到Satoshi很快把他收到的其他人的任何幫助歸功于我們大家。如果他得到了別人的幫助,卻誤導(dǎo)我們是自己發(fā)明的東西,那就太不好了。
接下來,我們可能會問自己:“Satoshi對于ecash的歷史知道些什么?” 為了更好地理解這一點,我們可以先看看他在白皮書中引用的內(nèi)容,以及早期版本的Bitcoin網(wǎng)站上的參考資料。在白皮書中,他引用了一些關(guān)于基本密碼學(xué)和概率論的論文。他還引用了我們早些時間看到的時間戳工作,因此認為他基于這些參考文獻進行區(qū)塊鏈設(shè)計是很自然的,因為他們是如此的相似。他還引用了Hashcash提案,其計算謎題與Bitcoin中使用的方案非常相似。他也提到了b-money。 后來,他在網(wǎng)站上還添加了對Bitgold的引用,以及Hal Finney的一個計劃來重用計算謎題的解決方案。
但是,如果看一看早期與Satoshi Nakamoto對應(yīng)的人發(fā)布的電子郵件,我們發(fā)現(xiàn)B-money的提案實際上是按照Adam Back的建議添加的。Satoshi然后通過電子郵件與創(chuàng)建b-money的魏代聯(lián)系,顯然魏代是那個告訴他Bitgold的人。所以這些提案并不是來自原始設(shè)計的靈感。他后來和Hal Finney通信了很多,這對于他為什么引用Finney的作品至少在網(wǎng)站上是一個合理的解釋。
基于此,在創(chuàng)建比特幣時以下似乎是可信的:ecash歷史上的Hashcash和時間戳是Satoshi知道或認為唯一與比特幣相關(guān)的事。然而,在他了解b-money和Bitgold之后,他似乎更贊賞他們之間的相關(guān)性。2010年年中,維基百科上Bitcoin的文章被標(biāo)記為維基百科編輯已刪除,因為他們認為這不值得一提。Satoshi和其他人之間有一些關(guān)于如何寫B(tài)itcion的討論,以便維基百科接受它。為此,Satoshi提出了比特幣的這種描述:“比特幣是對1998年以魏代為主的Cypherpunk進行的b-money提案和Nick Szabo的Bitgold提案的實施。所以,Satoshi在這點上確實把Bitcoin定位為這兩個想法的延伸,或者作為對兩個現(xiàn)有系統(tǒng)有效解釋的一個很好的實施。
但是,其他的所有的呢——比如我們看過的Chaumian的ecash計劃和信用卡提案呢?在設(shè)計比特幣時,Satoshi是否知道任何關(guān)于這些的歷史呢?很難說,他沒有任何跡象表明知道這個歷史,但同樣可能因為他們與比特幣無關(guān)而沒有提到這一點。比特幣使用了完全不同的分散模型,所以沒有理由去關(guān)注那些失敗的舊集中式系統(tǒng)。
Satoshi自己就這樣做了,他在比特幣論壇上的一個帖子提到了Chaumian的ecash。在寫另一個名為http://opencoin.org的提案中,他指出,他們似乎是在談?wù)撆f的Chaumian中央造幣廠的東西,但也許只是因為這是唯一可用的。也許他們會對新的方向感興趣。許多人自動將電子貨幣視為失敗的,因為自1990年代以來所有的公司都失敗了。我想這很明顯,這些中心化系統(tǒng)的中央控制性注定了他們的結(jié)局。我認為這是我們第一次嘗試分散的、不信任的系統(tǒng)。這給了我們一個很好的了解Satoshi對早期提案的看法,特別是他是如何認為比特幣是不一同的。比特幣的分散化確實是一個定義的特征,這使它與我們所看到的幾乎所有的東西不同。
Satoshi的另一個有趣的引語表明,他可能不是一個學(xué)術(shù)界人士。大多數(shù)學(xué)術(shù)研究者在構(gòu)建系統(tǒng)之前,會在思考想法時立即寫下來。Satoshi說他采取了相反的做法:“我其實使比特幣倒退了。在說服我自己可以解決所有問題之前,我必須寫下所有代碼,最后我才去寫這篇論文。我想我將能夠盡快發(fā)布代碼,而不是寫一個詳細的規(guī)范?!?/p>
由于Satoshi有一些神話,值得一提的是,他像其他人一樣犯了錯誤,在未來這不是一個完美的神話。在原始的比特幣代碼以及其設(shè)計中,存在著錯誤和可疑的設(shè)計選擇。例如,有一個功能可以將bitcoins發(fā)送到從未被抓取到的IP地址,回想起來,這真是一個壞主意。當(dāng)他描述比特幣對什么有用的時候,他的腳本集中在互聯(lián)網(wǎng)上使用它的想法。這個場景當(dāng)然是Bitcoin的核心,但它并不是唯一的。例如,他并沒有指出進入咖啡店的愿景,并且可以用比特幣支付咖啡。
最后一個問題我們會問自己,我們從數(shù)字貨幣的歷史中了解到的是有色的?!盀槭裁碨atoshi保持匿名?”,這有很多可能的原因。首先,這可能只是為了樂趣。許多人匿名寫小說,像Banksy這樣的涂鴉藝術(shù)家也保持匿名。事實上,在當(dāng)時Satoshi參與的社區(qū)、Cypherpunk社區(qū)以及加密郵件列表中,人們常常以匿名方式發(fā)布。
另一方面,Satoshi的選擇可能會有法律上擔(dān)憂的考慮。兩家美國公司“Liberty
Reserve”和“e-Gold”都面臨洗錢的法律問題。2006年,自由儲備金的創(chuàng)始人之一逃離了美國,擔(dān)心他會因洗錢罪被起訴。另一方面,e-Gold的創(chuàng)始人則留在了美國,其中一人實際上被起訴,并最終對指控承擔(dān)了罪責(zé)。這些有罪的入獄恰恰在Satoshi設(shè)立比特幣網(wǎng)站,并開始向他人通過電子郵件發(fā)送他提案之前。也就是說,許多人發(fā)明了ecash系統(tǒng),沒有人不害怕法律或選擇保持匿名的。所以這可能是原因,也可能不是。
這也是值得回憶的,ecash的某些方面獲得了專利,Cypherpunk運動的成員關(guān)心由于這些專利而實施ecash系統(tǒng)。事實上,cypherpunks郵件列表中的一個帖子提出,一組匿名編碼器實施ecash,以防如果有人要起訴,他們將無法找到編者。很難想象比特幣會因為設(shè)計有所不同而違反了ecash專利,但是Satoshi則更加謹慎。或者靈感只是來自cypherpunk社區(qū)的匿名編碼器的想法。
最后一個原因可能是人身安全。我們知道,Satoshi早期的礦業(yè)有很多比特幣,由于Bitcoin的成功,這些現(xiàn)在值很多錢。我認為這是一個合理的理由。畢竟,選擇匿名不是一次就能做出的決定,而是你一直在做的事情。也就是說,這可能不是Satoshi最原始原因。Satoshi第一次使用Satoshi Nakamoto,他甚至沒有發(fā)布白皮書或比特幣的代碼庫,很難想象他有什么想法會像現(xiàn)在一樣成功。事實上,在早期的許多時刻,Satoshi對Bitcoin的前景樂觀而謹慎。他似乎已經(jīng)明白許多以前的努力失敗了,比特幣也可能會失敗。
結(jié)語
如果你認為所有失敗的企業(yè)都試圖做到這一點,比特幣的成功是非常了不起的。比特幣有幾個顯著的創(chuàng)新,包括區(qū)塊鏈和支持用戶之間的交易的分散式模型。它為用戶提供了實用但不完美的匿名級別。在第六章中,我們將詳細介紹比特幣的匿名性。在某種意義上,它比DigiCash中強大的匿名性弱,但在另一個意義上說它更強。那是因為在DigiCash中,只有這些錢的發(fā)送者才能保持匿名,而不是商人。比特幣給予發(fā)送者和商家(不管是用戶還是商戶)具有相同的匿名級別。
讓我最后總結(jié)一些我們可以從比特幣中學(xué)習(xí)的經(jīng)驗教訓(xùn)。第一個是面對困難不要放棄。僅僅因為人們在開發(fā)數(shù)字貨幣方面失敗了20年,并不意味著沒有一個系統(tǒng)能起作用。二是愿意妥協(xié)。如果你想要完美的匿名或完美的分權(quán),你可能需要惡化你設(shè)計的其他領(lǐng)域?;剡^頭來看,比特幣似乎做出了正確的妥協(xié)。它縮小了匿名性,并要求參與者在線并連接到對等網(wǎng)絡(luò)(p2p網(wǎng)絡(luò)),但這被用戶認為是可以接受的。
最后一個教訓(xùn)是通過數(shù)字獲得成功。比特幣能夠建立一個充滿激情的用戶社區(qū),以及匯聚愿意為開源技術(shù)做出貢獻的開發(fā)人員。這是一種明顯不同于以往的數(shù)字現(xiàn)金嘗試,那些通常是由一家公司開發(fā),唯一的技術(shù)倡導(dǎo)者是公司本身的雇員。比特幣當(dāng)前的成功在很大程度上要歸因于充滿活力的支持社區(qū),他們推動了這項技術(shù),讓人們使用它,并讓商人采用它。