區塊鏈3.0時代,爲什麼不了解虛擬機是落伍的?

假設現在你想裝修房屋,如果毫無章法地將傢俱塞滿每個角落,你可以想象這會是一場審美和功能的雙重悲劇。

1997年,來自斯坦福大學的幾個學者聯合在ACM操作系統原理研討會(SOSP)上發表了一篇關於虛擬機的論文。

這篇論文中的項目有一個復古屬性的名字:Disco(迪斯科)。就像迪斯科強烈迷醉的音樂漩渦風靡於上世紀60、70年代一樣,虛擬機的概念也在70年代早已有之。

假設現在你想裝修房屋,如果毫無章法地將傢俱塞滿每個角落,你可以想象這會是一場審美和功能的雙重悲劇。

顯然你應該攤開草稿,或者打開SketchUp軟件模擬一個同樣的三維空間,並在上面繪製規劃圖紙。

虛擬機就扮演著類似模擬圖紙設計的角色。

它生成現有操作系統的虛擬鏡像,具有和真實Windows系統完全一樣的功能。

這為現在的區塊鏈落地應用提供了一種虛擬的測試環境,所以成為區塊鏈重要的技術支撐。

1. 區塊鏈虛擬機有什麼用?

以太坊時代,區塊鏈虛擬機所承擔的主要任務是運行智能合約。本質上,區塊鏈虛擬機就是一個代碼的運行環境。

而在DApp大量湧現的當下,區塊鏈虛擬機開始擔當多元角色。

不妨來看一看區塊鏈虛擬機的進化簡史:

區塊鏈1.0時代:由比特幣開創,這個時期的區塊鏈技術主要是為不同的貨幣交易提供簡單的技術支持。

區塊鏈2.0時代:以以太坊開發智能合約以及圖靈完備的EVM(編者按:一套完整的智能合約運行環境,合約官方語言為Solidity)為標誌,此時的虛擬機發展已逐漸完善。

區塊鏈3.0時代:以大規模DApp落地應用為特徵,大規模的落地測試需要虛擬機來完成。

對於開發者而言,為了保證自己的DApp不存在問題,在正式將其落地於一條公鏈之前,需要先在虛擬機上測試完成後,再運行在公鏈上。

當測試DApp確實是穩定且安全的產品後,用戶便能直接在公鏈主網上看到並使用開發者的DApp。

於是,在區塊鏈3.0時代,虛擬機的競賽成了公鏈項目們的另一條賽道。這也像是區塊鏈走向大規模商用的必由之徑。

2. 進化簡史

當一個人說“我開發的新東西是圖靈完備的”,一般意味著它在原則上可以解決一般計算性的問題。

而目前,開發出圖靈完備的區塊鏈虛擬機的公鏈項目其實並不多。

45區不完全統計發現,自以太坊開發出了第一臺圖靈完備的虛擬機EVM之後,Qtum量子鏈、波場、EOS、CMT等項目開發出了自己的區塊鏈虛擬機。

這些項目都將虛擬機作為自己的原創細節,並試圖從不同方面修補EVM的缺陷。

據45區瞭解,以太坊虛擬機本身是一個完全獨立的沙盒,合約代碼可以對外完全隔離並在EVM內部運行。

由於EVM分散儲存在每個節點的計算機上,因此希望創建智能合約的公司可以使用類似於JavaScript和Python等編程語言創建運行於EVM的應用程序。

同時,以太坊虛擬機又能與主網的其餘部分隔離,在運行過程中也不會影響主區塊鏈的操作。

正因如此,以太坊也獲得了“世界電腦”的稱號。

不過,它也存在著一定缺陷,例如EVM常用的Solidity語言缺乏標準庫、消耗的gas費用過於昂貴等等。

“使用以太坊智能合約來驗證單個比特幣交易的頭部將花費3.7億以太坊gas,這意味著在以太坊上,只是驗證交易就需要500美元。”一位資深開發者告訴45區。

“正因為以太坊上的公鑰和私鑰算法非常慢且昂貴,所以才沒有真正的應用,相比之下,CMT虛擬機的libENI函數可以用底層語言執行,這些操作僅需幾毫秒就可以執行完畢,手續費也更低。”CMT團隊表示。

而Qtum虛擬機主打的點是比EVM在調用和引入智能合約時更快、gas price更低,提供一些接地氣的底層技術優化方案。

波場虛擬機則選擇了和以太坊上每個操作消耗gas不同的方案,每個交易只是先佔據帶寬和其他計算資源,並且在交易後的一段時間後釋放——這種亮點似乎相當符合波場一直以來的營銷敏感。

CMT所開發的虛擬機還強調優化開發者在開發DApp過程中的綜合體驗。

據悉,CMT開發的虛擬機採用的是高級編程語言Lity, Lity通過添加LibENI,可以支持加載本地功能,更方便地增加應用場景的解決方案,從而使開發者在開發複雜的DApp的應用時更加容易。

同時,相較於EOS虛擬機所使用的C 編程語言而言,Lity對於應用開發者更加友好。

另一方面,CMT團隊還告訴45區,通過編譯器和虛擬機優化,Lity可以防止EVM中Solidity語言中出現的常見安全問題。

例如,Lity編譯器可以檢查ERC 20和ERC721合約代碼中的合規性和已知錯誤,並及時提醒反饋者,以防止token被意外轉到不受支持的合約地址。

在算法方面,不同於以太坊所使用的POS算法,CMT虛擬機採用的是DPOS共識算法,便於進行擴展和進步。

3. Killer App和虛擬機

開發區塊鏈虛擬機對於致力於推動商業場景落地應用的公鏈來說,打造一個更簡潔優雅的DApp測試基礎設施,無疑是邏輯自洽的。

比如波場、Qtum虛擬機都是為了孵化更多DApp,提供一個比現有系統更舒適的開發者環境。

相比之下,落子電商領域的CMT本身就帶著更明顯的商用基因,目標是更快推動區塊鏈項目的商業落地。

儘管CMT也和以太坊一樣是底層平臺性質,但整個團隊對於商用體系建設的設計熱情,一直比經濟模型設計更有看點。

它針對電商開發了智能商業合約,而智能商業合約指的就是能夠在自己的虛擬機上創建更適合於商業開發者開發的去中心化應用。

在他們看來,如此一來會誕生更多的業務邏輯,增加區塊鏈應用落地的可能性。


分享到:


相關文章: