圍繞區(qū)塊鏈的宣傳是聲勢浩大的。有關區(qū)塊鏈的宣傳是,區(qū)塊鏈將會:
解決收入不平等
確保所有數(shù)據(jù)永遠安全
讓一切變得更加高效和更可靠
拯救垂死的嬰兒
到底什么是區(qū)塊鏈?它真的能做所有這些事情嗎?區(qū)塊鏈能給醫(yī)療、金融、供應鏈管理和音樂權利等不同的行業(yè)帶來驚喜嗎?
那么,對于比特幣來說,這是否意味著是支持區(qū)塊鏈的呢?對于比特幣,你怎么能不說它背后的技術有什么不好的地方呢?
在本文中,我試圖通過查看區(qū)塊鏈是什么和不是什么,來回答許多這樣的問題。
什么是區(qū)塊鏈?
為了研究其中的一些說法,我們必須給區(qū)塊鏈下定義,這里有許多混淆之處。許多公司使用“區(qū)塊鏈”這個詞來表示某種神奇的設備,以此向用戶表達出,他們的所有數(shù)據(jù)都不會出錯。當然,至少在涉及到現(xiàn)實世界的時候,這樣的設備是不存在的。
那么什么是區(qū)塊鏈呢?從技術上講,區(qū)塊鏈是一個塊的鏈表,一個塊是一組有序的事務。如果您不理解最后一句話,您可以將區(qū)塊鏈看作是數(shù)據(jù)庫的一個子集,在這個數(shù)據(jù)庫還有一些額外的屬性。
區(qū)塊鏈和普通數(shù)據(jù)庫的主要區(qū)別是,對于如何將數(shù)據(jù)放入數(shù)據(jù)庫,有一些特定的規(guī)則。也就是說,它不能與數(shù)據(jù)庫中已經(jīng)存在的其他數(shù)據(jù)沖突,它是只追加的不可變的,并且數(shù)據(jù)本身被鎖定到所有者的話它是可復制的和可用的。最后,數(shù)據(jù)庫不是去中心化的。
這最后一點才是區(qū)塊鏈存在的真正意義。權力下放非常具有吸引力,因為它意味著不存在單一的失敗點。也就是說,沒有任何一個機構能夠拿走你的資產(chǎn)或改變歷史來滿足他們的需求。在這種不變的審計線索中,你不需要相信任何人,這就是每個人使用這種技術所追求的好處。然而,這種好處的代價是巨大的。
區(qū)塊鏈的成本
不受任何一方控制的不可變審計跟蹤肯定是有用的,但是創(chuàng)建這樣一個系統(tǒng)需要付出很多代價。讓我們來研究一下其中的一些問題。
發(fā)展更加嚴格且緩慢
創(chuàng)建一個可證明一致的系統(tǒng)不是一件容易的工作。一個小錯誤會破壞整個數(shù)據(jù)庫,或者導致某些數(shù)據(jù)庫與其他數(shù)據(jù)庫相沖突。當然,損壞或拆分的數(shù)據(jù)庫不再具有任何一致性保證。此外,所有這類系統(tǒng)都必須從一開始就設計得前后一致。在區(qū)塊鏈中沒有“快速移動就能避免破壞的東西”。如果你破壞了東西,你就會失去一致性,區(qū)塊鏈就會被破壞,然后變得毫無價值。
您可能會想,為什么不直接修復數(shù)據(jù)庫或重新開始并繼續(xù)前進呢?這在集中式系統(tǒng)中是很容易做到的,但在分散式系統(tǒng)中則很難做到。為了更改數(shù)據(jù)庫,您需要一致的意見,或者系統(tǒng)中所有參與者的同意。因為區(qū)塊鏈必須是一個公共資源,不在單個實體的控制之下。
激勵結(jié)構難以設計
增加適當?shù)莫剟罱Y(jié)構,并確保系統(tǒng)中的所有行為者都不濫用或破壞數(shù)據(jù)庫,也是一個重要的考慮因素。一個區(qū)塊鏈可能是一致的,但是如果它有很多瑣碎的、無用的數(shù)據(jù),那就不是很有用了,因為將數(shù)據(jù)放入其中的成本非常高。
是什么給出了數(shù)據(jù)的最終結(jié)論?如何確保獎勵與網(wǎng)絡目標一致?為什么節(jié)點要保持或要更新數(shù)據(jù), 以及當它們處于沖突中時, 是什么使它們選擇了一致性的數(shù)據(jù)?這些都是需要解決的具有激勵性的問題, 數(shù)據(jù)不僅需要在一開始, 而且要在未來的所有點上都是一致的, 否則區(qū)塊鏈將沒有意義。
同樣, 你可能會想知道為什么你不能 “修復” 一些破碎的獎勵。再一次說明, 這在集中式系統(tǒng)中很容易實現(xiàn), 但在一個分散的體系中, 你根本無法在沒有共識的情況下改變?nèi)魏问虑?。除非每個人都同意, 否則沒有 你改變?nèi)魏螙|西的權利。
維護成本很高, 傳統(tǒng)的集中式數(shù)據(jù)庫只需要寫入一次。而區(qū)塊鏈需要寫上上千遍。傳統(tǒng)的集中式數(shù)據(jù)庫只需要檢查一次數(shù)據(jù)。而區(qū)塊鏈需要對數(shù)據(jù)進行上千次檢查。傳統(tǒng)的集中式數(shù)據(jù)庫只需要傳輸一次存儲數(shù)據(jù)。而區(qū)塊鏈 需要將數(shù)據(jù)傳輸上千次。
維持 區(qū)塊鏈 的成本是很高的。大多數(shù)應用程序在查找前面所述的一些屬性時, 如一致性和可靠性, 可以使用完整性檢查、收據(jù)和備份更便宜地獲得這些東西。
用戶主權
公司都不喜歡為用戶的數(shù)據(jù)承擔責任。但是, 如果用戶 “行為不端”, 這可能會很糟糕。沒有辦法趕走那些用瑣碎數(shù)據(jù)發(fā)送區(qū)塊鏈的用戶,或者想出一種以某種方式獲利的方式,這會給其他用戶帶來很多不便。這與上述的觀察相關聯(lián),即激勵結(jié)構必須設計得非常非常好,那么用戶不太可能放棄,特別是當用戶有利潤的時候。
您可能會想,您可以簡單地拒絕對惡意用戶的服務,這在集中式服務中是很容易做到的。但是,與集中式服務不同,在區(qū)塊鏈中拒絕服務是困難的,因為沒有一個實體有權將任何人踢出。區(qū)塊鏈必須公正并執(zhí)行軟件定義的規(guī)則。如果這些規(guī)則不足以阻止不良行為,那你就倒霉了。這里沒有法律的“精神”。你在處理惡意或行為不端的演員,可能需要很長時間。
所有升級都是自愿的
強制升級不是一個好的選項。網(wǎng)絡上的其他玩家沒有義務更改您的軟件。如果他們這樣做,這樣系統(tǒng)將更容易、更快和更便宜地作為一個集中的系統(tǒng)來構建。區(qū)塊鏈的意義在于,它不在單個實體的控制之下,并且所有用戶都不能給被強制升級。
相反,所有升級必須是向后兼容的。這顯然是相當困難的,尤其是如果您想添加新特性,并且從測試的角度進行思考時更難。軟件的每個版本都為測試矩陣增加了很多內(nèi)容,并延長了發(fā)布時間。
同樣,如果這是一個集中式系統(tǒng),那么不再維護較舊的系統(tǒng)就很容易糾正這一點。但是,在一個分散的系統(tǒng)中,您不能強迫任何人做任何事情。
縮放真的很難
最后,與傳統(tǒng)的集中式系統(tǒng)相比,擴展至少要困難幾個數(shù)量級。原因很明顯,因為同樣的數(shù)據(jù)必須存在于數(shù)百個或數(shù)千個地方,而不是在一個地方。傳輸、驗證和存儲的開銷是巨大的,因為數(shù)據(jù)庫的每一個副本都必須進行支付,而不是在傳統(tǒng)的集中式數(shù)據(jù)庫中只支付一次這些費用。
當然,您可以通過減少節(jié)點數(shù)量來減輕負擔。但到了那個時候,為什么你還需要一個分散的系統(tǒng)呢?為什么不建立一個集中式數(shù)據(jù)庫?
集中管理要容易得多
如果你注意到分散式系統(tǒng)很難使用,維護費用高,升級困難,規(guī)模大的痛苦,集中式數(shù)據(jù)庫比區(qū)塊鏈更快、更便宜、更容易維護和升級的話。那么,為什么人們總是用“區(qū)塊鏈”這個詞來進行標桿,好像它是解決他們所有問題的靈丹妙藥呢?
首先,許多在區(qū)塊鏈上出售的行業(yè)確實早就該升級IT基礎設施了。70年代以來,財務結(jié)算仍在軟件上運行,供應鏈管理軟件既難以使用,也難以安裝。這些行業(yè)的大多數(shù)公司都會因為涉及的風險而抵制升級。有許多基礎設施進行了升級,花費了數(shù)億美元,但最終還是被打回原形了。因此,區(qū)塊鏈是一種銷售這些IT基礎設施升級的方式,區(qū)塊鏈會使它們更有吸引力。
其次,區(qū)塊鏈是一種讓你看起來像是處于科技前沿的技術。不管你喜不喜歡,“區(qū)塊鏈”這個詞已經(jīng)有了自己的生命。很少有人真正理解它是什么,但想顯得時髦,所以用這些詞來讓自己聽起來更加的牛。就像“云”指的是別人的電腦,“AI”指的是經(jīng)過調(diào)整的算法,“區(qū)塊鏈”在這個上下文中意味著一個緩慢而昂貴的數(shù)據(jù)庫。
第三,人們確實不喜歡政府對某些行業(yè)的控制,他們希望有一個不同于法律框架的審判機制,而后者通常既慢又費錢。對他們來說,“區(qū)塊鏈”只是擺脫政府管制機器的一種方式。這就是區(qū)塊鏈的作用。但是區(qū)塊鏈并不能神奇地帶走人類的沖突。
結(jié)果是許多人在沒有真正了解能力或成本的情況下就被這些承諾炒作了。更糟糕的是,實際的技術細節(jié)和成本從很多風投和高管那里被抽象出來,從而掩蓋了區(qū)塊鏈可以做什么和不能做什么。
那么區(qū)塊鏈有什么用呢?
我們已經(jīng)證明了區(qū)塊鏈相對于集中式數(shù)據(jù)庫來說是非常昂貴的。所以你還想使用區(qū)塊鏈的唯一原因是其具有分散化。
這自然意味著軟件或數(shù)據(jù)庫一定不能經(jīng)常改變周圍的東西,如果有的話。升級應該沒有什么好處,并且搞砸或改變規(guī)則也有很多壞處。
大多數(shù)行業(yè)都需要新的功能或升級,以及在必要時有能夠進行更改和擴展的自由??紤]到區(qū)塊鏈難以升級、難以改變、難以規(guī)模化,大多數(shù)行業(yè)對區(qū)塊鏈的使用并不多。
我們發(fā)現(xiàn)的一個例外是“錢”。與大多數(shù)工業(yè)用例不同,如果不能夠進行改變,錢會更好。規(guī)則的不變性和困難性對金錢是正面的,而不是有害的。這就是區(qū)塊鏈在比特幣問題上是合適的工具的原因。
我們必須明確一點的是,許多希望使用區(qū)塊鏈的公司并不真正想要一個區(qū)塊鏈,只是信息技術升級到它們的特定行業(yè)了。這一切都很好,但是用“區(qū)塊鏈”這個詞來達到這個目的是不顯示的,因為這會過度消耗企業(yè)的能力。
結(jié)論
區(qū)塊鏈是最近很流行的術語,不幸的是,這種“區(qū)塊鏈而非比特幣的”模因不會消亡。如果您是一個集中式的服務,那么區(qū)塊鏈就不能為您提供比集中式數(shù)據(jù)庫便宜一千倍的東西。如果您是一個分散的服務,那么您可能是在愚弄您自己,因為你沒有考慮到系統(tǒng)中存在的單一故障點。在一個真正分散的服務中根本不會只有你存在。
早在2000年代初,科技行業(yè)的許多高管都在推動使用Java和XML。盡管這個都是工具而非實際產(chǎn)品,不管工程師們達到的目標有多么糟糕,許多高管堅持使用它們。區(qū)塊鏈很像這樣產(chǎn)品。如果,把注意力集中在你正在解決的問題上,工具就會很容易地顯現(xiàn)出來。把注意力集中在你想要使用的工具上,你最終會生產(chǎn)出像Rube Goldberg這樣的機器,而這些機器不會做得特別好。
從某種意義上說,現(xiàn)在的區(qū)塊鏈概念是在試圖做不可能的事情。他們希望分散式系統(tǒng)的安全性與集中式系統(tǒng)的控制相統(tǒng)一。他們想的是要利用這兩種系統(tǒng)中最好的,但他們最終得到的卻是兩個系統(tǒng)中最糟糕的。
區(qū)塊鏈作為一個時髦的詞來進行炒作。因此,我們要盡快擺脫這種炒作,然后使自身越來越好就可以了。
評論
查看更多