為什麼區塊鏈發展舉步維艱的原因有哪些?
—————————————
4791字,約需12分鐘閱讀
建議挑選適合精讀時間段閱讀
—————————————
導言:
( 沉下心來閱讀本篇文章,會對你在以後的專案投資起到指導性作用 )
目前圍繞在區塊鏈周圍的炒作氛圍是巨大的,我們時常聽到說,區塊鏈會有這些作用:
1.解決收入不平等問題
2.保證所有資料的安全性
3.增加信任與提高效率
4.拯救垂死的嬰兒
無論如何,區塊鏈到底是什麼?它真的可以做到所有的這些事情嗎?區塊鏈真的能為醫療,金融,供應鏈管理和版權等諸多行業帶來驚人的改變和發展嗎?
並不是說你持有了比特幣就很瞭解區塊鏈了,那我們怎麼能 深入瞭解區塊鏈技術背後深處的技術與內容呢?
在本文中,我試圖通過分析和解釋什麼是區塊鏈以及更為重要的什麼是偽區塊鏈來回答所有的這些問題
本文來源於Medium,原作者:Jimmy Song;譯者:Anakin
1
什麼是區塊鏈
為了研究區塊鏈技術的一些主張,我們必須定義區塊鏈到底是什麼,這裡存在很多混亂。
許多公司使用“區塊鏈”這個詞來宣傳某種裝置如何的神奇,通過這種裝置,所有資料永遠都不會出錯。但是,在現實世界裡,截止目前為止,這樣的所謂的裝置是不存在的。
什麼是區塊鏈?從技術上講, 狹義 來講,區塊鏈是一種按照時間順序將資料區塊以順序相連的方式組合成的一種鏈式 資料結構 , 並以密碼學方式保證的不可篡改和不可偽造的分散式賬本。如果您不理解最後一句話,您可以將區塊鏈視為資料庫的子集,並具有一些其他屬性。
區塊鏈與普通資料庫的主要區別在於:將資料放入資料庫的特定規則不同。也就是說,它不能與已經存在於資料庫中的其他資料(一致)衝突,它只是附加(不可變),資料本身被鎖定到所有者(擁有),它是可複製的和可用的。最後,每個人都同意資料庫中的事物的狀態(規範)沒有中心(分散,去中心化)。
最後一點(去中心化)是區塊鏈的精髓所在。權力下放非常具有吸引力,因為它意味著沒有單一的失敗點。也就是說,沒有任何一個機構和組織能夠剝奪個人的資產或改變“歷史”以滿足他們的需求。基於這種不可改變的審計跟蹤,你不必信任任何人,這是使用區塊鏈技術的每個人都可以得到的好處。然而,得到這種好處需要很高的成本。
2
區塊鏈的成本
任何一方不受控制的不可篡改且可追溯的系統肯定是有用的,但建立這樣一個系統需要很多成本。我們來看看一些問題。
發展更加嚴格和緩慢
建立一個可證明的一致系統並非易事。一個極小的錯誤都可能會破壞整個資料庫或導致某些資料庫與其他資料庫不同。當然,損壞或拆分的資料庫不再具有任何一致性保證,也就不再具有價值。此外,所有的這些系統必須從一開始就設計成一致的。區塊鏈沒有有“快速前進,打破常規”的概念和屬性,所有程序都得按部就班,一步一步構架。如果你破壞了,就會使得系統失去一致性,這個區塊鏈系統就會變得一文不值,不能再被利用。
你可能在想,為什麼不能只修復資料庫或重新開始並繼續前進?在中心化系統中這一點很容易做到,但在分散式系統中要做到這一點則非常困難。首先你和系統中的所有節點需要達成共識,經過系統中所有參與者的同意才能更改資料庫。因為區塊鏈是不受單個組織和中心控制的分散式的公共資源,沒有形成共識那麼建立集中式資料庫的整個工作將會變得十分緩慢且非常昂貴。
激勵結構很難設計
區塊鏈系統要設計一個合理的通證模型(即激勵結構)並確保系統中的所有參與者不會濫用或破壞資料庫同樣是一個需要慎重考慮的方面。區塊鏈系統本身可能是一致高效的,但如果在系統內部包含大量無聊,無用的資料,那麼這個系統就不具有應有的價值,因為要將資料接入到區塊鏈系統中其成本是非常低的。雖然資料上鍊要耗費一定的成本,但是如果系統中幾乎沒有有價值的資料,那麼這個區塊鏈系統也不會發揮其應有的作用。
什麼賦予資料的最終性?你該如何確保激勵機制與整個區塊鏈系統執行的最終目的是保持一致的?為什麼節點會保留或更新資料?是什麼讓他們在衝突時選擇其中的一個數據而不是另一個?這些都是需要好好解釋一番的激勵性問題,它們不僅需要在開始時保持一致,而且需要在未來隨著技術和組織的變動而保持一致,否則整個區塊鏈系統就變得毫無價值了。
再者,你可能想知道為什麼你不能“修復”一些分歧和bug。再次敲黑板,“修復”在中心化系統中很容易實現,但在分散式系統中,如果沒有達成某一共識,你就無法修改任何資料,改變任何事情。除非得到所有人的同意,否則沒有“修復”任何東西。
維護成本很高
傳統的中心化資料庫只需要輸入一次。而區塊鏈系統需要成千上萬次。
傳統的中心化資料庫只需要檢查一次資料。區塊鏈需要成千上萬次地檢查資料。
傳統的集中式資料庫只需傳輸一次資料即可儲存。區塊鏈需要傳輸成千上萬次。
維護區塊鏈系統的成本要高出傳統中心化資料庫幾個數量級。
3
使用者擁有獨立自主權
這是區塊鏈的一個非常好的屬性,因為公司和集體從來都不想擔擁有使用者資料的責任。但是,如果使用者“行為不端”情況就不妙了。系統沒有辦法摒棄和篩除那些用無用的資料向整個區塊鏈系統傳送垃圾資訊的使用者,或者剔除掉那些找到了系統bug並用bug來獲利的那些使用者,這會給其他使用者帶來很多麻煩。上文中我有講到,一個優秀的通證模型設計是十分重要的,如果有一個優秀的激勵模式,使用者就會在通過系統獲得獎勵和利用bug獲得利益之間進行取捨,選擇獲利更多的方式,那麼如果我們的激勵模式足夠合理和優秀,使用者就不會選擇利用bug獲取利益。
你可能會認為區塊鏈系統可以簡單地拒絕向惡意使用者提供服務,還是那句話,這在中心化服務中是非常容易做到,因為某個組織和個體掌握著生殺大權。但是,與中心化服務不同,在分散式網路中要拒絕想某一個節點或者說使用者提供服務是困難的,因為沒有任何一個人或實體有權將任何人踢出去。因為區塊鏈必須是公正的,並執行在創世階段寫下的規則(即憲法)。如果規則不足以阻止不良行為,那麼只能通過所有人與所有節點達成一致共識,等到所有人同意之後才能修改規則。
所有升級都是自願的
強制升級在傳統網路中或許是常態化現象。整個區塊鏈網路中的的其他節點沒有權利也沒有義務來更改其他個體的軟體。如果他們能夠這樣做了,這樣的系統就和傳統的中心化系統沒什麼兩樣了。所以區塊鏈的精髓就在於它不受任何單個實體的控制,並且強制升級會違反“憲法精神”。
相反而言,所有的升級都必須向後相容。這顯然是一件十分有難度的事情,特別是你為了系統更好發展考慮,想著要增加一些新功能和新升級時。所以區塊鏈的系統的每一次升級都需要花費很長時間去測試去驗證,直到最後釋出。
如果這是一箇中心化系統,事情就變得簡單了,我們可以選擇直接不為使用舊版本的使用者提供服務,完成快速升級,但是,這與區塊鏈的精神是相悖的。
分散式系統執行成本巨大
最後,區塊鏈系統顯然要比傳統的中心化系統更難縮放幾個數量級。答案很明顯,在分散式系統中,相同的資料必須存在於數百或數千個節點伺服器之中而不是單個伺服器。
無論是傳輸,還是驗證和儲存,耗費都十分巨大,因為分散式網路中的每一個節點都需要將某個同樣的資料運算驗證一遍,而不像傳統的中心化伺服器,一個數據只需要運算一遍就可以了。
當然,我們可以通過減少節點數來減輕負擔。但既然這樣我們要建立一個分散式的系統呢?如果擴充套件的成本成為了主要關注點,那麼為什麼不建立一箇中心化資料庫呢?
4
中心化要容易得多
如果你注意到一個要點,那就是分散式系統執行和維護的成本很高,拓展和升級也十分麻煩。與區塊鏈相比,中心化資料庫更快,更便宜,更易於維護且更易於升級。
那麼為什麼那麼多人對“區塊鏈”趨之若鶩呢?
首先,首先,許多可以用區塊鏈技術進行升級的行業早就該升級軟體和基礎設施了。醫療保險是眾所周知低可信度的行業。而財務結算目前很多企業和組織仍在使用70年代的軟體。供應鏈管理軟體即難用也難安裝。由於涉及一定的風險,這些行業的大多數公司和組織都抵制升級軟體和基礎設施。有許多的基礎架構升級需要花費數億美元,而區塊鏈技術顯然是解決以上所有問題的一劑良藥。
其次,“區塊鏈’給人的感覺就很高大上。無論你喜歡與否,“區塊鏈”這個詞已經具有了自己的靈魂。其實很少有人真正理解它到底是什麼,但有些人想要顯得與時俱進,所以借使用這些詞作為一種讓自己聽起來更高大上一點。
就像“雲”意味著使用別人的伺服器和計算機;“AI”其實就是是一個經過調校的演算法,同樣我們可以這樣說,“區塊鏈”意味著一個緩慢,昂貴的資料庫。
第三,全世界點的人民對政府在某些方面的壟斷和霸權是十分厭惡的和牴觸的(貨幣啊,個人資料啊),並且希望採用與現有的法律框架不同的裁決機制,而法律框架通常既緩慢又昂貴。對他們而言,“區塊鏈”實際上是擺脫霸權的一種方式。但實際上這超出了區塊鏈的作用。反正到目前為止,區塊鏈技術並沒有解決人性和現實中的一些問題。
所以導致的結果是很多人在沒有真正理解區塊鏈技術的內涵之下大肆炒作和宣傳以及圈錢。更糟糕的是,為了炒作,目前市場上宣傳的很多概念都是傳統的風投公司為了盈利而從傳統行業生搬硬套過來的,以掩蓋目前區塊鏈技術的一些缺陷。這跟皇帝的新衣一樣,很多東西都是沒有的,結果所有人都在哄騙,都在編造。
5
那麼區塊鏈技術到底能為我們帶來什麼益處呢
我們已經確定了分散式系統相對於中心化資料庫而言成本很高。所以你使用用區塊鏈的唯一理由就是“分散式”,也就是說,消除霸權主意和躲避因某個節點癱瘓導致整個系統癱瘓的後果。
這自然意味著軟體或資料庫不可以經常改變。對於區塊鏈系統,升級沒有什麼好處,因為破壞和修改規則存在許多負面影響。
然後大多數行業都不是這樣的。大多數行業都需要新功能和升級,並可根據自身需要自由更改和擴充套件。鑑於區塊鏈難以升級,難以改變且難以擴充套件,大多數行業其實不是適用於使用區塊鏈技術改造更新。
我們發現的一個例外是貨幣和金融。與大多數工業落地場景不同,貨幣的不可改變屬性將會使貨幣更值得被稱為“貨幣”。規則的不可變性和改變改動成本昂貴這些屬性對貨幣而言是相當積極的。
這就是為什麼比特幣這一數字貨幣在全球範圍內達成了共識。
很明顯,很多追逐區塊鏈技術的公司其實根本不適用用區塊鏈技術完全改造,他們只是需要使用特定的技術對其特定行業進行IT升級。但濫用“區塊鏈”這個詞來達到不可告人的目的是遭人厭惡的。
結論
現如今,區塊鏈是一個十分流行的詞。
如果你需要的是一箇中心化的服務,區塊鏈不能為你提供任何比使用中心化資料庫更便捷的益處。如果你需要的是一個分散式的服務,那麼你可能會自欺欺人,而不是考慮系統中存在的單點故障。在真正的分散式服務中根本就沒有“你”這個概念
早在2000年初,科技行業的許多高管就曾經有推動Java和XML餓使用。儘管這倆在當時只是工具而不是實際產品,但許多高管堅持使用它們,不管它們的工程師嘗試的時候發現它們是有多麼的難用。
區塊鏈現在的處境和他們非常相似。我們需要重點關注我們現在需要解決的問題,那麼這些工具是否真的有用將變得顯而易見。而如果我們只是專注於我們執著想要使用的工具,那麼我們最終只會製造出Rube Goldberg*機器,狗屁不是。
從某種意義上說,目前區塊鏈的概念正被用於試圖去完成一些不可能的任務。有些人希望通過中心化的控制獲得去中心化系統的安全性。願望是折中並集中兩方各自的優點,但這樣做得到的東西可能也是最為失敗的。即花費了構建去中心化系統的成本和代價得到一個比中心化系統還不如的破爛(這裡就不點名一些公鏈和專案了- - )。
區塊鏈被傳銷大肆利用的現象數不勝數。 區塊鏈概念擺脫炒作的速度越快,區塊鏈真正成長的步子才會越大。
*注: 魯布·戈德堡機械 ( Rube Goldberg machine )是一種被設計得過度複雜的機械組合,以迂迴曲折的方法去完成一些其實是非常簡單的工作,例如倒一杯茶,或打一顆蛋等等。