簡介
雖然作業系統(OS)是互斥的,即它要麼是 Windows、MacOS 或 Linux 等,但有時可以在一個作業系統上運行另一個作業系統。例如,有可能在 MacOS 上運行 Windows OS,以及在 Windows OS 上運行 Android OS。堆疊作業系統的目的是測試作業系統、將一些有風險的軟體與主機作業系統隔離、運行舊版本的作業系統或跨平台開發和測試代碼。區塊鏈使用 EVM 是因為它提供了一種通用、可靠的方式來運行智能合約,並確保網絡上的每個節點以完全相同的方式執行交易。
什麼是虛擬機?
虛擬機(VM)本質上是存在於你現有電腦內部的另一台電腦。只需點擊幾下,你就可以設置它,而無需任何額外的實體硬體。一旦運行起來,它就像一台功能齊全的電腦。你可以安裝作業系統、存儲文件、運行應用程序,甚至瀏覽互聯網,這一切都可以在虛擬空間內完成。在加密貨幣世界中,區塊鏈上的智能合約是在虛擬機上開發和運行的。其中最常見的是以太坊虛擬機(EVM)。
在幕後,是你的主要電腦,即所謂的主機,使這一切成為可能。為了保持虛擬機順暢運行,主機會共享自己的資源,如記憶體、處理能力和存儲空間。當你需要使用只能在與主機安裝的不同作業系統上運行的軟體時,這種設置就派上用場了。
虛擬機如何工作
那麼虛擬機實際上是如何工作的呢?整個過程的核心是一種特殊的軟體,稱為虛擬機監視器(hypervisor)。虛擬機監視器就像一個管理者,利用你電腦的物理資源。這些資源包括處理器(CPU)、記憶體(RAM)和存儲等組件。它們被設計成高效分工,使一個甚至多個虛擬機能夠同時運行。
虛擬機監視器通常有兩種設置方式。有些直接安裝在硬體本身上,這就是為什麼它們經常出現在數據中心和雲環境中,因為在這些地方速度和效率最為重要。其他則運行在你的普通作業系統之上,幾乎就像任何其他應用程序一樣。這些在日常使用、測試或開發工作中更為常見。例如,你可以通過安裝 BlueStacks 應用程序在 Windows OS 上享受 Android 生態系統。
一旦虛擬機監視器完成了它的工作,你的虛擬機就準備好了,你可以像對待實體電腦一樣對待它。你可以啟動它,然後安裝程序,使用互聯網,甚至在虛擬空間內構建和運行應用程序。
區塊鏈網絡中的虛擬機
大多數使用區塊鏈應用程序的人從未思考過使一切順暢運行的無形基礎設施。無論你是在去中心化交易所交換代幣,鑄造 NFT,還是通過第 2 層區塊鏈發送資金,都有一個重要組件在後台完成所有繁重的任務。這個組件就是區塊鏈虛擬機。
在傳統技術世界中,虛擬機(VM)基本上是一個隔離的沙盒。它允許開發人員在有限和受控的環境中運行軟體。這種軟體與底層硬體是分開的。然而,在區塊鏈網絡上,虛擬機服務於非常不同的目的。它們作為智能合約的執行引擎,這些自執行代碼代理使去中心化應用程序能夠全天候順暢運行。沒有虛擬機,全球數千台獨立電腦就無法就合約應如何運行達成一致。
以太坊虛擬機
以太坊虛擬機(EVM)是區塊鏈虛擬機中最著名的例子。開發人員可以使用 Solidity、Vyper 或 Yul 等語言編寫合約,並將它們部署在以太坊以及其他與 EVM 兼容的區塊鏈上。EVM 確保每個節點以完全相同的方式處理智能合約,因為它有助於維護網絡的一致性和安全性。
區塊鏈世界中的其他虛擬機
但以太坊並不是唯一擁有虛擬機的區塊鏈。不同的區塊鏈網絡設計自己的模型以滿足其特定需求的目標。NEAR 和 Cosmos 依賴於基於 WebAssembly 的虛擬機,以其靈活性而聞名。這些允許智能合約用多種編程語言編寫,降低了不想學習全新東西的開發人員的障礙。同時,像 Sui 這樣的區塊鏈使用的 MoveVM,更重視 Move 語言,優先考慮交易執行的安全性。Solana 則採取不同的路線,其 Solana 虛擬機被優化為同時處理多筆交易。
雖然大多數用戶從未直接與它們互動,但虛擬機在後台不斷工作。當你在像 Uniswap 這樣的 DeFi 平台上進行代幣交換時,EVM 正在執行合約。如果你鑄造新的 NFT,虛擬機會更新賬本以顯示誰擁有它。甚至像 zk-rollups 這樣的高級擴展解決方案也依賴於專門的虛擬機,如 zkEVMs,它們結合了智能合約執行和加密證明,以提高效率和安全性。
虛擬機的缺陷
然而,虛擬機也有一些缺點。虛擬機在借用的組件上運行代碼和管理智能合約,這使得過程比直接在硬體上運行要慢。在大型網絡上維護虛擬機會導致操作複雜性,需要不斷更新和專業知識。兼容性是另一個缺點。為以太坊編寫的合約如果不進行大量更改,就無法在 Solana 上運行。這為希望覆蓋多個生態系統的開發人員創造了額外的工作。
儘管面臨這些挑戰,區塊鏈虛擬機仍然是去中心化技術創新的核心。它們是讓用戶輕易信任代碼而非中間人的無名英雄。虛擬機創造了一個金融產品、數字所有權和去中心化社區的世界。雖然你可能永遠不會直接看到它們,但虛擬機是保持區塊鏈經濟運轉的無聲引擎。
結論
簡而言之,虛擬機可能不被注意,但它們在現代技術中扮演著至關重要的角色。通過在幕後使事情變得更簡單和更安全,它們幫助我們構建和使用新型計算機程序,並改變我們信任和共享信息的方式。無論它們是為最新的區塊鏈工具提供動力,還是讓人們在受保護的空間中運行軟體,虛擬機都在悄悄地不斷改進。它們的真正力量在於它們如何從背後支持一切,表明使技術最佳運作的許多因素往往是看不見的。
常見問題
區塊鏈中的虛擬機是一種執行引擎,它以安全和一致的方式在所有網絡節點上運行智能合約。
什麼是以太坊虛擬機(EVM)?以太坊虛擬機(EVM)是最廣泛使用的區塊鏈虛擬機,它確保每個智能合約在所有與以太坊兼容的區塊鏈上以相同的方式運行。
為什麼虛擬機在區塊鏈中很重要?虛擬機很重要,因為它們使去中心化應用程序(dApps)能夠可靠、安全和一致地工作,而無需中介。
來源:https://blockchainreporter.net/virtual-machines-hidden-engines-powering-blockchain/