新型智能合約程式語言 Move 和 Solidity 有什麼不同?
作者:0XNATALIE,ChainFeeds Research
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 完成了 3,800 萬美元的 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 語言的優勢帶入以太坊生態系統,實現更安全的平行交易處理。
免責聲明:作為區塊鏈資訊平台,本站所發布文章僅代表作者及來賓個人觀點,與 Web3Caff 立場無關。文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。