撰文:0XNATALIE
Move 介紹
Solidity 是目前最流行的智能合約編程語言,在以太坊虛擬機(EVM)上運行。但其設計並不完美,存在一些安全和效率上的問題。Solidity 資產通常被視爲可變更的數字,有潛在的重入攻擊、雙花等安全問題,並且缺乏內置的形式化驗證(運用數學方法證明),安全依賴於開發者的實現。此外,交易通常順序執行,限制了性能和擴展性。這些問題促使了 Move 語言的開發。
Move 是由 Facebook 爲加密貨幣項目 Diem(前 Libra)開發的一種新型智能合約編程語言。Move 強調數字資產的獨特所有權,引入了一種以「資源」爲核心的編程模型,將數字資產視爲不可複製和不可丟棄的資源,只能通過顯式轉移進行處理,從而防止重入攻擊、雙花問題。Move 通過資源導向的特性和形式化驗證,提供了一種更爲安全的方式來處理和管理鏈上資產。並且 Move 的設計允許並行處理交易。
Move 對並行交易處理提供基礎的語言支持,並行執行的效率和可行性還是取決於底層區塊鏈如何實現 Move 語言規範。比如 Aptos Move 能夠在運行時推斷並行化,意味着系統可以自動推斷事務或操作之間的依賴關係,並決定哪些交易可以同時進行,以此來最大化使用可用的計算資源。而 Sui Move 進行並行處理時,開發者需要預先表明數據依賴關係。
Movement Labs:構建 Move 基礎設施
Movement Labs 是一家致力於通過採用和擴展 Move 編程語言來推動其區塊鏈網絡的發展的技術公司。上個月,Movement Labs 完成了 3800 萬美元的 A 輪融資,此外還獲得了 Binance Labs 的投資支持,具體金額暫未披露。Movement Labs 開發的產品 M2,目標是爲以太坊帶來並行化。
M2 以太坊上第一個 Move zk L2,由 Movement SDK 支持。M2 通過將 Move 編程語言的優勢帶入以太坊生態系統,實現更高的安全性和性能,並且它還支持與其他基於 Move 的區塊鏈系統無縫互操作。
Movement SDK:實現互操作性
Movement Labs 開發的 Movement SDK 是一個綜合性的開發工具包,推動 Move 語言的應用。並且 Movement SDK 結合了 MoveVM 的安全架構與 Solidity 的適應性,創造一個能夠支持各種區塊鏈技術和應用的框架。SDK 的核心組件包括:
MoveVM:Move 虛擬機(VM)是 Movement SDK 的核心,提供安全高效的智能合約執行環境。它遵循資源導向的計算範式,強調資產在區塊鏈生態系統中的獨特性和不可替代性。
Fractal:Fractal 充當了 Solidity 與 MoveVM 之間的橋樑。它的主要功能是允許開發者在 MoveVM 上部署現有的 Solidity 合約,確保這些合約在 Move 生態系統中的兼容性。具體來說,Fractal 解析 Solidity 合約,並進行標記化處理,將 Solidity 合約轉換爲適合 MoveVM 執行的中間語言表示。最後將中間語言表示轉換爲 MoveVM 可執行的字節碼。
自定義適配器(Custom Adaptors):這些適配器使得 Movement SDK 能夠與定序器和數據可用性層無縫集成,以支持多種不同的技術棧和基礎設施,增強互操作性。
隨着區塊鏈向高吞吐量、低延遲的互聯網級應用擴展,並行執行技術已成爲區塊鏈技術開發的重要趨勢之一。Move 語言通過其獨特的資源模型和安全機制,改善 Solidity 語言的不足之處。Movement Labs 構建 M2 將 Move 語言的優勢帶入以太坊生態系統,實現更安全的並行交易處理。