1. 程式人生 > >關於區塊鏈的一些思緒

關於區塊鏈的一些思緒

關於區塊鏈升級,是一件很容易引發爭議的事情。有感而發。

對於常規的思維來說,區塊鏈智慧合約升級應該是一件再普通正常不過的事情。但對於區塊鏈本身來說,秉承一種程式碼即是法律的理念,而法律是不能輕易更改的(如若隨意更改,則喪失法律的權威性,淪為當權者的玩物,與人人平等,去中心化的理念背道而馳)。

以太坊的智慧合約是無法升級的,如果真要升級,則需要通過分叉解決,後果代價可想而知。即便如此,以太坊的社群依然非常的繁榮。即人人平等,去中心化的概念而帶來的代價還是有不少人能夠接受的。

EOS智慧合約是可以升級的,但是有限制。一來是區塊鏈技術理念使然,二來是本身EOS技術乃至區塊鏈技術發展仍處於摸索階段,無法面面俱到。從技術方面講,簡單地說,EOS上的持久化資料是通過一張張資料表來維護的,而資料表的格式(欄位型別,數量,順序)都不允許被輕易改變,所付出的代價可能就是舊資料表的資料無法被新資料表所相容。就我個人目前的理解,EOSIO目前對於類似情況的解決方案主要傾向於,在不改變既定規則的情況下,新增新增的規則以達到治理調和的效果。

智慧合約無法輕易升級不能被簡單理解為是技術上的弊端,而是為追求去中心化理念而付出的代價。這是區塊鏈的本質,違背這一點,它就不是區塊鏈了。

當然,如果一項技術限制太大而無法滿足人們的需求,即便技術再高深莫測,也沒有意義。也正是那句話,目前區塊鏈技術仍處於嬰兒期,專案落地需要付出不少的成本代價。

為了區塊鏈專案順利落地,有沒有什麼折中的辦法呢?肯定是有的。首先,設計者需要嚴格遵循資料驅動和程式碼即是法律的思維考慮區塊鏈專案的設計,這是基本前提;其次對於區塊鏈技術(在應用層面尤數智慧合約)的侷限和能力範圍需要有較完備的認識,深徹理解區塊鏈技術的應用場景;還有,按照傳統的設計思路是不容易把業務做好的,在許多不得已的情況下需要通過對區塊鏈技術的理解找到折中的方案,求得殊路同歸的效果;最後,需要有大量且細緻的測試保證業務邏輯的完備。

最後的最後,在寄希望於區塊鏈技術持續蓬勃發展,開發人員刻苦鑽研的同時,也需要使用者的理解和包容。