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



