什麼是以太坊虛擬機 (EVM)?

以太坊虛擬機或 EVM 是一種分佈式狀態機,允許用戶阻礙代碼執行以處理事務。

這允許用戶定義復雜的支出條件和用戶交互,這在簡單的支付網絡中是不可能的。

EVM 是在以太坊上啟用和執行智能合約的東西,由以太坊節點維護。

每個以太坊節點都維護自己的 EVM 副本,EVM 的規范或『正確』狀態通常由節點之間的多數共識確定。

這種結構保留了區塊鏈的去中心化性質,同時為比簡單的點對點交易更復雜的鏈上活動打開了大門。

雖然 EVM 不是唯一可以創建可編程區塊鏈的機制,但它自誕生以來就主導了智能合約的世界。

以太坊發佈後,創建了智能合約語言 Solidity,為開發人員編寫 EVM 合約提供了一種更具可讀性和可審計性的語言。

不使用像 Solidity 這樣的高級語言將迫使開發人員從字節碼手動構建合約,這更容易出錯,也更難審計。

盡管創建了大量用於與 EVM 交互的新工具和編譯器,但 Solidity 仍然是編寫 EVM 合約時使用最廣泛的語言。

與 EVM 兼容意味著什麼?

雖然以太坊是第一個引入 EVM 的區塊鏈,但現在還有許多其他區塊鏈利用以太坊的 VM 來實現智能合約支持。

如果區塊鏈的 VM 包含與 EVM 相同的操作碼,則它被認為是 EVM 兼容的。

如果所有 EVM 操作碼都可以執行,那麼任何隻使用 EVM 操作碼的語言也可以用來創建智能合約並與任何其他 EVM 兼容的區塊鏈交互。

實際上,這意味著相同的應用程序可以部署在任何 EVM 兼容鏈上,而無需對流程或代碼進行過多《或經常是任何》修改。

一些與 EVM 兼容的鏈,如 Quai Network,利用多個相互連接、同時運行的 EVM 來提供成本更低的合約交互和狀態修改。

有趣的是,區塊鏈不一定要與 EVM 兼容才能與 Solidity 兼容。

無需修改即可支持完整 EVM 指令集的 VM 是 EVM 兼容的,但與 EVM 不兼容的 VM 仍可能是 Solidity 的目標。

例如,基於 Web Assembly (WASM) 的虛擬機可以與 Solidity 兼容,只要它提供將 Solidity 編譯到新 VM 的字節碼中的機制即可。

EVM 兼容性和 EVM 不兼容性之間的區別可以在字節碼中看出——原始合約字節碼可以在 EVM 兼容鏈之間復制粘貼並可用,而相同的代碼在非 EVM 兼容鏈中將無法使用。

EVM 的一些替代方案包括 LLVM《用於編譯為 Solana 字節碼》和IELE《Cardano 使用》,它們培養了新興的開發人員社區,但與 EVM 的普及相比仍然相形見絀。

與 EVM 兼容有哪些優勢?

與 EVM 兼容的區塊鏈和第 2 層維護著最大的活躍開發人員和用戶社區。

由於 EVM 的現有流行度和多樣化的操作碼集,絕大多數智能合約和去中心化應用程序都是為 EVM 兼容鏈編寫和部署的。

什麼是以太坊虛擬機 (EVM)?

有了如此強大的開發人員社區,EVM 的構建過程已被分散且高度多樣化的一組人大量記錄和完善。

成功《和不成功》的 EVM 應用程序的悠久歷史為安全且易於理解的開發人員環境奠定了基礎。

用於在 EVM 上開發的語言可能很復雜,但由於 EVM 的圖靈完備性,它們能夠滿足幾乎任何可以想象的需求,從而彌補了這種復雜性。

然而,圖靈完備的 VM 確實存在無限循環的風險,這可以通過對智能合約代碼進行徹底的審計和審查來避免。

EVM 最有價值的方面是它的社區和文檔。

數以千計的資源,包括 Solidity 開發者的實踐經驗,可供有抱負的構建者參考。

雖然 EVM 兼容性有很多優點,但 EVM 也有一些弱點,例如它的復雜性和 gas 定價。

作為區塊鏈世界首次涉足智能合約,EVM 將功能置於簡單之上。

雖然像 Solidity 這樣的語言非常復雜,但近年來為補充基於 EVM 的開發人員而構建的工具極大地改善了開發人員環境和體驗,同時保持了 EVM 的完整圖靈完備功能。

EVM 還存在 gas 定價問題,特別是圍繞瓶頸網絡的狀態租金:

『以太坊真正受苦的是它沒有狀態租金。

因此,狀態大小已經膨脹到它們受到輸入/輸出操作高度限制的程度。

所以這不一定是 EVM 的固有問題,它攜帶著大量的狀態並且沒有針對它的支付機制。

他們沒有花費明顯是外部性的東西。

我們解決它的方法是——就像在分片狀態中允許更有效地傳播事務一樣,它也允許在任何給定上下文中使用更小的狀態大小。

我們正在做的另一件事是增加狀態租金,這樣我們就可以限制狀態的膨脹,這將使我們能夠處理更多的交易』
– Quai Network聯合創始人K博士

哪些是最受歡迎的 EVM 代幣?

不出所料,使用以太坊虛擬機的最受歡迎的代幣是以太坊。

作為第一個以任何方式支持智能合約功能的協議,以太坊享有強大的先發優勢,並確立了自己作為 DeFi、NFT 等的首選平臺的地位。

然而,以太坊在高需求期間經常遇到的高額費用促使用戶尋找替代協議,以提供與以太坊相當的安全性、去中心化和功能,而無需高昂的使用成本。

還有大量項目,例如 BSC、Tron 和 EOS,以去中心化和/或安全性為代價提供低費用的 EVM 兼容性。

然而,這些項目中沒有一個能夠在保持與以太坊相當的去中心化、安全性和功能的同時保持低費用。

相比之下,Quai Network 是一個主網前的區塊鏈網絡,利用合並挖掘和分片以低成本提供 EVM 的功能,而不會對去中心化或安全性做出任何妥協。

通過使用許多相互交織的區塊鏈異步生成區塊,每個區塊鏈運行一個獨立的 EVM,Quai Network 將去中心化和智能合約擴展到前所未有的水平

結論

EVM 作為將智能合約實施到區塊鏈的第一種方法,在過去十年中隨著新的開發活動和工具的爆炸式增長而蓬勃發展。

然而,盡管有這條巨大的護城河,EVM 仍可以進行許多改進,這些改進有可能進一步完善激勵措施並改進智能合約的現有狀態。

文章就到這裡了,希望這篇文章對大家有一定的幫助。

我會在交流群做更仔細的分析,如果想加入我的圈子,歡迎私信!所以資訊平臺均為《進擊的史迪仔》​