每日最新頭條.有趣資訊

說起來容易做起來難 區塊鏈實施需要注意哪些?

  來源:巴比特 

  現在到處都在討論區塊鏈,來聽聽那些談論區塊鏈的人是怎麽說的:區塊鏈現在已經可以解決收入不均衡的問題,可以讓數據永遠安全,讓所有事情更加有效率,並且無需信任。那麽到底什麽是區塊鏈呢?它真的是無所不能嗎?區塊鏈真地可以為類似醫療,金融,供應鏈管理和音樂版權行業帶來革新嗎?

  此文中,我會嘗試通過考慮區塊鏈究竟是什麽,還有更重要地,區塊鏈不能做什麽?從而回答這些問題。

  什麽是區塊鏈?

  為了回答這些問題,我們需要先定義什麽是區塊鏈,不然會造成很多的困擾。很多公司使用“區塊鏈”這個詞,來表明這是某種充滿魔術色彩的工具,有了區塊鏈,這些公司的數據就永遠不會出現錯誤。當然,這種東西是不存在的,至少在現實世界中是不可能的。

  那麽什麽是區塊鏈?嚴格來說,區塊鏈就是很多區塊相連接的鏈,每個區塊包含著轉账數據。如果你不理解最後一句,你可以將區塊鏈想象成數據庫相連接,在加上些更多的屬性。

  區分區塊鏈和普通數據庫的重要因素就是,在區塊鏈中將數據放入數據庫存在特殊的條件。那就是,輸入的新數據不可以和已經在裡面的數據有衝突(數據一致性),而且這些數據不可更改,數據本身和用戶鎖定在一起,這是可複製的以及有效的。最後,在沒有中心化個體的控制下,每個人都對數據庫中發生的事情達成共識。

  最後一點就是區塊鏈的核心。去中心化非常有吸引力,因為這暗示著不會存在任何的單點故障。也就是說,沒有任何的單個機構可以拿走你的資產,或者改變“記錄”來滿足他們的需求。這種不可更改性,使得你不需要去相信任何人,這對任何區塊鏈中的成員都是有益的。但是這份受益,卻需要付出很大的代價。

  區塊鏈的代價

  不被任何第三方控制的不可更改性能是非常有用的,但是對於創造這樣的系統,也需要很多的代價。我們來看看其中的一些問題。

  開發過程更加嚴格也更慢

  創建一個完全統一的系統並不是簡單的任務。很小的失誤都會使得整個數據庫被破壞,或者導致一些數據庫變得和其他的不同。當然,被破壞或者分裂的數據庫再也沒有任何統一性的保證。並且,所有這類系統都需要設計成從外部來看具有統一性。在區塊鏈中,並沒有“快速前進,打破常規)”的說法。如果你打破常規,你就失去了統一性,那麽區塊鏈就會變得破壞以及沒有價值。

  那麽也許你會想,為什麽你不能只是修複這個數據庫,或者重新啟動再推進了?在中心化的系統中,這很容易解決,但是在去中心化系統中卻非常困難。你需要系統中所有參與者的共識或者同意,來對數據庫進行修改。區塊鏈應該是開源的,並且不被任何中心化部門所控制。

  激勵制度設計有很大難度

  增加激勵制度,並且保證系統中所有的參與者都不會攻擊或者破壞數據庫,是非常值得考慮的事情。區塊鏈也許具有一致性,但是如果其中含有很多無用數據的時候,這就不會非常有用,因為將數據輸入的成本會非常低。也不會有任何具有一致性的區塊鏈會有用,如果其中不包含任何數據,因為將數據放入的代價非常高。

  那麽如何確保數據最終的準確性?你怎麽確保獎勵是和網絡的目標是一致的呢?為什麽節點要去維持或者更新數據,在有衝突的時候,他們為什麽要選擇其中一個?這些都是關於激勵的問題,現在需要解答,而且不止是在開始的時候需要統一好,後續隨著公司和技術的變化,也要時刻保持統一。不然區塊鏈就沒用了。

  而且,也許你想知道為什麽你不能修改一些有問題的激勵模式。再一次強調下,這在中心化系統中很容易實現,但是在去中心化系統中,在沒有達成共識的前提下,你不能修改任何東西。除非從每個人那邊獲得共識,不然你不能修改任何東西。

  維護非常花費成本

  傳統的中心化數據庫只需要寫入一次就可以。但是區塊鏈需要寫入幾千次,傳統的中心化數據可以只需要一次性檢測數據。區塊鏈需要檢查幾千次數據。傳統中心化數據庫需要只需要一次性將數據轉移到記憶體。區塊鏈則需要將數據轉移幾千次。

  維護區塊鏈的成本是數量級增長,而且這部分成本還需要根據使用性能進行更改。大多數應用都在追求之前說的一致性和穩定性等特性,但是如果使用完整性檢查,收據和備份,在成本上就會便宜很多。

  用戶為王

  這樣會很好,因為公司不喜歡將用戶的數據放在首要責任。但是如果用戶做出什麽不好的行為,這也非常不好,因為你無法將這個用戶踢出,或者指出這樣做會影響其他很多的便利性。

  以上可以說明,激勵制度的設計非常非常重要,可以使得用戶不想去放棄,特別是如果對這個用戶來說有利可圖。也許你會想說,你可以簡單地拒絕為欺詐者服務,這在中心化服務過程中很容易實現。但是,和中心化服務不同,在區塊鏈上拒絕服務很困難因為沒有任何個人有權利去將別人踢出。區塊鏈必須要遵守軟體中寫下的規則。如果這個規則不能懲罰不好的行為,那麽只能說你運氣不好。區塊鏈上,沒有“法律”的精神,你只能花費很長時間去處理惡意行為。

  所有的更新是自發的

  強製更新並不是選項。網絡上的其他人員沒有義務去更改你的軟體。如果他們這樣做,那麽不如打造更加容易,快速以及便宜的中心化系統。區塊鏈的關鍵在於它不受控制於單個主體,同時這也和強製更新相違反。

  但是,所有的更新都要和之前兼容。顯然這很困難,特別是當你想添加新的特性時,如果從測試角度來看,就更加困難了。每個版本的軟體都會添加很多的測試矩陣,也會花費更多的時間來進行釋放。

  擴容非常困難

  最後,在擴容性方面至少要比傳統中心化系統要難幾個數量級。原因很明顯。同樣的數據需要在成百上千個地方,而不是像中心化那樣,在同個地方。傳輸,驗證和存儲的開銷是很大的,因為區塊鏈上任何數據庫的複製都需要花錢,而不像中心化的數據庫那樣,只需要付費一次就可以。

  中心化會容易很多

  如果你發現這個問題,那就是去中心化的系統很難進行運作,維護也很昂貴,很難更新並且不容易擴容。中心化的數據庫和區塊鏈比起來,就會更加快速,便宜,容易維護並且更新也比較容易。那麽為什麽人們還要使用區塊鏈作為解決方案呢?

  首先,很多想要使用區塊鏈的行業,對於IT底層更新已經完全過時了。醫療行業有眾所周知地難用的軟體。金融結算還在用70年代的軟體。供應鏈管理軟體很難使用,也很難安裝。這些行業的很多公司拒絕去更新軟體,因為這會帶來很多風險。有很多底層更新,花費了數百位美元,但是最後又用回之前的軟體。區塊鏈可以幫助這些行業IT底層的更新。

  其次,區塊鏈讓你看起來是在科技的前端。其實很少人真地理解區塊鏈,但是都想要使用這些詞匯來讓自己聽起來顯得更加聰明。就好像“雲計算”意味著其他人的電腦,“AI”意味著修正算法,“區塊鏈”在這篇文章中的意思就是緩慢,昂貴的數據庫。

  第三,在某些行業,人們不喜歡政府的監管,所以希望有和緩慢昂貴的法律框架不同的仲裁機制。對他們來說,區塊鏈是避免政府監管很好的方法。這其實也高估了區塊鏈可以做的事情,區塊鏈不可能魔幻版地去除人的影響。我們現在就有些像“皇帝的新衣”。

  那麽區塊鏈有什麽用處呢?

  我們已經說了,區塊鏈和中心化數據庫比起來,非常昂貴。所以你需要使用區塊鏈的原因,就是它可以完成去中心化。也就是說,它移除了單個主體的控制。

  這也就是說,軟體或者數據庫不能經常去進行更改。不會有太多更新和改變規則的余地。

  但是大多數行業不像這樣,很多行業都需要進行新功能的更新,並且需要能夠自由地進行更改以及擴展。假設區塊鏈很難去更新,改變以及擴容,很多行業並不需要區塊鏈。

  但是有個例外就是貨幣。和很多其他行業不同,貨幣不希望改變。不可篡改和難以改變對於貨幣來說,是好處。這就是為什麽當區塊鏈應用在比特幣上的時候,它是個非常正確的工具。

  很清楚地是,很多公司想要使用區塊鏈,並不是因為想要區塊鏈,而是需要將IT底層更新到適用於他們行業。這是非常好的,但是使用區塊鏈這個詞去過度行銷有些過度。

  結論

  這些天區塊鏈是個很流行的詞語,但是不幸地是,但是如果你在使用中心化服務,區塊鏈不會讓你獲得更多。如果你在使用去中心化系統,那麽可能你沒有考慮到如果其中出現單個節點的問題該怎麽辦。區塊鏈,說起來容易,做起來可不容易。

  回到2000年代早期,很多科技行業的巨頭都推動使用Java和XML。儘管這兩者是工具,並不是真正的產品,很多巨頭也堅持使用它們,不論他們的工程師使用起來有多不方便。區塊鏈和這個很像,關注你需要解決的問題,那麽工具就會出現。如果你隻關注工具,那麽最終就會成為魯布·戈德堡機械,不會做成什麽事。

  因此,現在很多區塊鏈的概念都嘗試在做些不可能的事情。他們想要這種去中心化系統的安全性掌控在一個中心化個體手上。想要獲得兩者的好處,但是最終可能獲得兩者的壞處。最後我們獲得了去中心化系統的成本和困難,同時還有中心化系統的失敗模式。

  區塊鏈現在被認為是萬金油,可能我們越快地走出這個旋渦,我們就會走地更長遠。

責任編輯:郭建

獲得更多的PTT最新消息
按讚加入粉絲團