在學習密碼學貨幣的過程中,最要緊的事就是理解 設計它們的目的 [1]。
密碼朋克
自八十年代末以來,一個不斷擴大的自由主義科學家、工程師、計算機科學家、哲學家團體,便一直在討論,如何在一個日益被計算機和互聯網掌控的世界中,用密碼學來提高隱私性,他們被稱為 “密碼朋克(Cypherpunk)” [2]。
密碼朋克團體從九十年代早期開始形成,一開始只是一個電子郵件列表 [3];在這個電子郵件組中,他們提議和爭論哪些系統能夠實現他們的目標,這個目標自始至終只有一個:使用密碼學在賽博空間中創造出一種安全的環境,使其中的人能免受政府和企業的監視。
隨著討論和提議的推進,三大主題浮現出來:隱私保護(最初的目標) [4];在這個受保護的賽博空間里需要一種形式的貨幣 [5];還需要智能合約 [6],讓匿名的陌生人無需信任第三方就能在彼此之間執行交易,
密碼朋克全部努力的愿望基礎,都可以歸結為這樣一種根本的概念:信任最小化、避免需要信任的第三方 [7] [8]。
密碼學貨幣的先驅
在追尋可用于純粹互聯網環境的貨幣的道路上,有幾項成果不得不提,
DigiCash
DigiCash [9] 是電子貨幣方面的最早嘗試。它誕生于 1989 年,是圍繞交易隱私來設計的。
DigiCash 的創始人是 Dabid Chaum [10],是密碼朋克運動的先驅之一,他的理念是在公網中使用密碼學來保護用戶日常交流的隱私,
當時 DigiCash 還被推舉加入銀行,但隨著 1998 年該項目的結束,這種努力也終止了,
DigiCash 的主要缺陷在于會受到金融機構的控制,因為它依賴于對合規的政府貨幣的錨定來保持數字貨幣單位的價值;而且,DigiCash 通過一種叫做 blind signature [11] 的技術來保護隱私,但它需要運行在一個中心化控制的服務器上,因此管理這個服務器就變成了一個需要信任的第三方,
HashCash
HashCash [12] 則是密碼朋克 Adam Back [13] 在 1997 年創造出來的,本意是為了防止濫發郵件,它實際上不是一種貨幣,也沒想要創建一種互聯網世界中的貨幣。
不過,其底層的技術就是強制計算機在執行一個行動前必須做大量的工作,形式是循環計算(computational cycles)。這種叫做 “工作量證明” [14] 的技術后來成了我們今日所知的密碼學貨幣的核心。
BitGold
Bit Gold [15] 是 Nick Szabo [16](也是一位密碼朋克)發明的;他在 1998 年發明了這個概念,又在 2005 年詳細說明了其內涵。Bit Gold 是獨立密碼學貨幣的第一個模型,它將兩種理念結合了起來:使用點對點網路來維護一個分布式的賬本 [17];基于計算難題的工作量證明,
Nick Szabo 提供了這個系統運作的細節,還專門模仿了黃金,以黃金在現實世界中的生產、稀缺性和價值來指引這種貨幣的運作。這也就是它的名字的由來。
Bit Gold 包含了工作量證明機制,讓參與者能夠(用成本的方式)證明自己創造出來、純粹用作數字形式的貨幣的東西,是有價值的,而且,它也需要工作量證明來形成一種分布式的時間戳,并使用節點網路來維護一套賬戶和 Bit Gold 余額的賬本;兩者的結合形成了一套產權系統 [18],讓用戶能持有、跟蹤和轉移他們的貨幣。
Bit Gold 的另一個創舉是使用前一個工作量證明的結果作為謎題,參與下一波 Bit Gold 的生產,這種設計使得系統的運作最終會形成一串已解決的謎題的鏈條,非常相似于今天我們在密碼學貨幣行業里說的 “區塊鏈”,
這個鏈條也是參與者檢驗他們買到、收到的貨幣是不是*****的最簡單的方法,
Bit Gold 的另一個重要特征是,它不僅使用工作量證明作為價值的基礎元素,還使用一個 “Bit Gold market” 來形成此類不均一的證明(irregular proofs)的價格,所以,價值不等的證明可以搭配組合成通用的單位(generic bundles),讓這種數字商品更加標準化和可互換。
就像現實世界中的金錠,基于這些搭配而成的通用單位,一個 token 的系統建立了起來,這種資產也變得可分割、可轉讓,也更適合在數字經濟體中使用。
點對點網路的共識機制防止了串謀攻擊和雙重花費(double spend),只要系統中腐化的節點不超過 33%,就能保證安全性,這在計算機科學里面叫做 “拜占庭容錯” [19]。
拜占庭容錯問題是說,如果 33% 的節點運營者都同意攻擊網路,比如一起重組交易的歷史,他們就可以這樣做,因為在一個完全分布式、去中心化的系統中,沒有辦法能阻止和控制這樣的活動。(譯者注:這里解釋得太粗糙了。)
雖然 Bit Gold 在當時是一個非常先進的提議,但它也有弱點。如果沒有一個負責管理的第三方,Bit Gold market 就非常難實現;另外,點對點網路無法應對 33% 的串謀攻擊,
B-Money
緊隨 Bit Gold, 另一位賽博朋克 Wei Dai [21] 在 1998 年稍晚時候提出了 B-money [20] 。這一方案不僅有密碼學貨幣,還加入了一些基本形式的智能合約。
B-Money 也使用節點網路來維護分布式的賬本,賬本記錄了賬戶和余額;參與者們也在自己的電腦上執行工作來證明他們投入了大量的計算資源來創建這種貨幣。
這種貨幣的價值會根據計算資源市場的市價來確定,而節點網路會通過給創建者的賬戶增加余額來獎勵他們,
B-Money 的第二部分是加入了托管代理人,讓網路參與者想締結智能合約的時候,交易能得到保障,
B-Money 在當時可能并沒有啟動,因為缺乏方案不同部分的實現細節,也因為,維護分布式賬本的節點網路無法容忍超過 33% 的拜占庭錯誤,
RPOW
RPOW [22] 是 “可重用的工作量(Reusable Proofs of Work)” 的縮寫,誕生于 2004 年,由 Hal Finney [23] 提出(又是一位密碼朋克!),RPOW 使用了一個不同的方法來嘗試解決歷史性的拜占庭容錯問題:參與者各自創建工作量證明(就跟 Bit Gold 一樣),但他們會通過一個消息系統來直接向另一個用戶轉移這些證明,而不會使用一個點對點的節點網路來維護一個賬本。
這個系統的核心是一個驗證服務器,因為參與者會向其他人轉移 PROW,新的交易就需要新的工作量證明,而中心服務器只需要驗證這些證明是真實的。
雖然這個系統使得用戶之間直接轉移價值成為了可能,并用這種形式解決了拜占庭容錯問題,但它的弱點就在那個中心化的驗證服務器上,即使可以用一組相互獨立的驗證器來管理,仍然有中心化的風險,因為用戶必須信任這些驗證器,
劃時代的比特幣
如你所見,所有這些先驅,都有這樣那樣的弱點。要么是依賴于中心化的服務器、要求信任某個第三方,要么是其賬本的共識機制無法抵抗參與者節點的小團體串謀。
待到比特幣 [24] 在 2009 年橫空出世之時,中本聰 [25] 為之引入了一個充滿智慧的創新,使之成為了革命性的技術。它集大成地匯集了過去所有的解決方案,并使它們相互加強,在解決上述問題上獲得了極大的改善和顯著的提升。今天,我們管這些創新叫 “中本聰共識” [26] 。
在中本聰共識中,點對點網路中的所有節點都將新的事務(transaction)轉發給所有其他節點;然后,所有節點都以這些事務,加上前一個區塊的資訊以及一個時間戳,作為下一個工作量證明的謎題;謎題的解有最低的難度門檻;任何一個節點只要找到了符合這個門檻的結果,他就把結果廣播給所有其他節點;節點收到工作量證明之后,基于系統的算法和他們已經掌握的工作量證明鏈條,各自驗證所收到的工作量證明的有效性;通過驗證之后,所有的節點就為那個最先解決難題的家伙的賬戶增加余額;增加的數額,也是根據比特幣的貨幣政策預先約定好的 [27] 。
如此以來,比特幣就保證了 token 的價值,不僅因為貨幣政策創造了稀缺性,也因為,為了創造新幣,就必須付出大量的計算工作量,
工作量也是解決上述點對點網路 33% 拜占庭難題的關鍵。比特幣算法要求的最低難度門檻,暗示著所有節點必須(平均)花費 10 分鐘來解決一個難題,當某個節點發現并發出結果之時,由它所花費的時間(長于或短于 10 分鐘),就向網路中的其他人保證了所有其他參與者也都在共同解決這個難題 [28] ,(譯者注:如果某些人不再參與解決這條鏈的難題,而去解決另一條鏈的難題,那這條鏈的難題就沒法在 10 分鐘內解決了。工作量證明就是認同的證明。)
不過,如果某人獲得了網路中超過 50% 的計算力量,他們在制造區塊這一點上仍然可以超過其他節點,從而仍然有偽造賬本的可能。這就是通常說的 “51% 攻擊”。
因此,中本聰共識的提升是,它將共識的安全性門檻從 33% 提高到了 50%,現在,無論哪個串謀的節點團體,要想偽造賬本,都必須擁有整個系統的超過 50% 的算力。
如此一來,比特幣就成了第一個成功的 [29]、得到廣泛使用的純數字貨幣,就像數字世界的黃金。不過,下一步,智能合約,就是它無法達到的了,因為它的內部設計也有局限性 [30]。
以太坊上的智能合約
如果說比特幣是一個袖珍小算盤,以太坊就是一臺計算機,
以太坊 [31] 由 Vitalik Buterin [32] 在 2015 年 提出,使用了與比特幣同樣的基礎,也就是中本聰共識,再加上分布式的賬本,還有一種作為貨幣單位的 token;但是,以太坊加入了一個虛擬機 [33] 和一種編程語言,來打開這種貨幣的可編程性,(譯者注:這里說以太坊使用了中本聰共識是不準確的,以太坊的共識算法是 GHOST 規則,)
換句話來說,以太坊支持智能合約。
以太坊的工作原理是,它使用工作量證明來生產包含了事務的區塊,而網路中的所有節點都來驗證區塊和事務,但賬本不僅記錄賬戶合約,還存儲一經上鏈就開始去中心化運行的程式。
這些程式,就像任何軟體一樣,可以建立規則和執行事務的條件,讓價值能在全球化的網路中轉移,
舉例而言,以太坊上的簡單程式可以有:
- 如果賬戶 X 有余額 Y
- 且當今天為 2020 年 12 月 31 日
- 那就轉移 5 個幣給賬戶 Z
- 如果條件不滿足,那就不做任何事
集成去中心化運行的程式的能力,為去中心化應用(“dApp”)[34] 提供了可能,這些應用可以運行在這樣的系統上,并具備與區塊鏈同樣的安全功能,
權益證明
因為密碼學貨幣是開源的公共系統,這些系統也可以被拷貝、加以變更,實現成完全別樣的系統,許多企業和計算機科學家一直想做的,就是讓密碼學貨幣不再以工作量證明為核心價值和安全系統,而遷移到另一種基礎上。
對工作量證明的批評之一是,它耗費了太多的能量 [35],對環境不友好,但是,比特幣挖礦已經在全球范圍內形成了巨大的規模 [36],而且,大約 77% 的挖礦活動都是用可再生的能源 [37],實際上,隨著可再生的能源變得更加便宜,比特幣挖礦活動會加速遷移到使用可再生能源 [38],
此外,許多新近啟動的網路,從比特幣和以太坊的模型出發,加入了許多功能和修改,比如以權益證明(PoS) [39] 作為共識機制。其他他們嘗試添加的功能包括投票決策系統(譯者注:指鏈上治理,用投票來決定協議往哪個方向改進)、可作為投資財源的 “國庫”(譯者注:指在協議的運行中向參與者收取資金,交由中心化的機構來分配),還有賬本的分割化(人們管它叫 “分片”)來提升性能。
這樣的例子有:Polkadot、Cardona、EOS、TRON 還有 Tezos,所有這些系統都能在 CoinMarketCaps.com [40] 上找到。
哪怕以太坊也正在遷移到權益證明機制 [41]。
權益證明取消了計算工作的需要,因此也取消了能源支出,代之以節點運營者的安全保證金,這些以系統的內置貨幣形式表現的安全押金,就叫 “stake”,
所有存入了押金的節點都具有收集事務并在賬本上發布的權利。發布區塊后,這些驗證者們就加入了一個彩票系統,用抽獎來決定誰能獲取當前區塊的獎勵。這樣做也使得其貨幣模型非常相似于 PoW 系統,
雖然我認為權益證明系統沒有那么安全 [42] [43],但這里面也存在 “可擴展性” 的權衡,工作量證明系統更安全,但(以交易吞吐量計)可擴展性差一些,權益證明則反之。
這種明顯的互補性,也正是一種可能性:最終這些技術會集成到一個更大、更可擴展和更安全的系統中 [44]。
什么不是密碼學貨幣?
第二件重要的事是理解 什么不是密碼學貨幣,
工作量證明和權益證明系統都被歸類為密碼學貨幣,因為它們的終極目標都是最小化對第三方的信任需要,無論它們采取了什么樣的路徑,
需要信任的第三方就是安全漏洞,因為他們掌控著人們的貨幣、財富、個人數據,在中心化的服務器里管理著一切,他們既有可能被入侵,也可能直接參與欺詐 [45]。換句話來說,他們無法保證產權賬本、余額、交易和智能合約的不可篡改性 [46],
因為上述理由,根據定義,那些由中央銀行來創造和管理的貨幣(比如 CBDC [47]),就不是密碼學貨幣,哪怕他們模范了所有的外觀。
同理,那些私有的貨幣方案也不是密碼學貨幣。比如 Facebook 的 “Diem”(之前大家所知的 “Libra” [48])以及穩定幣 [49](比如 Tether、USD Coin,還有 DAI),因為它們將金融機構、中央銀行、政府支持的法幣等風險引入了系統,與密碼朋克的初始愿景背道而馳。
參考文獻
[1] The Crypto Anarchist Manifesto – by Tim C. May: https://www.activism.net/cypherpunk/crypto-anarchy.html (中文譯本)
[2] Cypherpunk – by Wikipedia: https://en.wikipedia.org/wiki/Cypherpunk
[3] Crypto Rebels – by Steven Levi – Wired Magazine: https://archive.is/5FPsA
[4] A Cypherpunk’s Manifesto – by Eric Hughes: https://archive.is/Cr7LH
[5] Shelling Out: The Origins of Money – by Nick Szabo: https://nakamotoinstitute.org/shelling-out/ (中文譯本)
[6] Smart Contracts – by Nick Szabo: https://archive.is/zQ1p8
[7] Trusted Third Parties are Security Holes – by Nick Szabo: https://nakamotoinstitute.org/trusted-third-parties/ (中文譯本)
[8] Satoshi Nakamoto Mentioned Trust Minimization 14 Times in the Bitcoin White Paper – by Donald McIntyre: https://etherplan.com/2020/02/29/satoshi-nakamoto-mentioned-trust-minimization-14-times-in-the-bitcoin-white-paper/10210/
[9] DigiCash – by Wikipedia: https://en.wikipedia.org/wiki/DigiCash
[10] David Chaum – by Wikipedia: https://en.wikipedia.org/wiki/David_Chaum
[11] Blind signature – by Wikipedia: https://en.wikipedia.org/wiki/Blind_signature
[12] HashCash – by Wikipedia: https://en.wikipedia.org/wiki/Hashcash
[13] Adam Back – by Wikipedia: https://en.wikipedia.org/wiki/Adam_Back
[14] Proof of work – by Bitcoin.it: https://en.bitcoin.it/wiki/Proof_of_work
[15] Bit Gold – by Nick Szabo: http://unenumerated.blogspot.com/2005/12/bit-gold.html
[16] Nick Szabo – by Wikipedia: https://en.wikipedia.org/wiki/Nick_Szabo
[17] Distributed ledger – by Wikipedia: https://en.wikipedia.org/wiki/Distributed_ledger
[18] Secure Property Titles with Owner Authority – by Nick Szabo: https://nakamotoinstitute.org/secure-property-titles/
[19] Byzantine fault – by Wikipedia: https://en.wikipedia.org/wiki/Byzantine_fault
[20] B-money – by Wei Dai: http://www.weidai.com/bmoney.txt
[21] Wei Dai – by Wikipedia: https://en.wikipedia.org/wiki/Wei_Dai
[22] RPOW – Reusable Proofs of Work – by Hal Finney: http://web.archive.org/web/20040815031415/http://rpow.net/
[23] Hal Finney – by Wikipedia: https://en.wikipedia.org/wiki/Hal_Finney_computer_scientist)(
[24] Bitcoin – by Satoshi Nakamoto: https://bitcoin.org/bitcoin.pdf
[25] Satoshi Nakamoto – by Wikipedia: https://en.wikipedia.org/wiki/Satoshi_Nakamoto
[26] Why Proof of Work Based Nakamoto Consensus is Secure and Complete – by Donald McIntyre: https://etherplan.com/2020/03/21/why-proof-of-work-based-nakamoto-consensus-is-secure-and-complete/10509/
[27] Bitcoin controlled supply – by Bitcoin.it: https://en.bitcoin.it/wiki/Controlled_supply
[28] Cryptography Mailing List – Bitcoin P2P e-cash paper – by Satoshi Nakamoto:
“The proof-of-work chain is a solution to the Byzantine Generals’ Problem. I’ll try to rephrase it in that context.”
Source full text: https://satoshi.nakamotoinstitute.org/emails/cryptography/11/
[29] Money, Blockchains, and Social Scalability – by Nick Szabo: http://unenumerated.blogspot.com/2017/02/money-blockchains-and-social-scalability.html (中文譯本)
[30] The dawn of trustworthy computing – by Nick Szabo: https://unenumerated.blogspot.com/2014/12/the-dawn-of-trustworthy-computing.html (中文譯本)
[31] Ethereum – by Wikipedia: https://en.wikipedia.org/wiki/Ethereum
[32] Vitalik Buterin – by Wikipedia: https://en.wikipedia.org/wiki/Vitalik_Buterin
[33] What is Ethereum in Layman’s Terms? – by Donald McIntyre: https://etherplan.com/2017/01/25/what-is-ethereum-in-laymans-terms/6105/
[34] Decentralized application – Dapp – by Wikipedia: https://en.wikipedia.org/wiki/Decentralized_application
[35] A proof of stake design philosophy – by Vitalik Buterin: https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51 (中文譯本)
[36] Bitcoin nodes map – by Bitnodes: https://bitnodes.io/
[37] The Bitcoin Mining Network – Trends, Composition, Marginal Creation Cost, Electricity Consumption & Sources – by Christopher Bendiksen, Samuel Gibbons, and Eugene Lim: http://etherplan.com/bitcoin-mining-network-november-2018.pdf
[38] Canadian Province Offers Low-Cost Energy Incentives To Bitcoin Miners – by Jessie Willms – Bitcoin Magazine, April 2019: https://bitcoinmagazine.com/articles/canadian-province-offers-low-cost-energy-incentives-bitcoin-miners
[39] Proof of stake – by Wikipedia: https://en.wikipedia.org/wiki/Proof_of_stake
[40] CoinMarketCaps: https://coinmarketcap.com/
[41] Ethereum Classic vs Ethereum 2.0, What is the Difference? – by Donald McIntyre: https://etherplan.com/2019/07/23/ethereum-classic-vs-ethereum-2-0-what-is-the-difference/8425/
[42] Proof of Work has Division of Power, Proof of Stake Does Not – by Donald McIntyre: https://etherplan.com/2019/05/18/proof-of-work-has-division-of-power-proof-of-stake-does-not/7619/
[43] Why Proof of Stake is Less Secure Than Proof of Work – by Donald McIntyre: https://etherplan.com/2019/10/07/why-proof-of-stake-is-less-secure-than-proof-of-work/9077/
[44] Model for an Ethereum and Ethereum Classic Collaboration – by Donald McIntyre: https://etherplan.com/2019/05/17/model-for-an-ethereum-and-ethereum-classic-collaboration/7594/
[45] 10 Blockchain Principles for Blockchain Governance – by Donald McIntyre: https://etherplan.com/2018/03/20/10-principles-for-blockchain-governance/6803/
[46] The Meaning of Blockchain Immutability – by Donald McIntyre: https://etherplan.com/2018/04/19/the-meaning-of-blockchain-immutability/6852/
[47] Central Bank Digital Currencies (CBDC) – by Investopedia: https://www.investopedia.com/terms/c/central-bank-digital-currency-cbdc.asp
[48] Diem (originally, Facebook’s Libra) – white paper: https://www.diem.com/en-us/white-paper/
[49] Stablecoins – by Wikipedia: https://en.wikipedia.org/wiki/Stablecoin
[50] From Gold to Fiat to Bit Gold to Bitcoin – by Donald McIntyre: https://etherplan.com/2020/04/25/from-gold-to-fiat-to-bit-gold-to-bitcoin/11352/
原文鏈接: https://etherplan.com/2020/11/16/introduction-to-cryptocurrencies/13648/
作者: Donald McIntyre
翻譯: 阿劍