比特幣開發(fā)者Jimmy Song:為什么說區(qū)塊鏈很難
從某種意義上說,目前關(guān)于區(qū)塊鏈的概念正試圖做不可能的事情,他們想要一個去中心化的系統(tǒng)的安全和一個集中的控制。
關(guān)于區(qū)塊鏈的討論不絕于耳。也許你聽說過,區(qū)塊鏈現(xiàn)在可以:
- 解決收入不平等
- 使所有數(shù)據(jù)永遠(yuǎn)安全
- 使一切變得更有效率和更不可信
- 拯救垂死的嬰兒
到底什么是區(qū)塊鏈?它真的能做所有這些事情嗎?區(qū)塊鏈能為醫(yī)療、金融、供應(yīng)鏈管理和音樂版權(quán)等不同行業(yè)帶來驚人的變化嗎?而比特幣從業(yè)者是不是意味著你是支持區(qū)塊鏈的?你怎么能在支持比特幣的同時詬病比特幣背后的技術(shù)呢?
在這篇文章中,我試圖通過解答什么是區(qū)塊鏈來回答上述疑問。
什么是區(qū)塊鏈?
我們來先定義清楚區(qū)塊鏈?zhǔn)鞘裁矗@里有很多常人理解上容易混淆的地方。許多公司使用“區(qū)塊鏈”這個詞來指某種神奇的裝置,在這個裝置之上它們的所有數(shù)據(jù)永遠(yuǎn)不會出錯。顯然,這樣的裝置在現(xiàn)實(shí)世界中是不存在的。
那么什么是區(qū)塊鏈?從技術(shù)上講,區(qū)塊鏈?zhǔn)菙?shù)據(jù)區(qū)塊以有序的方式組合起來的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)。如果您不理解最后一句,您可以將塊鏈看作是附加了一些屬性的數(shù)據(jù)庫子集。
區(qū)分區(qū)塊鏈和普通數(shù)據(jù)庫的要點(diǎn)在于如何將數(shù)據(jù)放入數(shù)據(jù)庫。也就是說,它不能與數(shù)據(jù)庫中已經(jīng)存在的其他數(shù)據(jù)沖突(一致),它僅僅是附加(不可變),并且數(shù)據(jù)在本身被鎖定到所有者(Ownable)后,它是可復(fù)制的和可用的。最后,每個人都同意數(shù)據(jù)庫中的數(shù)據(jù)以協(xié)商一致的規(guī)范和協(xié)議存在(去中心化)。
接下來所說的最后一點(diǎn),是區(qū)塊鏈真正備受推崇的關(guān)鍵:去中心化是非常有吸引力的,因?yàn)檫@意味著它沒有單一的失敗點(diǎn)。
也就是說,沒有任何一個權(quán)威機(jī)構(gòu)能夠拿走你的資產(chǎn)或改變“歷史”以滿足他們的需要。這種不可改變的審計(jì)跟蹤,意味著在這里你不需要相信任何人,這也正式這項(xiàng)技術(shù)背后人們不斷在追逐的利益。然而,為了這些利益我們付出了巨大的代價。
區(qū)塊鏈的成本
任何一方都無法控制這些不可改變的審計(jì)跟蹤,但是創(chuàng)建這樣一個系統(tǒng)需要付出很多代價。讓我們來看看其中的一些問題。
1.發(fā)展受限且進(jìn)程變慢
創(chuàng)建一個明顯一致的系統(tǒng)并不是一件容易的事情。一個小錯誤可能會破壞整個數(shù)據(jù)庫,或者導(dǎo)致某些數(shù)據(jù)庫與其他數(shù)據(jù)庫不同。當(dāng)然,損壞或拆分的數(shù)據(jù)庫不再具有任何一致性保證。
此外,必須從一開始就設(shè)計(jì)所有這些制度,使之保持一致。在區(qū)塊鏈中沒有“快速移動和破壞”,如果你破壞了一些東西,你就會失去一致性,區(qū)塊鏈就會變得毫無價值。
你可能在想,為什么不能修復(fù)數(shù)據(jù)庫或者重新開始再繼續(xù)前進(jìn)呢?這在集中式系統(tǒng)中很容易做到,但在去中心化的系統(tǒng)中非常困難。要更改數(shù)據(jù)庫,需要系統(tǒng)中所有參與者的一致意見或協(xié)議。區(qū)塊鏈必須是不受單個實(shí)體控制的公共資源(去中心化,記得嗎?),或者整個工作是創(chuàng)建一個緩慢、集中的數(shù)據(jù)庫的一種非常昂貴的方法。
2.激勵結(jié)構(gòu)很難設(shè)計(jì)
增加正確的激勵結(jié)構(gòu),并確保系統(tǒng)中的所有行為者都不能濫用或破壞數(shù)據(jù)庫,同樣也是一個很大的考慮因素。區(qū)塊鏈可能是一致的,但如果其中包含大量瑣碎、無用的數(shù)據(jù),那就不太有用了,因?yàn)閷?shù)據(jù)放入其中的成本非常低。
如果幾乎沒有數(shù)據(jù),那么一個一致的區(qū)塊鏈也不會有用,因?yàn)閷?shù)據(jù)放入其中的成本非常高。
如何確保獎勵與網(wǎng)絡(luò)目標(biāo)一致?為什么節(jié)點(diǎn)要保存或更新數(shù)據(jù)?是什么使它們在沖突時選擇一條數(shù)據(jù)而不是另一條數(shù)據(jù)?這些都是激勵性的問題,需要很好的答案,它們不僅需要在開始的時候,而且在未來的任何時刻,隨著技術(shù)和公司的變化,它們都需要一致,否則區(qū)塊鏈就沒有用了。
同樣,你可能會想,為什么你不能“修復(fù)”一些壞的激勵。同樣,這在集中式系統(tǒng)中很容易,但在去中心化系統(tǒng)中,沒有共識就不能改變?nèi)魏问虑?。除非大家都同意了,否則就不會有任何“修理”。
3.維修費(fèi)用很高
傳統(tǒng)的集中式數(shù)據(jù)庫只需寫入一次,一個區(qū)塊鏈需要被寫到數(shù)千次;傳統(tǒng)的集中式數(shù)據(jù)庫只需要檢查一次數(shù)據(jù),區(qū)塊鏈需要檢查數(shù)據(jù)數(shù)千次;傳統(tǒng)的集中式數(shù)據(jù)庫只需傳輸一次數(shù)據(jù)即可存儲,區(qū)塊鏈需要傳輸數(shù)千次數(shù)據(jù)。
維護(hù)區(qū)塊鏈的成本要高出一個數(shù)量級,成本需要通過效用來證明。大多數(shù)應(yīng)用程序?qū)ふ乙恍傩?,如一致性和可靠性,可以通過使用完整性檢查、收據(jù)和備份,以更低的成本獲得這些功能。
4.用戶是獨(dú)立的
這可能真的很好,因?yàn)楣静幌矚g擁有用戶數(shù)據(jù)的責(zé)任。但是,如果用戶“行為不當(dāng)”,這可能是不好的。沒有辦法驅(qū)逐那些用瑣碎的數(shù)據(jù)垃圾處理你的區(qū)塊鏈的用戶,或者想出一種以某種方式盈利的方法,這會給其他用戶帶來很大的不便。
這與上述觀點(diǎn)有關(guān),即激勵結(jié)構(gòu)必須設(shè)計(jì)得非常、非常好,因?yàn)榘l(fā)現(xiàn)漏洞的用戶不太可能放棄這一點(diǎn),特別是如果用戶有利潤的話。
您可能認(rèn)為可以簡單地拒絕向惡意用戶提供服務(wù),這在集中式服務(wù)中非常容易。然而,與集中式服務(wù)不同,拒絕服務(wù)是很困難的,因?yàn)闆]有一個實(shí)體有權(quán)將任何人逐出。區(qū)塊鏈必須公正,并強(qiáng)制執(zhí)行軟件定義的規(guī)則。如果規(guī)定不足以阻止不良行為,你就倒霉了。這里沒有法律的“精神”,你只需處理惡意或行為不端的演員,可能會有很長一段時間。
5.所有升級都是自愿的
強(qiáng)制升級不是一種選擇,網(wǎng)絡(luò)上的其他玩家沒有義務(wù)對您的軟件進(jìn)行更改。如果他們這樣做了,這樣一個系統(tǒng)將更容易、更快和更便宜的建設(shè)作為一個集中的系統(tǒng)。區(qū)塊鏈的要點(diǎn)是它不受單個實(shí)體的控制,這與強(qiáng)制升級相違背。
相反,所有升級必須是向后兼容的。這顯然是相當(dāng)困難的,特別是如果您想要添加新的特性,甚至更難從測試的角度思考。該軟件的每個版本都為測試矩陣添加了大量內(nèi)容,并延長了發(fā)布時間。
同樣,如果這是一個集中的系統(tǒng),這將是非常容易糾正,不再服務(wù)于舊的系統(tǒng)。但是,在去中心化的系統(tǒng)中,您不能這樣做,因?yàn)槟荒軓?qiáng)迫任何人做任何事情。
6.縮放真的很難
最后,與傳統(tǒng)的集中式系統(tǒng)相比,縮放至少要困難幾個數(shù)量級。原因很明顯:同樣的數(shù)據(jù)必須生活在成百上千的地方,而不是一個地方。傳輸、核查和儲存的開銷是巨大的,因?yàn)閿?shù)據(jù)庫的每一份副本都必須支付這些費(fèi)用,而不是在傳統(tǒng)的中央數(shù)據(jù)庫中只支付一次費(fèi)用。
當(dāng)然,您可以通過減少節(jié)點(diǎn)數(shù)量來減輕負(fù)擔(dān)。但到了那個時候,為什么你需要一個去中心化的系統(tǒng)呢?如果擴(kuò)展成本是主要問題,為什么不直接建立一個集中的數(shù)據(jù)庫呢?
7.集中化要容易得多
如果你注意到一個主題,那就是去中心化系統(tǒng)很難使用,維護(hù)成本很高,升級難度很大,規(guī)模也很大。集中式數(shù)據(jù)庫比塊鏈更快、更便宜、更易于維護(hù)和更易于升級。那么,為什么人們總是使用區(qū)塊鏈這個詞,就好像它是解決所有問題的靈丹妙藥一樣?
- 許多在區(qū)塊鏈上銷售的行業(yè)都應(yīng)該進(jìn)行IT基礎(chǔ)設(shè)施升級。醫(yī)療保健有著出了名的爛軟件;金融結(jié)算行業(yè)仍在70年代的軟件基礎(chǔ)上運(yùn)行;供應(yīng)鏈管理軟件既難以使用,也難以安裝。這些行業(yè)中的大多數(shù)公司由于風(fēng)險(xiǎn)而拒絕升級。很多基礎(chǔ)設(shè)施的升級花費(fèi)了數(shù)億美元,但最終還是被淘汰了。區(qū)塊鏈?zhǔn)且环N銷售這些IT基礎(chǔ)設(shè)施升級并使其更具吸引力的方法。
- 區(qū)塊鏈?zhǔn)且环N讓你看起來像處于技術(shù)前沿的方式。不管你喜不喜歡,“區(qū)塊鏈”這個詞已經(jīng)有了它自己的生命。很少有人真正理解它是什么,但想要顯得時髦,所以用這些詞作為一種聽起來更聰明的方式。就像“云”意味著其他人的計(jì)算機(jī)和“AI”意味著經(jīng)過調(diào)整的算法,在這種情況下,“區(qū)塊鏈”意味著一個緩慢又昂貴的數(shù)據(jù)庫。
- 人們真的不喜歡政府對某些行業(yè)的控制,他們想要一個不同于通常緩慢而昂貴的法律框架的審判機(jī)制。對他們來說,“區(qū)塊鏈”實(shí)際上只是擺脫政府監(jiān)管的沉重方式之一。這是超賣區(qū)塊鏈可以做的,但事實(shí)上區(qū)塊鏈并不能神奇地消除人類的沖突。
結(jié)果,很多人在沒有真正理解能力或成本的情況下,就被夸大的承諾忽悠了。更糟糕的是,實(shí)際的技術(shù)細(xì)節(jié)和成本是從很多風(fēng)險(xiǎn)投資公司和高管那里抽象出來的,以致于模糊了區(qū)塊鏈能做什么和不能做什么。
每個人都不敢說皇帝沒有衣服,這就像我們現(xiàn)在所面對的情況。
那么區(qū)塊鏈有什么好處呢?
我們已經(jīng)確定,與集中式數(shù)據(jù)庫相比,區(qū)塊鏈非常昂貴,所以你應(yīng)該使用區(qū)塊鏈的唯一原因是去中心化。也就是說,移除單一的故障點(diǎn)或控制點(diǎn)。
這自然意味著軟件或數(shù)據(jù)庫不能經(jīng)常改變,如果有的話。升級應(yīng)該沒有什么好處,而搞砸或改變規(guī)則也會有很多負(fù)面影響。
大多數(shù)行業(yè)都不是這樣的,大多數(shù)行業(yè)都需要新的功能或升級,以及在必要時改變和擴(kuò)展的自由。考慮到區(qū)塊鏈很難升級,很難改變,也很難擴(kuò)展,大多數(shù)行業(yè)對區(qū)塊鏈沒有多大用處。
我們發(fā)現(xiàn)的一個例外就是錢。與大多數(shù)工業(yè)用例不同的是,如果不改變,錢就會更好。改變規(guī)則的不變性和困難是對金錢有利的,而不是有害的。這就是為什么當(dāng)談到比特幣時,區(qū)塊鏈?zhǔn)钦_的工具。
很明顯,許多想要使用區(qū)塊鏈的公司并不是真的想要區(qū)塊鏈,而是想要對其特定行業(yè)進(jìn)行IT升級。這一切都很好,但是用“區(qū)塊鏈”這個詞來達(dá)到這個目的是不誠實(shí)的,而且夸大了它的能力。
結(jié)語
區(qū)塊鏈?zhǔn)钱?dāng)今流行的術(shù)語,不幸的是,這種“區(qū)塊鏈而不是比特幣”的迷因不會死。如果您是一個集中式服務(wù),區(qū)塊鏈不會為您提供任何您無法用集中式數(shù)據(jù)庫便宜一千倍的東西;如果您是一個去中心化的服務(wù),那么您可能是在欺騙自己,而不是考慮系統(tǒng)中存在的單一故障點(diǎn)。在真正去中心化的服務(wù)中根本不會有“你”。
早在2000年代初,科技行業(yè)的許多高管就在推動使用Java和XML。盡管這兩件事都是工具,而不是實(shí)際產(chǎn)品,但許多高管堅(jiān)持使用這些工具,不管他們的工程師試圖實(shí)現(xiàn)的目標(biāo)有多么糟糕。
區(qū)塊鏈就是這樣的。專注于你正在解決的問題,這些工具將使你自己變得顯而易見。專注于你想要使用的工具,你最終會制造出魯伯·戈德堡機(jī)械,這些機(jī)械做得并不特別好。
從某種意義上說,目前關(guān)于區(qū)塊鏈的概念正試圖做不可能的事情,他們想要一個去中心化的系統(tǒng)的安全和一個集中的控制。人們的欲望是得到兩個世界中最優(yōu)解,但他們最終得到的卻是兩個世界中最劣解。通過集中式系統(tǒng)的故障模式,我們可以得知去中心化系統(tǒng)的成本和難度。
區(qū)塊鏈作為一個時髦的詞被過度使用,我們越快擺脫炒作,從長遠(yuǎn)來說,生活就會越好。
本文已獲得原作者授權(quán)翻譯
原文鏈接:https://medium.com/@jimmysong/why-blockchain-is-hard-60416ea4c5c
作者:金剛福祿蛙,公眾號:金剛福祿蛙
本文由 @金剛福祿娃 翻譯發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自網(wǎng)絡(luò)
你好,請問可以轉(zhuǎn)載嗎?
轉(zhuǎn)載請至公眾號哦
抄襲可恥
拜托,抄也正規(guī)點(diǎn)行么? 人家36氪抄至少明說了是翻譯的老外的文章,您這直接把36氪的翻譯稿拿過來,也不說哪來的?
原創(chuàng)翻譯,并取得Jimmy授權(quán),從頭到尾都是Jimmy的口吻還用說嗎?