以太坊虛擬機EVM 和EOS 虛擬機的劣勢!

 

 EVM:安全

01 智能合約設計層面網絡

 

  • 缺少標準庫支持:EVM缺乏完善的標準庫支持,甚至最基本的string類型支持,在EVM中都很雞肋,例如字符串拼接、切割、查找等等都須要開發者本身實現。帶來的後果就是開發者須要關注更多非自己業務的零碎細節,不能專一自己業務開發。同時自行實現的類庫可能會由於時間、空間複雜度過高,消耗大量無謂的gas,又或者開發者從開源項目中借鑑相關類庫代碼,但也會引入更多安全性方面的問題,加劇合約代碼審計的複雜度,亦是得不償失。工具

  • 難以調試和測試:EVM難以調試和測試,EVM除了能拋出OutOfGas異常以外,不會給開發者返回任何信息,沒法打印日誌、要作到斷點、單步調試更是徹底不可能。雖然event機制能夠部分改善這個問題,但event機制的自己設計就決定了他不是一個優雅好用的調試工具。測試

  • 不支持浮點數:EVM不支持浮點數,以太坊以Wei爲最小單位,只有整數,不支持其餘粒度的計量,這種設計避免了引入浮點數致使的精度問題,但開發者在實際開發中,爲了表示一個eth變量,就會在變量後面跟不少0,致使代碼維護極度複雜。同時不能否認,浮點數在特定的場景下,仍是有很大的利用價值的,不能一刀切直接放棄引入。spa

  • 合約不能升級:EVM不支持合約升級,合約升級是智能合約開發中的一個強需求,也是每個合約開發者必需要考慮的問題,合約升級能夠實現給現有合約打安全補丁、擴展示有合約功能等等。EVM徹底不支持升級,開發者只能經過發佈新合約來解決這個問題,費時費力。設計

EOS VM:調試

EOS是繼以太坊以後,又一現象級的公鏈應用,有本身獨立的一套基於WebAssembly的智能合約引擎,但目前EOS合約開發有以下幾個明顯問題:日誌

 

  • 帳戶系統不友好:建立帳戶操做難度大,建立帳戶後才能發佈合約,EOS須要使用已有帳戶去建立新帳戶,尋找一個擁有EOS帳戶的朋友或第三方,對任何人來講都不是一件很容易的事。建立帳號須要購買RAM,就是須要花錢建帳號,若是找第三方幫忙建立帳號存在資金風險。建立帳號後,還須要抵押EOS換取CPU使用時間和net帶寬,才能在EOS網絡作操做。這些操做對於開發者來講過於繁瑣。內存

  • RAM價格:RAM價格昂貴,合約運行必須用到RAM,EOS開通了RAM市場,用於交易內存,雖說RAM能夠買賣,但依然存在不少人炒做,致使RAM價格昂貴。開發

  • 開發難度大:使用C++做爲合約開發語言,極大的提升了合約開發門檻,C++自己就極爲複雜,在其上還要去調用EOS.IO C++ API完成智能合約開發,對開發者的我的能力要求極高。

相關文章
相關標籤/搜索