原文出自jimmysong轩端,Medium原文鏈接如下:https://medium.com/@jimmysong/why-blockchain-is-hard-60416ea4c5c
圍繞區(qū)塊鏈的泡沫是巨大的遵绰,現(xiàn)在我們聽說區(qū)塊鏈可以做到:
- 解決收入不公平的問題
- 保障所有的數(shù)據(jù)永久性的安全
- 使得所有事情都更加的便捷和去信任化
- 挽救正在死亡的嬰兒
這真的是區(qū)塊鏈嗎吻谋?它真的能做所有這些事情嗎忠蝗?區(qū)塊鏈真的可以給各種各樣的諸如:健康、金融漓拾、供應(yīng)鏈管理和音樂版權(quán)等等行業(yè)帶來一些驚人的變化嗎阁最?
同時,比特幣是不是前區(qū)塊鏈骇两?你如何支持比特幣的同時對其背后的技術(shù)說三道四速种?
在這篇文章中,我會在尋找區(qū)塊鏈究竟是什么以及更為重要的低千,區(qū)塊鏈不是什么的過程中嘗試去回答上述的這些問題配阵。
什么是區(qū)塊鏈?
為了檢驗這些聲明是否有效栋操,我們需要先定義區(qū)塊鏈是什么闸餐,這時就有了許多的混淆。很多公司使用“區(qū)塊鏈”這個詞來代指很多能夠存儲無法被篡改的數(shù)據(jù)的各種設(shè)備矾芙。而實際上舍沙,這樣的設(shè)備,當(dāng)然剔宪,是不存在的拂铡,至少在現(xiàn)實世界中是不存在的壹无。
[image:035DC057-921A-47F0-94CF-B92971EBA46D-1785-0000050DA3DEC289/FullSizeRender.jpg]
那么究竟什么是區(qū)塊鏈呢?技術(shù)上來說感帅,區(qū)塊鏈是一個連接著一串區(qū)塊的鏈條斗锭,同時一個區(qū)塊是一系列轉(zhuǎn)賬的集合。如果你不能理解這句話失球,你可以想象區(qū)塊鏈是數(shù)據(jù)庫的一個子集岖是,同時擁有一些額外的功能。
最主要的區(qū)分區(qū)塊鏈與一個普通的數(shù)據(jù)庫的地方在于如何將數(shù)據(jù)儲存進入數(shù)據(jù)庫的特殊的規(guī)則实苞。那就是:它不能與其它已經(jīng)存在于數(shù)據(jù)庫中的其它數(shù)據(jù)相沖突(一致性)豺撑,它只能添加(不可篡改性),它的數(shù)據(jù)鎖定在一個擁有者手中(擁有性)黔牵,它是可復(fù)制和可提供的聪轿。最終,每個人都同意數(shù)據(jù)庫中數(shù)據(jù)的狀態(tài)(公認的)同時又沒有一個中心化的組織(去中心化)猾浦。
而最后一點是區(qū)塊鏈真正夢寐以求的東西陆错。去中心化非常有吸引力是因為它不存在單點的失敗。就是說金赦,沒有單個的節(jié)點有權(quán)力按照自己的需求奪取你的資產(chǎn)或改變“歷史”音瓷。每個使用這一技術(shù)的人在尋求的是利用這一不可篡改的賬本記錄使得你不再需要信任任何人,這一益處是由巨大的消耗獲得的素邪。
區(qū)塊鏈的消耗
不被任何單一組織控制的不可篡改的賬本記錄顯然是非常有用的外莲,但建立這樣一個系統(tǒng)是有非常多的損耗的,讓我們一起來看一看兔朦。
開發(fā)更加的嚴格和緩慢
開發(fā)一個一致可驗證的系統(tǒng)不是一個簡單的任務(wù)偷线。一個小小的bug就有可能摧毀整個數(shù)據(jù)庫或?qū)е乱恍?shù)據(jù)庫與其它的不再相同。當(dāng)然沽甥,一個被破壞或分裂的數(shù)據(jù)庫將不再有一致性的授權(quán)声邦。而所有這樣的系統(tǒng)都被設(shè)計成需要擁有一致性。不存在“轉(zhuǎn)移迅速且破壞事物”在區(qū)塊鏈中摆舟。如果你在其中進行破壞亥曹,你將失去一致性同時區(qū)塊鏈將崩潰且變得一文不值。
[image:0B0408A2-BF22-4EF9-ABA9-83F858F5EBF2-1785-0000054C64393BA5/FullSizeRender.jpg]
你可能會想恨诱,為什么你不能修復(fù)這一數(shù)據(jù)庫或者重新調(diào)整后再開始并繼續(xù)媳瞪?這樣的想法在一個中心化的系統(tǒng)中來實現(xiàn)是很簡單的,但在一個去中心化的系統(tǒng)中卻是非常困難的照宝。你需要在這一系統(tǒng)中所有人的共識或批準才能改變數(shù)據(jù)庫蛇受。區(qū)塊鏈將成為一個公共資源而不是在任何一個單一的個體或組織的控制之下(去中心化的,還記得嗎厕鹃?)兢仰,否則整個的努力將變成花費昂貴的代價來建立一個緩慢而中心化的數(shù)據(jù)庫乍丈。
激勵結(jié)構(gòu)非常難以設(shè)計
增加正確的激勵機制,以確保系統(tǒng)中所有的參與者都不能篡改或毀壞數(shù)據(jù)庫是一個非常龐大的考慮把将。一個區(qū)塊鏈可能具有一致性轻专,但如果由于添加數(shù)據(jù)十分低成本導(dǎo)致其中充斥著大量的無用或無意義的數(shù)據(jù)將使得這一區(qū)塊鏈不再有用。同時察蹲,如果添加數(shù)據(jù)的成本過高將導(dǎo)致其中幾乎無數(shù)據(jù)的具有一致性的區(qū)塊鏈同樣無用请垛。
[image:954E3813-035F-4B93-9715-7FB16B1756F9-1785-000005556DCFB167/FullSizeRender.jpg]
最終由誰提供數(shù)據(jù)?你怎么確定獎勵的反饋與整個網(wǎng)絡(luò)的目標相一致洽议?節(jié)點為什么保存或更新數(shù)據(jù)以及什么使得他們在兩個數(shù)據(jù)存在沖突時選擇一個而不是另一個叼屠?這些都是需要被好好回答的關(guān)于激勵的問題,這些問題不僅僅是需要在一開始被很好的解答绞铃,而且是需要在未來,技術(shù)和公司都發(fā)生變遷時都需要能被很好的解決的問題嫂侍,否則區(qū)塊鏈將不可用儿捧。
再一次,你可能會好奇為什么你不能“修復(fù)”一些被破壞的激勵挑宠。同樣的菲盾,在一個中心化的系統(tǒng)中,這可能非常容易各淀,但在一個去中心化的系統(tǒng)中懒鉴,在沒有共識的情況下,你不可能簡單的改變?nèi)魏问虑樗榻健2淮嬖凇靶蘩怼比魏问虑榱倨祝谦@得所有人的同意。
治理的消耗是非常大的
一個傳統(tǒng)的中心化的數(shù)據(jù)庫只需要被寫一次奴璃,而一個區(qū)塊鏈需要被寫成千上萬次悉默。一個傳統(tǒng)的中心化的數(shù)據(jù)庫只需要檢查一次數(shù)據(jù),而區(qū)塊鏈需要檢查成千上萬次苟穆。一個傳統(tǒng)的中心化的數(shù)據(jù)庫只需要傳輸數(shù)據(jù)到存儲器一次抄课,而區(qū)塊鏈需要傳輸數(shù)據(jù)到存儲器成千上萬次。
治理一個區(qū)塊鏈的花費是十分高昂的雳旅,而且這一開銷需要被證明是有效的跟磨。大多數(shù)的應(yīng)用正在尋找一些前述的性能,如一致性和可靠性攒盈,來更加便宜的使用完整性檢查抵拘,收據(jù)和備份等。
用戶是獨立自主的
由于公司不喜歡首先擁有用戶數(shù)據(jù)的責(zé)任沦童,這可能是非常好的仑濒。但是叹话,如果用戶“行為不端”,這又有可能會很糟糕墩瞳。沒有辦法將使用粉塵數(shù)據(jù)攻擊區(qū)塊鏈的或者找到某種方式獲利的用戶提出出去驼壶,從而給其它用戶帶來了很多的不便。這與上述的觀察同樣有關(guān)系喉酌,即激勵結(jié)構(gòu)必須設(shè)計的非常好热凹,因為如果用戶找到某些利用的方式后是不會輕易放棄的,尤其是對于用戶有利益驅(qū)使的話泪电。
你可能在考慮你可以像在中心化的服務(wù)中那樣簡單的拒絕向惡意用戶提供服務(wù)般妙。然而,與中心化的服務(wù)不同的是相速,拒絕服務(wù)是非常困難的因為沒有任何一個實體有權(quán)將任何人踢出局碟渺。區(qū)塊鏈必須是公正的,并且嚴格執(zhí)行由軟件制定的規(guī)則突诬。如果規(guī)則不足以阻止不良行為苫拍,那么是你運氣不好。這里沒有法律的“精神”旺隙∪藜看似簡單的處理惡意或行為不端的人,都可能需要持續(xù)很長一段時間蔬捷。
所有的升級都是自愿的
強制升級是不可能的垄提。網(wǎng)絡(luò)上的其它玩家沒有義務(wù)改變您的軟件。如果他們這樣做周拐,這樣一個系統(tǒng)將更容易铡俐、更快、更便宜地構(gòu)建為一個中心化的系統(tǒng)速妖。區(qū)塊鏈的重點在于它不在單一實體的控制之下高蜂,它是反對強制升級的。
相反罕容,所有的升級都必須向后兼容备恤。這顯然是非常困難的,特別是如果你想添加新的功能锦秒,并且從測試的角度來考慮會更加困難露泊。軟件的每個版本都將極大的增加測試矩陣并延長發(fā)布時間。
再一次的旅择,如果這是一個中心化的系統(tǒng)惭笑,這些都將很容易通過不再為舊系統(tǒng)服務(wù)來糾正。而在一個去中心化的系統(tǒng)中,你不能這樣做沉噩,你甚至根本不能強迫任何人做任何事捺宗。
擴展是非常難的
最后,擴展要比一個傳統(tǒng)的中心化的系統(tǒng)困難至少幾個數(shù)量級川蒙。原因也很明顯蚜厉。同樣的數(shù)據(jù)必須存在于幾百或幾千個地方,而不是一個地方畜眨。傳輸昼牛、驗證和存儲的開銷都是十分巨大的,因為數(shù)據(jù)庫的每個副本都必須付錢康聂,而不是在傳統(tǒng)的中心化的數(shù)據(jù)庫中一樣僅支付一次這些成本贰健。
當(dāng)然,你可以通過減少節(jié)點數(shù)了來減輕負擔(dān)恬汁。但是伶椿,如果那樣考慮的話,你為什么還需要一個去中心化的系統(tǒng)呢氓侧?如果擴展的成本是首要考慮的問題的話悬垃,為什么不直接建立一個中心化的數(shù)據(jù)庫呢?
中心化會容易得多
如果你注意到一個主題甘苍,那就是分散系統(tǒng)很難合作,維護費用昂貴烘豌,難以升級同時難以擴展载庭。與區(qū)塊鏈相比,中心化的數(shù)據(jù)庫更快廊佩,更便宜囚聚,更容易維護而且更易于升級。那么标锄,為什么人們繼續(xù)使用區(qū)塊鏈這個詞好像它是解決所有問題的萬能藥顽铸?
首先,很多這些在區(qū)塊鏈上銷售的行業(yè)對于IT基礎(chǔ)設(shè)施升級而言確實過氣了料皇。衛(wèi)生保健使用的軟件確實非常糟糕谓松。財務(wù)結(jié)算仍然在70年代的軟件上運行。供應(yīng)鏈軟件難以使用且難以安裝践剂。由于涉及風(fēng)險鬼譬,大多數(shù)這些行業(yè)的公司都拒絕升級。戊戍的基礎(chǔ)設(shè)施升級費用高達數(shù)億美元逊脯,最終無論如何都會回滾优质。區(qū)塊鏈是銷售這些IT基礎(chǔ)架構(gòu)升級的一種方式,讓它們看起來更有吸引力。
其次巩螃,區(qū)塊鏈是一種看起來像處于技術(shù)前沿的方式演怎。不管你喜不喜歡,“區(qū)塊鏈”這個詞已經(jīng)成為了一種生活避乏,很少有人真正理解它是什么爷耀,但大家希望使用這些詞來讓自己顯得更聰明。畏纲,就像“云”意味著別人的計算機,“AI”意味著調(diào)整后的算法盗胀,在這種情況下锄贼,“區(qū)塊鏈”意味著一個緩慢票灰、昂貴的數(shù)據(jù)庫。
第三宅荤,人們真的不喜歡政府對某些行業(yè)的控制屑迂,并且希望有一個不同于通常很慢且昂貴的法律框架的不同裁決機制冯键。對它們來說,“區(qū)塊鏈”實際上只是擺脫政府監(jiān)管的沉重工具的一種方式惫确。這超出了區(qū)塊鏈可以做的事情手报,區(qū)塊鏈不會奇跡般地消除人類之間的沖突。
結(jié)果是很多人在承諾中被夸大了改化,卻沒有真正理解它的能力和開銷。更糟糕的是陈肛,實際的技術(shù)細節(jié)和成本從很多風(fēng)險投資人和管理人員中抽象出來,以至于模糊了區(qū)塊鏈可以做什么和不可以做什么阳藻。這樣情況下的每個人都害怕說皇帝沒有衣服谈撒,認為自己在現(xiàn)有情況下是有的。
那么區(qū)塊鏈究竟有什么用處港华?
我們已經(jīng)確定了區(qū)塊鏈相對于中心化的數(shù)據(jù)庫而言是非常昂貴的了。所以你應(yīng)該使用區(qū)塊鏈的唯一原因是去中心化,也就是說臊岸,去除單點的故障或者控制帶來的影響尊流。
這自然意味著軟件或者數(shù)據(jù)庫不會經(jīng)常改變周圍的事物,如果有的話崖技。此外,升級和改變規(guī)則應(yīng)該有很大的不利之處瞎访。
大多數(shù)行業(yè)不是這樣的吁恍。大多數(shù)行業(yè)都需要新功能或升級,并根據(jù)需要自由更改和擴展伴奥。鑒于區(qū)塊鏈難以升級翼闽,難以改變并難以擴展拾徙,大多數(shù)行業(yè)對區(qū)塊鏈的使用并不多感局。
我們發(fā)現(xiàn)的一個例外是金錢蓝厌。與大多數(shù)工業(yè)用例不同古徒,如果資金不變拓提,資金會更好隧膘。不變和難以改變規(guī)則對金錢有利而不是損害疹吃。這就是為什么區(qū)塊鏈是比特幣工作的正確工具。
很明顯萨驶,很多希望使用區(qū)塊鏈的公司并不是真的想要區(qū)塊鏈,而是IT升級到他們特定的行業(yè)叁温。這一切都很好,但是使用“區(qū)塊鏈”這個詞來達到目的就是不誠實和過度使用它的能力膝但。
結(jié)論
區(qū)塊鏈是當(dāng)今流行的術(shù)語,不幸的是莺奸,這種“區(qū)塊鏈不是比特幣”的文化基因不會消亡冀宴。如果你是一個中心化的服務(wù),區(qū)塊鏈不會給你帶來任何不便于中心化數(shù)據(jù)庫使用的方式氧腰。如果你是一個去中心化的服務(wù)刨肃,那么你可能會自欺欺人,而不會考慮系統(tǒng)中存在的單點故障真友。然而在真正的去中心化服務(wù)中根本沒有“你”。
[image:E58652D7-CDD8-4DC8-A688-ED3224792E0C-13337-0001CF813F45D2D1/84ABF715-2ABD-46A5-AECB-0DD488BE086D.png]
整篇文章中最大的笑話
早在2000年初桅打,科技行業(yè)的許多高管就推動使用Java和XML愈案。盡管這兩件事是工具而不是實際產(chǎn)品,但許多高管堅持使用它們站绪,不管它們的工程師嘗試的時候發(fā)現(xiàn)有多么的難用恢准。區(qū)塊鏈非常相似。重點關(guān)注你正在解決的問題馁筐,這些工具將使他們自己顯而易見。專注于你想要使用的工具果正,你最終會制造Rube Goldberg機器,這些機器不會做任何特別好的事情舱卡。
從某種意義上說,目前區(qū)塊鏈的概念正試圖完成一些不可能的任務(wù)矫钓。他們希望通過中心化的控制獲得去中心化系統(tǒng)的安全性舍杜。愿望是同時得到兩個世界中最好的,但他們最終得到的是兩個世界中最糟糕的概龄。通過中心化系統(tǒng)的失敗模式饲握,您可以獲得去中心化系統(tǒng)的成本和難度。
區(qū)塊鏈被用來作為流行詞來銷售大量無用的蛇油救欧。我們擺脫炒作的速度越快,長遠來說我們都會變得更好铝耻。