此網頁僅供信息參考之用。部分服務和功能可能在您所在的司法轄區不可用。

EVM 以太坊虛擬機大解密!核心概念、相關生態與未來展望一次看!

Ethereum Virtual Machine 的縮寫,中文直譯全稱為以太坊虛擬機。對於沒有接觸過軟件開發的用戶來說,EVM 看似晦澀難懂。但是如果我們先類比什麽是 Java 虛擬機,或許會更好理解。

EVM 以太坊虛擬機是什麼?Java 語言簡單比喻一次看懂!

EVM 以太坊虛擬機
EVM 的存在是為了能讓程序員用 Solidity 編寫的合約代碼,運行在以太坊的環境中。

在做開發前,程序員需要把 Java 代碼編譯成字節碼,但計算機無法識別字節碼,Java 虛擬機的作用就是把字節碼編譯成計算機系統可以識別的機器碼指令,然後在計算機上運行。那麽同樣的,EVM 的存在是為了能讓程序員用 Solidity 編寫的合約代碼,運行在以太坊的環境中。

可見,以太坊就相當於計算機環境,而 EVM 負責把合約代碼編譯成以太坊能識別的機器碼運行。在網絡較為繁榮,也就是開發者搭建應用需求比較旺盛的時候,每天甚至每小時都會有成千上萬條新的代碼寫入以太坊網絡。但是,這些合約代碼,如果無法被編譯成系統可以識別的語言信號,就無法轉化成具體的指令和程序。所以,我們可以把 EVM 看成是以太坊生態中最重要的資源轉換器。沒有了他,以太坊上的代碼就無法生效,即便是開發者孜孜不倦地編寫程序語言,也等同於停更。須知,任何一款程序的代碼停止更新,就意味著他走向終結。另外,如果沒有 EVM,任何人都無法在以太坊協議上執行程序軟件,因為這樣一來他們寫入系統的代碼,全是 Bug。

EVM 以太坊虛擬機 2 大核心概念:虛擬機和圖靈完備性介紹

首先,虛擬機(Virtual Machine)是指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。也就是說在實體計算機中能夠完成的工作,在虛擬機中都能夠實現。虛擬機通過生成現有操作系統的全新虛擬鏡像,具有和 Windows 系統完全一樣的功能,但它又是獨立運行的,不會對真正的系統產生影響。

因此,可以這麽理解,以太坊的虛擬機(EVM)就是以太坊智能合約的運行環境,系統中的節點可借助 EVM 來運行自己的 DAPP。另外,由於以太坊虛擬機的運行環境完全與主鏈隔離,這自然而然地形成了一種測試環境。這種測試環境,給了許多沒有區塊鏈技術經驗的開發者大膽試錯的機會,因為他們的錯誤代碼完全不會影響到以太坊智能合約。

其次,圖靈完備是個技術術語,得名自英國數學家艾倫·圖靈(Alan Turing),發明了第一台圖靈機器,它是當今計算機的先驅。後來,計算機業界用圖靈完備代指可以處理任意覆雜程度的計算。從理論上看,以太坊可以部署任何類型和功能的計算機程序,只是這些程序是分布式的,而非通常我們所看到的中心化的,而這一切,需要歸功於 EVM 的底層設計。從這一角度來看,比特幣並不是圖靈完備的,因為他只是個分布式賬本,無法執行任何應用程序。最後綜合這兩大概念,可知 EVM 是一個可以執行任何覆雜度計算的、完全虛擬化的計算機系統,從這一點來看它又像以太坊的大腦。

EVM 以太坊虛擬機執行模塊:3 EVM 運作相關術語分享!

EVM 的運轉,緊緊地圍繞著以太坊的生態。很多讓我們感到晦澀但又熟悉的以太坊術語,其實都與 EVM 有著莫大的關系。

EVM 執行相關術語(一):操作碼

首先是操作碼。EVM 就是通過操作碼,來解釋和轉譯 Solidity 編寫的指令。目前 EVM 中有 140 多個不同的操作碼,他們類似 EVM 直接發出的指令。例如,CREAT 操作碼對應著創建智能合約,STOP 操作碼意指暫停正在運行的合約;

EVM 執行相關術語(二):Gas 費

其次是 Gas 費。Gas 費是在 EVM 環境中執行代碼的資源,以“gwei”(以太單位)為單位。具體來看,執行任何一筆交易,都需要消耗算力資源和存儲空間,就像我們在手機中任意下載一個應用,都需要占用電量和內存。這部分隱性的消耗,在鏈上就直觀地轉化成顯性的 Gas 費成本。EVM 和 Gas 費之間的關系,像是汽車和汽油,EVM 每執行一項指令,都要消耗對應額度的 Gas 費;

EVM 執行相關術語(三):執行轉帳功能

最後是執行轉賬功能,這也是 EVM 和全體以太坊用戶都能產生關聯的地方。EVM 在轉賬時的具體步驟如下:

  • 核對是否有誤差,包括轉賬數值和簽名的有效性等;

  • 計算轉賬所需要的 Gas 費,並執行收取 Gas 費指令;

  • 將數字資產轉賬到指定的地址。

需要注意的是,EVM 若檢測出轉賬者未支付足夠的手續費,那麽轉賬會被回滾,且不退轉賬費,直接支付給礦工。另外,如果是收款人地址錯誤導致的交易失敗,EVM會原封不動的把轉賬本金和手續費退回給付款人。

EVM 公鏈概念和動向:OKTC 公鏈或成為未來重要跑道!

OKCT 公鏈
OKTC 公鏈主網正式實現 EVM 兼容,從而進入一個新時代。作為一個 100% 開源的公鏈,每 0.5 秒就產生一個新的區塊的 OKTC 性能卓越,相較於其他 EVM 兼容公鏈,它的性能更穩定、速率更高效,生態規模也更強大。

以太坊在公鏈賽道,穩坐龍頭地位,無論是生態應用數量和總鎖倉量都占行業絕大多數。因此,市面上主流的公鏈,都選擇兼容 EVM,他們也因此得名 EVM 公鏈。

EVM 兼容,指的是在其公鏈上搭建的智能合約,可以快速便捷而又低成本地在以太坊上來回遷移、無縫搬運。目前,很多公鏈在開發中,特意實現了 EVM 兼容的功能,以達到最大化承接以太坊外溢項目的功能,類似於移動互聯網玩法中的引流。所以,許多公鏈項目方都將實現 EVM 兼容,作為其最大的賣點和看點。

當然,從目前的行情來看,EVM 兼容鏈的最終優勝者,依然寥寥。OKTC 公鏈,很有可能在下一階段憑借兼容 EVM 逆襲成功。

2021 年 5 月 10 日,OKTC 公鏈主網正式實現 EVM 兼容,從而進入一個新時代。作為一個 100% 開源的公鏈,每 0.5 秒就產生一個新的區塊的 OKTC 性能卓越,相較於其他 EVM 兼容公鏈,它的性能更穩定、速率更高效,生態規模也更強大。

2021 年 OKTC 公鏈上線後,開發者社區將原創的 EVM 虛擬機代碼開源並共享給 Cosmos 社區,為 Cosmos 網絡解決了與以太坊兼容的問題。OKTC 公鏈背靠 OKX,而後者目前已升級為全球 Web3 基礎設施服務商。OKTC 的 Web3 生態,已涵蓋全球體量最大的數字資產交易平台、可兼容全球最優質幣種的 Web3 數字錢包,以及綜合性價比最高的 NFT 市場等等。借此,OKTC 公鏈能夠獲得源源不斷的生態資源傾斜,而兼容 EVM 之後,將會把這些優勢不斷放大累加。相較於其他 EVM 公鏈,OKTC 公鏈更顯得天獨厚。

EVM v.s eWASM:何者才能成就以太坊 2.0 的最終型態?

熟悉以太坊生態的朋友都知道,以太坊 2.0 是以太坊的終極形態,它在實現了 POW 轉 POS 機制後,能夠高性能地處理一切計算任務,甚至媲美 Web2 的互聯網產品。但按照目前 EVM 的底層設計和性能表現來看,EVM 實在無法與以太坊 2.0 的理想狀態適配。於是,eWASM(ETH 版的 WebAssemly)成為 EVM 的接棒者、替代品。

WebAssemly 即 Web 上的匯編,作為近年來興起的 Web 執行環境,是一種為基於棧的虛擬機設計的的二進制指令格式。相對 JavaScript,擁有更好的性能、較低的存儲成本、更安全的執行環境、更多的語言支持等優勢。而相比於 EVM,eWASM 具有更好的性能以及更好的擴展性,可以支持Solidity、C++、Rust、AssemblyScript等編程語言,開發合約會更容易。eWASM 也與當前的 Web 標準兼容,因而更容易在普通瀏覽器中運行,用戶無需擴展程序即可訪問 DApp。

此外,以太坊並不是唯一一個使用 WASM 作為其底層執行引擎的,EOS、Dfinity、Polkadot、Tron、Cardano、Spacemesh 等都已經或正在采用 WASM。值得注意的是,以太坊 2.0 分為三個階段:PoS、分片,以及排在最後的 eWASM。目前大家最關心的轉 POS,也就是合併,還在準備過程當中。所以尚需時日的 eWASM,其代碼更新的頻次並不多,但他的概念足夠吸引人。eWASM 能否真如其設想,撬動整個以太坊 2.0,我們還將持續關注。

閱讀更多:

市場更新以太坊 以太坊 ETF 通過對加密市場有什麼衝擊? 5 個面向影響一次看!:https://www.okx.com/zh-hant/learn/ethereum-etf-impact

以太坊 2.0:對使用者、DApp、DeFi 和市場的影響:https://www.okx.com/zh-hant/learn/ethereum-2-0-impact-on-users-dapps-defi-and-markets

延伸閱讀:

提前布局下一個敘事:並行 EVM 興起,哪些項目值得重點關注?:https://zombit.info/techflow-research-parallel-evm-project-analysis/

加入 OKX 繁中社區了解更多加密貨幣知識,還有不定期空投及周邊贈送!

追蹤 OKX 中文 IG,了解加密貨幣和 OKX 最新動態,更多精彩活動好禮等你來拿:

相關推薦
查看更多
查看更多