都說區塊鏈行業無眠,微信群都是凌晨3點才開始打卡聊天。
但最忙的不是凌晨3點還在熱火朝天地討論的人,而是以太坊。作為區塊鏈2.0的開創者,以太坊時時刻刻都被新的區塊鏈項目Cue。
內容無非就是兩類。
一是發難以太坊,速度慢如蝸牛,可擴展性也太差了,而且 gas 費這麼貴!
二是我比以太坊優秀,肯定會超越以太坊。
這種現象無可厚非。上文所指出的以太坊問題確實存在,以太坊也意識到了並提出了分片、plasma等解決方案。就在前幾天,新聞報道以太坊虛擬機也將迎來重大改造。
但是種種原因,船大難掉頭,以太坊社區所提出的改進方案落到實處不知道要猴年馬月了。不得不承認,大多數人現在看到的依然是「多災多難」的以太坊,同時這也給新的區塊鏈項目很大的發展空間。
後來者中最亮眼的便是EOS首提的百萬TPS。但早在1月份時,EOS已經改口,主網只剩數千TPS。
不禁感慨,那些說比以太坊優秀的公鏈,真的做得到嗎?
這時候,看到CyberMiles聲稱其虛擬機CVM比以太坊虛擬機EVM快萬倍,這都趕上EOS吹的百萬TPS了。
CyberMiles是電商公鏈,被稱為「電商版以太坊」,印象中是比較低調的。之前大熱的「TPS」問題,CyberMiles也沒有跟風。
創始人盧亮曾在社區表示:主鏈「百萬TPS」基本上是吹牛的,區塊鏈的本質是一個慢速的分散式資料庫。中心化資料庫尚且做不到百萬級別,更遑論分散式資料庫。
那這是CyberMiles一改往日作風,還是他們真的做到了呢?
從官網可以看出,CyberMiles虛擬機CVM與以太坊虛擬機EVM在加法、乘法、整數排序、計算scrypt四個運算進行了對比。這種行為在業內叫做Benchmark,翻譯成人話就是「跑分」。
「跑分」在手機行業很常見,最近最熱鬧的事情就是國外知名基準測試軟體——3DMark下架某國產手機數據的事情。
但是這種真實的「跑分」視頻在區塊鏈行業還是第一次看到!
從CyberMiles公布的對比結果來看,CVM較EVM有著不同量級的提高。從比較簡單的加法和減法來看,CVM比EVM快10倍多,優勢不是很明顯。但CyberMiles的TPS比以太坊至少快100倍。這樣算下來,CyberMiles實際是有1000多倍的提升。
再來看官網發布的第三個運算:整數排序。排序比加法和乘法複雜點,是個比較常用的演算法,用處也非常廣泛。在這裡,CyberMiles採用的是冒泡排序的方法。
同樣進行6萬次冒泡排序,EVM需要48.01秒,但是CVM只需要0.45秒,這次CVM比EVM快了199倍,優勢更加明顯。再考慮到上文提的TPS問題,CyberMiles實際是快了19900倍。
最後一個進行對比的運算Scrypt,這是CyberMiles作為電商公鏈的創新之處。計算Scrypt,牽扯到跨鏈驗證的問題。Scrypt是指用以太坊智能合約跨鏈驗證比特幣交易,這是以太坊社區的經典難題。
Vitalik 曾經提出,在以太坊上驗證1個Scrypt實例需要花費3.7億gas。事實上,沒有人在以太坊做出這樣的操作。以正常gas價格計算,這需要1ETH,過於昂貴。
因此在這次對比中,EVM的運行環境是非常理想的狀態。假設以太坊只有一項操作並且不考慮成本,EVM依然需要920秒,超過15分鐘。但是CVM卻只需要51毫秒就驗證了比特幣的區塊頭,相較以太坊快了將近20000倍。
這一優化非常具有實際意義。接受包括比特幣在內的多種加密貨幣作為支付方式是電商應用程序的常見場景,這就要求電商應用程序的智能合約能夠驗證比特幣交易。要在區塊鏈上做電商應用,的確需要這樣的性能優化。
看到這裡,一定會有一個問題,CyberMiles怎麼做到的?
查了資料後,發現CyberMiles在虛擬機中進行了名為libENI的技術創新,將計算密集型任務委派給底層操作系統。
在本機和高性能C++中實現的libENI函數則由整個社區開發,而後CyberMiles驗證人(即超級節點)投票決定是否接受它們作為模塊化組件添加到CVM。更加難得的是,整個過程無需暫停、分叉或升級區塊鏈軟體本身。
據了解,這與CyberMiles的世界觀也分不開。不同於以太坊的世界計算機,CyberMiles是專門為電子商務優化的區塊鏈平台,並且努力構建去中心化的軟體開發和發布流程,從而實現區塊鏈的自我管理。
值得一提的是,在每個對比運算下面,CyberMiles都公開了跑分的代碼。有興趣的朋友們可以去試試看,說自己比以太坊優秀的項目,到底怎麼樣。