致比特幣10年報導之三:比特幣白皮書中哪些是對的?哪些是錯的?

致比特幣10年報道之三:比特幣白皮書中哪些是對的?哪些是錯的?

約瑟夫·博諾(Joseph Bonneau)是紐約大學(New York University)的助理教授,也是《比特幣與加密貨幣技術》(Bitcoin and Cryptocurrency Technologies)一書的合著者。

致比特幣10年報道之三:比特幣白皮書中哪些是對的?哪些是錯的?

比特幣白皮書理所當然地被認為是歷史上最原創、最具影響力的計算機科學論文之一。

它已經啟動了一個價值10億美元的產業和成千上萬的後續論文。

但是,有必要對這篇論文(以及論文中遺漏的最初比特幣設計的元素)進行批判性的審視,看看這篇論文做得對不對?出了什麼問題?哪些問題我們仍然不知道答案?

比特幣正確的地方

一個真正成功的想法的一個標誌就是我們忘記了在這個想法出現之前人們如何看待這個世界。 比特幣的許多最基本的貢獻似乎只是在後見之明。

人們很容易忘記,加密貨幣在本世紀頭十年的大部分時間裡都是研究領域的死水。在上世紀90年代許多嘗試建立工作系統的嘗試失敗後(主要使用David Chaum在20世紀80年代概述的想法),該領域很少發表論文。許多人只是認為,非國家貨幣沒有可行的市場。

在比特幣出現之前,分散式系統在21世紀初是一個活躍的研究領域(通常被稱為對等網絡),匿名研究也隨著Tor和其他系統的發展而逐漸形成。

但這些並不是支付系統的必要功能。比特幣貢獻了什麼?

1. 鼓勵礦工。比特幣的核心貢獻之一是通過通脹和收費為礦商提供激勵。這種模式總體上是成功的,可以說很少有人預見到它的到來。在比特幣時代之前,許多提供開放參與(任何人都可以運行一個節點)的P2P系統都受到了Sybil攻擊和其他問題的困擾。人們曾多次嘗試鼓勵誠實參與,但在比特幣出現之前,還沒有一個系統能讓它發揮作用。

2. 輕客戶。事實證明,比特幣對完整節點和light(或SPV)節點的支持已經證明非常強大,並且嵌入到比特幣中的塊結構使得它不僅可以實現輕客戶端而且自然而然。

3. 腳本。儘管受到限制,比特幣的腳本支持(白皮書中根本沒有討論)已經啟用了一些有用的功能,比如多簽名賬戶和支付網絡。設想一個支持簡單付款的系統是明智之舉。

4. 認識到長期激勵措施。Satoshi沒有預見到工業規模的採礦或採礦池,至少白皮書中沒有。但是這篇論文確實包含了一個關於集中化風險的非常有先見之明的觀點:“(攻擊者)應該發現規則更有利可圖,這些規則比其他人合併更多的新硬幣,而不是破壞 制度和他自己財富的有效性。”儘管此後有大量關於礦工的理論攻擊的報道,但實際上沒有人真正嘗試過。 Satoshi認識到一個強有力的原則:礦工們有長期的激勵措施,不會攻擊,因為他們投資於生態系統的健康。

比特幣出了什麼問題

在比特幣代碼的早期版本中,我們將忽略一些古怪的回顧功能,例如:付費到IP地址和內置的電子商務系統,這些功能從未見過。

但比特幣有幾個看似“錯誤”的功能,即當今構建的任何系統都不應重複這些特徵。

1. ECDSA。雖然這種簽名算法遠比RSA算法好,但它在各個方面都不如EC-Schnorr。很可能Satoshi根本不知道這個選項(圍繞Schnorr的軟件專利遺產)。今天,如果不支持更高級的簽名方案(如BLS),那麼使用Schnorr代替其對閾值簽名的支持顯然是有利的。

2. 交易可塑性。這個無意識的問題導致支付網絡等協議的頭痛,以及著名的對Mt. Gox的攻擊。今天,一個謹慎的設計將使用隔離證人(SegWit)的方式來確保事務哈希是不可修改的。

3. 功能自添加。很明顯,沒有包含一些流行的特性是錯誤的,比如pay-to--hash(P2SH)和check-locktime-verify,這是因為軟叉已添加。

4. 硬幣有限的可分性。比特幣有2100萬比特幣的限制,但更重要的是,它的原子單位約為2 ^ 52 satoshis。如果比特幣真的成為地球上唯一的支付系統,那麼這將為每個人提供不到100萬個單位。這還不足以同時涵蓋日常交易(甚至四捨五入,相當於十分之一美元)以及大量持有。用幾十個額外的位來擴展它是相當便宜的,這樣可分割性就不會成為問題。

5. 形成一條簡單的鏈條。考慮到“區塊鏈”這個時髦詞已經發展到什麼程度,有必要指出的是,將塊放入線性鏈中是一種疏忽,這使得超輕量級客戶機驗證舊塊是否包含在當前鏈中代價高昂。比特幣正確地將交易放到了一棵樹上,那麼,為什麼不讓區塊自己來完成呢?跳過列表將是另一個主要的改進。有趣的是,證書透明項目(獨立於同一時代的比特幣而設計)很好地實現了這一點,並將每次更新都放到了一棵樹上,而比特幣的幾個後繼者偏離線性鏈設計。

6. 任何國家承諾。比特幣礦商都將系統狀態跟蹤為一組未使用的交易輸出(UTXOs)。但這並不是對每一個街區的承諾,必須從歷史中推定。這使得輕量級客戶機很難確認當前的狀態以及事務是否已被使用。向每個塊添加UTXO承諾是很容易的,許多後續系統(如Ethereum)就是這樣做的。

7. 簡單的攻擊分析。比特幣白皮書花了相當大的篇幅(大約是文本的四分之一)來分析一個不到51%的採礦者運氣好,成功地推出了一個餐叉的可能性。隨後的分析已經確定了許多其他的攻擊媒介(如自私的採礦),現在看來這種分析已經過時了。

8. One-CPU-one-vote。Satoshi將比特幣描述為一個系統,大多數參與者都是礦工使用他們的CPU。多年來情況並非如此,因為採礦業由專用硬件主導。雖然ASIC採掘是一個好的發展還是壞的發展是有爭議的,但這肯定不是最初白皮書中提到的。

我們還不知道什麼

1. SHA - 256謎題。比特幣使用基於哈希的計算謎題(“工作證明”)一直是最活躍的辯論話題之一。它消耗了太多的能量嗎?ASICs 是否鼓勵集中化為設計用於基於GPU的採礦或存儲限制採礦的難題會以更低的成本產生更好的激勵嗎? 股權證明最終會勝出嗎?

2. 塊大小和其他參數限制。至少可以說,1 MB大小的塊限制一直是爭論的焦點,就像(在較小程度上)塊之間10分鐘的間隔一樣。許多後續系統已經在更大或更頻繁的區塊中蓬勃發展。從長遠來看,比特幣的保守設計是否會被證明是明智的?

3. 匿名性。白皮書中描述的關於比特幣匿名的爭論,因為只有公開密鑰才會被公佈,現在由於交易圖分析的發展而被認為是不完整的。諸如機密交易、Monero或Zcash等系統提供了更強的加密隱私。另一方面,人們提出了許多向後兼容的方案,通過混合來混淆比特幣區塊鏈的活動。匿名是一個需要內置支持的關鍵功能嗎?

4. 通貨膨脹。比特幣的設計旨在避免通貨膨脹,但許多經濟學家指出,它實際上是通貨緊縮,因為最終只有當鑰匙丟失時,硬幣才能退出流通(或者硬幣被有意地通過“燃燒證明”交易而無法使用)。零通脹實際上需要少量新貨幣發行,以跟上貨幣貶值的步伐。如果這是比特幣的錯誤,我們可能多年都沒有意識到這一點,因為通貨膨脹正逐漸減少。

5. 轉向交易費用。比特幣硬編碼了一個緩慢的轉變,從主要通過通脹獎勵礦商,到主要通過交易費用獎勵礦商。沒有人知道這種情況會如何發展,但一些研究表明,這可能會導致後通脹時代造成嚴重的不穩定。

6. 有限的可編程性。比特幣對其可編程性施加了嚴格的限制,以保證交易的易驗證性(以及成本的可預測性)。Ethereum項目已經證明了對更豐富的編程模型的巨大需求,儘管它的模型引入了額外的縮放問題。從長遠來看,比特幣會因其較弱的編程模式而受到阻礙嗎?

作者 | Joseph Bonneau

https://www.coindesk.com/what-bitcoins-white-paper-got-right-wrong-and-what-we-still-dont-know/

特別聲明:區塊鏈行業ICO項目魚龍混雜,投資風險極高;各種數字貨幣真假難辨,需用戶謹慎投資。《鏈內參》只負責分享信息,不構成任何投資建議,用戶一切投資行為與本站無關。


分享到:


相關文章: