智能合約的侷限

區塊鏈的應用離不開智能合約,換句話說,智能合約就是區塊鏈實現各種應用的基礎。智能合約是否強大,也就決定了應用是否強大。


目前這已經成爲制約區塊鏈發展的重要因素


不是說智能合約不夠強大,而是說外界的條件限制,智能合約讓他不能太過於強大。


爲什麼這麼說呢?


因爲我們都知道智能合約需要放在區塊鏈上,由區塊鏈的虛擬機進行執行。


這句話除了本身的含義之外,還有一個更深層次的意思,因爲智能合約需要在所有的節點來共同執行,所以說清楚一點就是,

智能合約需要放在所有的節點的區塊,由所有節點的虛擬機進行執行。

這就遇到幾個問題

1.區塊鏈的空間極其寶貴。

所以編譯之後的代碼要越小越好,只有這樣才能更好的節省智能合約在區塊中所佔的空間。以太坊solidity,維基鏈的lua這些編譯語言編譯後的代碼量都會比較小。

2.虛擬機的功能沒有那麼強

虛擬機的作用是形成一個沙箱,把智能合約的執行環境和外界完全隔離,以保證在不同的操作系統環境下,都可以成爲區塊鏈的節點。

正是由於不同的運行環境,所以就會要求虛擬機簡單,高效,不做過於複雜的程序執行。


因爲虛擬機和智能合約的原因,導致了智能合約和虛擬機不能過於複雜,比較難以像中心化服務器那樣提供非常強悍的功能。

另外,也由於區塊鏈和智能合約的本身特性所限,執行智能合約需要與區塊爲單位調取智能合約或寫入區塊,就會讓問題複雜很多。


所以智能合約的發展還需要比較長的時間。總結一下今天的觀點:

1.區塊空間的珍貴導致智能合約程序需要代碼量小。
2.虛擬機要求簡單高效,提供完全隔離的沙箱,所以功能不如中心化的功能強悍。
3.智能合約的調用和數據寫入高校與區塊爲單位來進行,數據的輸出和寫入都比較繁瑣。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章