為什麼我們說區塊鏈沒有那麼容易?

京東科技開發者發表於2019-11-11

為什麼我們說區塊鏈沒有那麼容易?

近年來,圍繞區塊鏈的討論聲音越來越大,區塊鏈的作用也被誇得越來越大,有人說區塊鏈現在可以:
1、幫助解決收入不平等的問題
2、確保所有資料的安全
3、讓很多事情都可以變得更加高效和更加去信任化
區塊鏈到底是個什麼?它真的如大家所說的那麼神秘且厲害嗎?區塊鏈真的能給諸如醫療保健、金融、供應鏈管理和音樂版權等各種各樣的行業帶來變革嗎?認同比特幣不就意味著你要支援區塊鏈嗎?你怎麼能只認同比特幣而否認其背後的技術呢?在本文中,我試圖透過討論區塊鏈究竟是什麼,來了解以上的這些問題。

什麼是區塊鏈?

首先,我們需要來看看區塊鏈的定義是什麼?
有許多的公司會使用“區塊鏈”一詞來表示某種資料永遠不會出現安全問題的神奇“裝置”。但其實我們都知道,至少在現在的這個時代,這種裝置是不存在的。

為什麼我們說區塊鏈沒有那麼容易?

那麼什麼是區塊鏈?從技術上講,區塊鏈是區塊的連結串列,而區塊是一組有序交易。如果你不理解最後一句話,可以將區塊鏈視為資料庫的子集,並具有一些其他屬性。
區塊鏈和普通資料庫的主要區別是,關於如何將資料放入資料庫的規則。也就是說,它不能與資料庫中已有的某些其他資料(一致)衝突,它只能追加(不可變),並且資料本身被鎖定為所有者(可擁有),是可複製且可用的。最後,每個人都同意在沒有中央參與者(去中心化)的情況下資料庫中事物的狀態(規範)。
“分權”確實是區塊鏈非常有吸引力的一部分,因為它意味著沒有單點故障。也就是說,沒有任何一個權威機構能夠拿走你的資產或更改“歷史記錄”以滿足他們的需求。你無需信任任何人的這條不變的審計線索就是使用這項技術的每個人都在尋努力達到的益處。然而,這種好處卻需要付出巨大的代價。

區塊鏈的成本

不受任何一方控制的不變的審計跟蹤無疑是有用的,但是建立這樣一個系統要付出很多成本。讓我們先來看看一些問題。

發展更嚴格和緩慢

建立可證明一致的系統並非易事。一個小錯誤可能會破壞整個資料庫或導致某些資料庫與其他資料庫不同。當然,已損壞或拆分的資料庫不再具有任何一致性保證。此外,所有此類系統必須從一開始就進行設計以保持一致。區塊鏈中沒有“快速行動並打破事物”。如果你破壞事物,則會失去一致性,並且區塊鏈將變得毫無價值。

為什麼我們說區塊鏈沒有那麼容易?

你可能在想,為什麼不能只修復資料庫或重新開始並繼續前進?在集中式系統中這樣做很容易,但是在分散式系統中則很難。你需要達成共識,或者獲得系統中所有參與者的同意才能更改資料庫。區塊鏈必須是不受單個實體控制的公共資源(去中心化,還記得嗎?),否則整個工作是建立緩慢的集中式資料庫的一種非常昂貴的方法。

激勵結構設計不易

新增正確的激勵結構並確保系統中的所有參與者都不能濫用或破壞資料庫也是一個重要的考慮因素。區塊鏈可能是一致的,但是如果其中有很多瑣碎、無用的資料,那麼這並不是很有用,因為將資料放入其中的成本非常低。如果幾乎沒有資料,那麼一致的區塊鏈也沒有用,因為將資料放入其中的成本太高了。

為什麼我們說區塊鏈沒有那麼容易?

是什麼賦予資料最終性?你如何確保獎勵與網路目標一致?為什麼節點會保留或更新資料?當兩段資料衝突時,是什麼使它們選擇一段資料而不是另一段資料?
這些問題都都還有待探索、解答,區塊鏈不僅需要在開始時保持一致,還需要在未來的所有時間節點上保持一致。因為技術和公司會發生變化,否則區塊鏈就沒有用處。

維護非常昂貴

傳統的集中式資料庫只需寫入一次。區塊鏈需要被寫入數千次。傳統的集中式資料庫只需要檢查一次資料,區塊鏈則需要檢查數千次。傳統的集中式資料庫只需傳輸一次資料即可儲存,區塊鏈需要傳輸資料數千次。
維護區塊鏈的成本要高出幾個數量級,而且成本需要透過效用來證明。大多數應用程式在尋找前面提到的某些屬性(如一致性和可靠性)時,可以透過完整性檢查、收據和備份來以更低的價格獲得這些東西。

使用者優先

這樣真的很好,因為企業不喜歡對使用者資料負責任。但是,如果使用者“行為不端”,這就不好了。你沒有辦法驅逐那些在區塊鏈上發大量垃圾資訊的人,又或者找到了一種方式,但它可能又會讓其他使用者有一些別的不便。
透過以上觀察結果我們可以得出相關結論:激勵結構必須設計得非常棒,在此激勵結構下,如果使用者發現了一個漏洞,尤其是如果還可以以此牟利的話,就不太可能放棄。
可能你會認為能拒絕為惡意使用者提供服務,這在中心化的服務中是非常容易的。
然而,與中心化服務不同的是,(在去中心化中)拒絕服務是困難的,因為沒有一個單一的實體有權力將任何人踢出去。區塊鏈必須是公正的,並強制執行由軟體所定義的規則。如果這些規則不足以阻止不良行為,那你就沒那麼幸運了。這裡沒有法律的“精神”。即使你需要簡單地處理惡意的或行為不端的執行者,可能也需要很長一段時間。

所有升級都是自願的

強制升級並不是一種好的選擇。網路上的其他人沒有資格來升級你的軟體。如果他們這樣做的話,這樣的系統將變得更加容易、快捷和低成本地去構建為集中式系統。區塊鏈的重點是,它不受單個實體的控制,而強制升級則違反了這個規則。

為什麼我們說區塊鏈沒有那麼容易?

相反,所有升級都必須向後相容。這顯然是相當困難的,特別是當你想新增新功能時,並且從測試角度考慮時將會變得更加困難。軟體的每個迭代版本都將會在測試矩陣中增加更多內容並將釋出時間推遲更久。
同樣,如果這是一個集中式系統,修復這樣一個不再為舊系統提供服務的系統將會變得很容易。但是在分散式系統中,你就無法如此簡單的操作了,因為你不能強迫任何人執行任何操作了。

擴充套件真的很難

最後,與傳統的集中式系統相比,擴充套件至少要困難幾個數量級。原因顯而易見。同樣的資料必須存在於成百上千個地方,而不再是儲存在同一個地方。傳輸、驗證和儲存的開銷都將會是巨大的,因為資料庫的每個副本都必須支付這些開銷,而不是像在傳統的集中式資料庫中那樣一次性支付這些開銷。
當然,你可以透過減少節點的數量來緩解這種負擔。但那時候,你又為什麼需要一個去中心化的系統呢?如果擴充套件成本是主要考慮的問題,那麼又為什麼不建立一個集中式資料庫呢?

中心化並不是易事

可能你會注意到這樣一個問題:去中心化的系統很難使用,維護起來又很貴,又很難升級,而且很難擴充套件。與區塊鏈相比呢,集中式資料庫更快、更便宜、甚至更容易維護和升級。那麼,為什麼人們總是使用區塊鏈這個詞,好像它是解決所有問題的靈丹妙藥?

為什麼我們說區塊鏈沒有那麼容易?

首先,許多在區塊鏈上進行銷售的這些行業確實早該進行IT基礎設施升級了。眾所周知,醫療保健軟體非常糟糕,它們的財務結算甚至仍在70年代的老舊軟體上進行,而供應鏈管理軟體既難以使用又難以安裝。這些行業的大多數公司因為害怕涉及風險而拒絕升級。許多基礎設施的升級耗費了數億美元,但最終還是被取消了。區塊鏈是銷售這些IT基礎設施升級的更具吸引力的一種方式。
其次,區塊鏈是一種使你看起來處於技術領先地位的方法。不管你喜歡與否,“區塊鏈”一詞都有自己的生命。很少有人真正理解它的含義卻想要顯得時髦,因此可以使用這些詞讓自己聽起來更聰明。就像“雲”表示別人的計算機,“AI”表示經過調整的演算法一樣,“區塊鏈”在這種情況下表示資料庫緩慢而昂貴。
結果是很多人在沒有真正理解能力或成本的情況下就大肆宣誓自己已經在使用區塊鏈。更糟糕的是,許多風險投資人和高管從中提取了實際的技術細節和成本,以至於模糊了區塊鏈可以做什麼和不能做什麼。他們下面的每個人都變得害怕說皇帝沒有衣服,而這,就是我們現在的狀況。

區塊鏈的優勢

我們已經確定,相對於集中式資料庫,區塊鏈的成本會高很多。因此,大多數人使用區塊鏈的唯一原因是去中心化。即,刪除單點故障或控制。
自然,這意味著軟體或資料庫一定不能經常更改(如果有的話)。升級應該沒有太大的上升空間,而搞砸或改變規則應該有很多下降空間。

為什麼我們說區塊鏈沒有那麼容易?

大多數行業都不是這樣。大多數行業需要新功能或升級,並且需要根據需要自由更改和擴充套件。鑑於區塊鏈難以升級,難以更改和難以擴充套件,大多數行業對區塊鏈的使用並不多。
但又一個例外——貨幣。與大多數工業用例不同,貨幣需要的是穩定。區塊鏈的不變性和更改規則的困難對貨幣是有利的。這就是為什麼區塊鏈是承載比特幣的正確工具的原因。
顯而易見的是,很多希望使用區塊鏈的公司實際上根本就不是真的需要區塊鏈,而是需要將特定行業的IT基礎設施進行升級。因此,他們口中的“區塊鏈”一詞是不誠實的,並且過度誇大了它的能力。

結論

如今,區塊鏈是一個流行的術語,不幸的是,這種“區塊鏈不是比特幣”的言論不會消失。如果你是集中式服務,區塊鏈則無法為你提供任何你無法使用集中式資料庫便宜一千倍的東西。如果你是去中心化服務,那麼你可能會自欺欺人,而不考慮系統中存在的單點故障。真正的去中心化服務根本不會有“你”。
原文連結:


目前,京東雲區塊鏈專案BDS已開源,同時還在招募開發者加入!點選 閱讀 可瞭解詳情
點選“ 京東雲 ”瞭解更多精彩內容

為什麼我們說區塊鏈沒有那麼容易?


以上資訊來源於網路,由“京東雲開發者社群”公眾號編輯整理,不代表京東雲立場。
為什麼我們說區塊鏈沒有那麼容易?


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2663461/,如需轉載,請註明出處,否則將追究法律責任。

相關文章