比特幣開發者Jimmy Song:為什么說區塊鏈很難

6 評論 4595 瀏覽 14 收藏 17 分鐘

從某種意義上說,目前關于區塊鏈的概念正試圖做不可能的事情,他們想要一個去中心化的系統的安全和一個集中的控制。

關于區塊鏈的討論不絕于耳。也許你聽說過,區塊鏈現在可以:

  • 解決收入不平等
  • 使所有數據永遠安全
  • 使一切變得更有效率和更不可信
  • 拯救垂死的嬰兒

到底什么是區塊鏈?它真的能做所有這些事情嗎?區塊鏈能為醫療、金融、供應鏈管理和音樂版權等不同行業帶來驚人的變化嗎?而比特幣從業者是不是意味著你是支持區塊鏈的?你怎么能在支持比特幣的同時詬病比特幣背后的技術呢?

在這篇文章中,我試圖通過解答什么是區塊鏈來回答上述疑問。

什么是區塊鏈?

我們來先定義清楚區塊鏈是什么,這里有很多常人理解上容易混淆的地方。許多公司使用“區塊鏈”這個詞來指某種神奇的裝置,在這個裝置之上它們的所有數據永遠不會出錯。顯然,這樣的裝置在現實世界中是不存在的。

那么什么是區塊鏈?從技術上講,區塊鏈是數據區塊以有序的方式組合起來的鏈式數據結構。如果您不理解最后一句,您可以將塊鏈看作是附加了一些屬性的數據庫子集。

區分區塊鏈和普通數據庫的要點在于如何將數據放入數據庫。也就是說,它不能與數據庫中已經存在的其他數據沖突(一致),它僅僅是附加(不可變),并且數據在本身被鎖定到所有者(Ownable)后,它是可復制的和可用的。最后,每個人都同意數據庫中的數據以協商一致的規范和協議存在(去中心化)。

接下來所說的最后一點,是區塊鏈真正備受推崇的關鍵:去中心化是非常有吸引力的,因為這意味著它沒有單一的失敗點。

也就是說,沒有任何一個權威機構能夠拿走你的資產或改變“歷史”以滿足他們的需要。這種不可改變的審計跟蹤,意味著在這里你不需要相信任何人,這也正式這項技術背后人們不斷在追逐的利益。然而,為了這些利益我們付出了巨大的代價。

區塊鏈的成本

任何一方都無法控制這些不可改變的審計跟蹤,但是創建這樣一個系統需要付出很多代價。讓我們來看看其中的一些問題。

1.發展受限且進程變慢

創建一個明顯一致的系統并不是一件容易的事情。一個小錯誤可能會破壞整個數據庫,或者導致某些數據庫與其他數據庫不同。當然,損壞或拆分的數據庫不再具有任何一致性保證。

此外,必須從一開始就設計所有這些制度,使之保持一致。在區塊鏈中沒有“快速移動和破壞”,如果你破壞了一些東西,你就會失去一致性,區塊鏈就會變得毫無價值。

你可能在想,為什么不能修復數據庫或者重新開始再繼續前進呢?這在集中式系統中很容易做到,但在去中心化的系統中非常困難。要更改數據庫,需要系統中所有參與者的一致意見或協議。區塊鏈必須是不受單個實體控制的公共資源(去中心化,記得嗎?),或者整個工作是創建一個緩慢、集中的數據庫的一種非常昂貴的方法。

2.激勵結構很難設計

增加正確的激勵結構,并確保系統中的所有行為者都不能濫用或破壞數據庫,同樣也是一個很大的考慮因素。區塊鏈可能是一致的,但如果其中包含大量瑣碎、無用的數據,那就不太有用了,因為將數據放入其中的成本非常低。

如果幾乎沒有數據,那么一個一致的區塊鏈也不會有用,因為將數據放入其中的成本非常高。

如何確保獎勵與網絡目標一致?為什么節點要保存或更新數據?是什么使它們在沖突時選擇一條數據而不是另一條數據?這些都是激勵性的問題,需要很好的答案,它們不僅需要在開始的時候,而且在未來的任何時刻,隨著技術和公司的變化,它們都需要一致,否則區塊鏈就沒有用了。

同樣,你可能會想,為什么你不能“修復”一些壞的激勵。同樣,這在集中式系統中很容易,但在去中心化系統中,沒有共識就不能改變任何事情。除非大家都同意了,否則就不會有任何“修理”。

3.維修費用很高

傳統的集中式數據庫只需寫入一次,一個區塊鏈需要被寫到數千次;傳統的集中式數據庫只需要檢查一次數據,區塊鏈需要檢查數據數千次;傳統的集中式數據庫只需傳輸一次數據即可存儲,區塊鏈需要傳輸數千次數據。

維護區塊鏈的成本要高出一個數量級,成本需要通過效用來證明。大多數應用程序尋找一些屬性,如一致性和可靠性,可以通過使用完整性檢查、收據和備份,以更低的成本獲得這些功能。

4.用戶是獨立的

這可能真的很好,因為公司不喜歡擁有用戶數據的責任。但是,如果用戶“行為不當”,這可能是不好的。沒有辦法驅逐那些用瑣碎的數據垃圾處理你的區塊鏈的用戶,或者想出一種以某種方式盈利的方法,這會給其他用戶帶來很大的不便。

這與上述觀點有關,即激勵結構必須設計得非常、非常好,因為發現漏洞的用戶不太可能放棄這一點,特別是如果用戶有利潤的話。

您可能認為可以簡單地拒絕向惡意用戶提供服務,這在集中式服務中非常容易。然而,與集中式服務不同,拒絕服務是很困難的,因為沒有一個實體有權將任何人逐出。區塊鏈必須公正,并強制執行軟件定義的規則。如果規定不足以阻止不良行為,你就倒霉了。這里沒有法律的“精神”,你只需處理惡意或行為不端的演員,可能會有很長一段時間。

5.所有升級都是自愿的

強制升級不是一種選擇,網絡上的其他玩家沒有義務對您的軟件進行更改。如果他們這樣做了,這樣一個系統將更容易、更快和更便宜的建設作為一個集中的系統。區塊鏈的要點是它不受單個實體的控制,這與強制升級相違背。

相反,所有升級必須是向后兼容的。這顯然是相當困難的,特別是如果您想要添加新的特性,甚至更難從測試的角度思考。該軟件的每個版本都為測試矩陣添加了大量內容,并延長了發布時間。

同樣,如果這是一個集中的系統,這將是非常容易糾正,不再服務于舊的系統。但是,在去中心化的系統中,您不能這樣做,因為您不能強迫任何人做任何事情。

6.縮放真的很難

最后,與傳統的集中式系統相比,縮放至少要困難幾個數量級。原因很明顯:同樣的數據必須生活在成百上千的地方,而不是一個地方。傳輸、核查和儲存的開銷是巨大的,因為數據庫的每一份副本都必須支付這些費用,而不是在傳統的中央數據庫中只支付一次費用。

當然,您可以通過減少節點數量來減輕負擔。但到了那個時候,為什么你需要一個去中心化的系統呢?如果擴展成本是主要問題,為什么不直接建立一個集中的數據庫呢?

7.集中化要容易得多

如果你注意到一個主題,那就是去中心化系統很難使用,維護成本很高,升級難度很大,規模也很大。集中式數據庫比塊鏈更快、更便宜、更易于維護和更易于升級。那么,為什么人們總是使用區塊鏈這個詞,就好像它是解決所有問題的靈丹妙藥一樣?

  1. 許多在區塊鏈上銷售的行業都應該進行IT基礎設施升級。醫療保健有著出了名的爛軟件;金融結算行業仍在70年代的軟件基礎上運行;供應鏈管理軟件既難以使用,也難以安裝。這些行業中的大多數公司由于風險而拒絕升級。很多基礎設施的升級花費了數億美元,但最終還是被淘汰了。區塊鏈是一種銷售這些IT基礎設施升級并使其更具吸引力的方法。
  2. 區塊鏈是一種讓你看起來像處于技術前沿的方式。不管你喜不喜歡,“區塊鏈”這個詞已經有了它自己的生命。很少有人真正理解它是什么,但想要顯得時髦,所以用這些詞作為一種聽起來更聰明的方式。就像“云”意味著其他人的計算機和“AI”意味著經過調整的算法,在這種情況下,“區塊鏈”意味著一個緩慢又昂貴的數據庫。
  3. 人們真的不喜歡政府對某些行業的控制,他們想要一個不同于通常緩慢而昂貴的法律框架的審判機制。對他們來說,“區塊鏈”實際上只是擺脫政府監管的沉重方式之一。這是超賣區塊鏈可以做的,但事實上區塊鏈并不能神奇地消除人類的沖突。

結果,很多人在沒有真正理解能力或成本的情況下,就被夸大的承諾忽悠了。更糟糕的是,實際的技術細節和成本是從很多風險投資公司和高管那里抽象出來的,以致于模糊了區塊鏈能做什么和不能做什么。

每個人都不敢說皇帝沒有衣服,這就像我們現在所面對的情況。

那么區塊鏈有什么好處呢?

我們已經確定,與集中式數據庫相比,區塊鏈非常昂貴,所以你應該使用區塊鏈的唯一原因是去中心化。也就是說,移除單一的故障點或控制點。

這自然意味著軟件或數據庫不能經常改變,如果有的話。升級應該沒有什么好處,而搞砸或改變規則也會有很多負面影響。

大多數行業都不是這樣的,大多數行業都需要新的功能或升級,以及在必要時改變和擴展的自由??紤]到區塊鏈很難升級,很難改變,也很難擴展,大多數行業對區塊鏈沒有多大用處。

我們發現的一個例外就是錢。與大多數工業用例不同的是,如果不改變,錢就會更好。改變規則的不變性和困難是對金錢有利的,而不是有害的。這就是為什么當談到比特幣時,區塊鏈是正確的工具。

很明顯,許多想要使用區塊鏈的公司并不是真的想要區塊鏈,而是想要對其特定行業進行IT升級。這一切都很好,但是用“區塊鏈”這個詞來達到這個目的是不誠實的,而且夸大了它的能力。

結語

區塊鏈是當今流行的術語,不幸的是,這種“區塊鏈而不是比特幣”的迷因不會死。如果您是一個集中式服務,區塊鏈不會為您提供任何您無法用集中式數據庫便宜一千倍的東西;如果您是一個去中心化的服務,那么您可能是在欺騙自己,而不是考慮系統中存在的單一故障點。在真正去中心化的服務中根本不會有“你”。

早在2000年代初,科技行業的許多高管就在推動使用Java和XML。盡管這兩件事都是工具,而不是實際產品,但許多高管堅持使用這些工具,不管他們的工程師試圖實現的目標有多么糟糕。

區塊鏈就是這樣的。專注于你正在解決的問題,這些工具將使你自己變得顯而易見。專注于你想要使用的工具,你最終會制造出魯伯·戈德堡機械,這些機械做得并不特別好。

從某種意義上說,目前關于區塊鏈的概念正試圖做不可能的事情,他們想要一個去中心化的系統的安全和一個集中的控制。人們的欲望是得到兩個世界中最優解,但他們最終得到的卻是兩個世界中最劣解。通過集中式系統的故障模式,我們可以得知去中心化系統的成本和難度。

區塊鏈作為一個時髦的詞被過度使用,我們越快擺脫炒作,從長遠來說,生活就會越好。

 

本文已獲得原作者授權翻譯

原文鏈接:https://medium.com/@jimmysong/why-blockchain-is-hard-60416ea4c5c

作者:金剛福祿蛙,公眾號:金剛福祿蛙

本文由 @金剛福祿娃 翻譯發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自網絡

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 你好,請問可以轉載嗎?

    來自福建 回復
    1. 轉載請至公眾號哦

      來自上海 回復
  2. 抄襲可恥

    回復
  3. 拜托,抄也正規點行么? 人家36氪抄至少明說了是翻譯的老外的文章,您這直接把36氪的翻譯稿拿過來,也不說哪來的?

    來自北京 回復
    1. 原創翻譯,并取得Jimmy授權,從頭到尾都是Jimmy的口吻還用說嗎?

      回復