我最近一直在思考這個問題:你可能每天都在使用虛擬機,卻毫不自知。從在雲端運行應用程式,到與你喜愛的DeFi代幣互動,一切都由一個在幕後默默運作的VM支持。



讓我們從基本開始。一個VM基本上是一台你用幾個點擊就能建立的電腦,無需額外硬體。你可以在上面安裝完全不同的作業系統,儲存檔案,執行任何你想做的事情,所有這些都在你現有的電腦內部進行。你的主機負責所有繁重的工作,將記憶體、處理能力和儲存空間借給那個虛擬的VM。當你需要只存在於另一個作業系統中的軟體,或想測試某些東西而不冒險影響你的主機時,這非常有用。

有趣的是,這一切背後有一個叫做超級管理程式(hypervisor)的軟體在掌控魔法。基本上,它將你電腦的實體資源(CPU、RAM、儲存空間)分割,讓多個VM可以同時使用。有兩種主要類型:Type 1超級管理程式直接安裝在硬體上,常見於資料中心或雲端平台,優化性能;Type 2則作為普通應用程式在你的作業系統上運行,非常適合開發和測試。

那麼,為什麼有人會想用VM呢?首先,你可以在不碰觸主機的情況下測試不同的作業系統。第二,如果你需要打開一個可疑的檔案或未知的應用程式,將它在VM中運行可以保護你的電腦。第三,一些舊軟體只在較老的系統(如Windows XP)上運作,而VM可以重建那個環境。第四,開發者用VM來測試不同平台上的程式碼,觀察應用程式的行為。第五,許多雲端服務都是建立在VM之上:當你在AWS、Azure或Google Cloud啟動一個實例時,你其實是在遠端資料中心啟動一個VM。

但這裡對我們加密貨幣來說,才是真正有趣的地方。區塊鏈的虛擬機(VM)是執行智能合約的引擎,比如Ethereum。Ethereum Virtual Machine(EVM)允許開發者用Solidity、Vyper或Yul撰寫合約,並不僅在Ethereum上部署,也可以在任何兼容EVM的網路上運行。重要的是,EVM確保所有節點在建立或互動智能合約時,遵循完全相同的規則。

當然,不是所有區塊鏈都用同一種VM。像NEAR和Cosmos這樣的網路,實作基於WebAssembly(WASM)的虛擬機,允許用多種語言撰寫合約。Sui使用MoveVM來執行Move語言的合約。Solana則有自己的Solana Virtual Machine(SVM),專為平行處理交易和處理大量活動而設計。

當你用Uniswap進行交換時,你的交易由在EVM內運行的智能合約管理。當你鑄造NFT時,VM在執行記錄誰擁有什麼的程式碼。如果你用Layer 2的rollup,你的交易可以在專門的VM(如zkEVM)中運行,讓zk-rollup能執行智能合約,同時享有零知識證明的好處。

但事情並非全是美好。VM在硬體與程式碼之間增加了一層,可能會讓速度變慢,或需要比直接在硬體上運行更多的計算資源。維護VM,尤其是在雲端基礎建設或區塊鏈網路中,需持續配置和更新,耗時且需要專業知識。而且相容性也是問題:為Ethereum撰寫的智能合約,可能需要重寫或調整才能在Solana或其他不相容的區塊鏈上運行。開發者若想在多個網路上推出相同的應用,必須花費額外時間和努力。

事實上,虛擬機在我們的電腦和區塊鏈系統的運作中扮演著核心角色。它們讓你能執行不同的作業系統、安全測試軟體,並用同一硬體完成多重任務。在加密世界中,VM讓智能合約和去中心化應用(dApps)能在全球網路上可靠運作。即使你不是開發者,了解虛擬機的運作,也能讓你更清楚在你使用的DeFi工具和平台背後,發生了什麼。
ETH2.17%
ATOM1.47%
SUI1.55%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 打賞
  • 回覆
  • 轉發
  • 分享
回覆
請輸入回覆內容
請輸入回覆內容
暫無回覆