最近,基於Move語言的區塊鏈項目即Aptos ,被廣泛關注。截止到今天爲主(09.13)Aptos,社區成員已經突破10w 用戶,生態項目覆蓋Wallet、DEX、DeFi、Web3、NFT和MemeCoin、Game & Metaverse等多個領域;據統計到的數據,生態項目已達250+。
自以太坊以來,出現了許多新的layer1 區塊鏈,旨在解決已有公鏈尚未解決的的難題。區塊鏈努力平衡去中心化、可擴展性和安全性的三難困境。其中大多數旨在實現可擴展性以促進使用率。Aptos 旨在解決困擾現有Layer1的可靠性、可擴展性和可用性問題,同時具有基於 EVM 的區塊鏈缺乏的安全功能。
Aptos 以高性能著稱,其背後是基於Move智能合約編程語言。關於Move 褒貶不一,有人稱其爲智能合約發展的未來,也有人持謹慎態度,認爲其並無太多創新。在衆多公鏈的角逐中,我們可以看到使用最爲廣泛的Solidity 語言、高性能的Rust 語言,基於Move 語言的是否能夠勝出?
Solana/Rust 與 Sui/Move
《智能合約發展:Move 與 Rust 對比研究1》一文對Solana/Rust 與 Sui/Move進行比較,其關鍵點如下:
智能合約是關於數字資產的編程,現有的編程語言和編程模型並不能適用。我們希望能有一種語言模型,能夠自然地與資源打交道,但同時又與不受信的代碼互動。
基於Rust的Solana在這裏做了妥協,它使智能合約在一個不信任環境中具備了必要的可編程性,但其編程模型並不自然。字節碼驗證使其有可能同時擁有這兩種特性。在某種程度上,它把不受信代碼變成了受信代碼。
基於Move的Sui,核心創新之處在於字節碼,被特意設計爲可被驗證。雖然字節碼驗證本身並不是一個新概念,但Move所做的驗證確實是一種創新。通過其字節碼和驗證,Move實現了一個智能合約編程模型,對資源支持並保證在一個不受信任的環境中安全編程。
Move對智能合約开發的作用就像React對前端开發的作用一樣。說“用Move做的事能用Rust做”就像說“用React做的事能用jQuery做”一樣。當然有可能實現基於jQuery的應用,能夠與React應用相當,但這並不實際。React引入了虛擬DOM的概念,這對开發者來說是完全易懂的的,但使前台的开發速度更快、可擴展、更簡單。同樣,Move的字節碼驗證是一種底層技術,對开發者來說也易於理解,但它提供了一個更符合人體工效學、可組合、更安全的智能合約开發。由於其安全性和更直觀的編程模型,Move也大大降低了智能合約开發者的准入門檻。
Move對Solana的威脅
基於Move智能合約的开發時間要快得多。在Move中從頭开始开發一個智能合約可能比在Rust中快2-5倍。因此,Move生態系統的發展可以超過Solana。由於區塊鏈的开放性和無許可性,不存在嚴重的鎖定效應。Solana的开發者可能純粹因爲經濟考量而被迫採用Move——要么轉到Move,要么被Move的开發者超越。
Move的入門門檻比Rust或Solidity低得多。因爲Move語法更簡單,編程模型更直觀。一些开發人員無法用Rust或Solidity進行智能合約开發,但在Move中可能能夠進行。由於需要學習的概念較少,非智能合約开發者進入Move,要比進入Rust(Rust本身就是一種復雜的語言,再加上Solana的概念,如PDA,會給初學者帶來很多困惑)或Solidity(你需要熟悉語言中非常精細的細節,如重入,以便能夠开發安全的智能合約)容易得多。即使現有Solana和Solidity开發者不轉向Move,尚未進入該領域的开發者市場也比該領域現有的开發者數量多出好幾個量級。由於Move的准入門檻較低,且开發速度更快,它比Rust或Solidity有更好的產品市場適應性,可以從這塊蛋糕中分得更大一杯羹。
智能合約簡史:比特幣與以太坊
除了以上對比之外,我們可以再回顧下比特幣和以太坊。比特幣的出現向世界展示了分布式账本技術是如何工作的,以及人們如何建立一個完全基於密碼學的金融系統。比特幣很強大,但只實現一個功能:記账。要擴展這種分布式账本模型以獲得更多實用性,必須構建另一個區塊鏈網絡。如:用於加密傳輸的網絡、內容網絡,音樂共享網絡等等。這就是以太坊作爲可編程區塊鏈平台發揮作用的地方,它允許構建和部署稱爲智能合約的鏈上程序。开發者部署不同的智能合約來創建加密貨幣或 NFT,或者構建共享相同底層基礎設施的 DeFi 平台或 NFT 市場。
以太坊於 2015 年推出時,實際上無法看到它可以做什么,或者將在其上構建什么樣的智能合約。現在,經過七年多的發展,從業者對dApp和區塊鏈有了更好的了解。幾乎所有能夠更好地利用區塊鏈特性的 dApp 都與資產或所有權有關。不同的編程語言用於各種功能。例如,SQL 或結構化查詢語言與 JavaScript 不同。前者跨多個數據庫對結構化數據執行操作,而後者用於开發交互式網頁的跨平台應用程序。但是,盡管區塊鏈的透明度、去中心化和防篡改使交易更加安全,但它在數據存儲方面比傳統的集中式金融系統更慢且成本更高。此外,盡管有一些量身定制的鏈上數據存儲機制,但以太坊的智能合約語言和虛擬機(VM)大多基於中心化編程語言。它對數字資產和所有權等高價值數據的處理與客戶十二生肖等低價值數據沒有任何不同。由於大多數 dApp 處理的是高價值資產,它會促使黑客在區塊鏈智能合約中尋找漏洞,發生了許多安全事件,導致大量資產損失。有些是故意攻擊,例如 DAO 的重入黑客;有些是意外事故,例如 Parity 錢包的鎖定。
Aptos的資源模型
Apots和Sui 都是基於Move的變體,通過採取不同的機制,來實現同樣的功能。Aptos的資源模型如何解決以上問題的?本文對Aptos的新功能,進行回顧。
在 Move 語言中,有價值的資產作爲資源單獨處理。受 Haskell 和 Rust 中的线性類型以及 Rust 的所有權模型的影響,Move 中的資源受到一定的限制:
資源保證了安全,因爲它們永遠不會被復制或丟棄,總是只通過一次;
只有特定的指令才能創建或銷毀資源,所以开發者只需要更加關注這些創建和銷毀的過程,並正確實施即可;
這些資源存儲在用戶的存儲帳戶中。除了更高的安全保證之外,資源可以以與其他原生類型相同的方式使用。它們可以存儲爲數據結構並作爲參數傳遞給函數或從函數返回。
由於這些特性,Move 模塊(基於資源模型的智能合約)有很多好處:
安全性:用資源構建智能合約更安全。以太坊的常見攻擊,如重入,幾乎不可能發生在作爲資源存儲的資產上;
性能:由於資源存儲在用戶帳戶中,而不是像以太坊的 EVM 這樣的共享智能合約存儲中,因此並行運行多個事務要容易得多。例如,以太坊上的所有 USDC 轉账都必須按順序運行。相比之下,Aptos 上的 USDC 轉账僅在發送方和接收方的账戶存儲上運行,這使得並行交易變得可行。
公平性:在區塊鏈上存儲數據成本高昂,因爲它需要多個账本管理員(也稱爲礦工)來保存數據記錄。在 Aptos 上,用戶的資源存儲在帳戶中,這使得收取存儲租金成爲可能。用戶存儲的資源越多,支付的租金就越多。這不僅在收取存儲費方面是公平的,而且還鼓勵用戶刪除無用的數據。
此外,Move的語法使其有可能用形式化驗證來證明一個函數完全做了它應該做的事情,並且永遠不會產生意外的結果。
結論
與其他區塊鏈相比,具有資源模型的區塊鏈有很多優勢。它們可以實現安全性、性能和公平性,如果想把下一個10億用戶帶到區塊鏈上,這一點至關重要。Move的歷史並不長,但我們有理由相信這是一項偉大的技術並給智能合約的發展帶來革命性的變革。
參考
https://medium.com/@kklas/smart-contract-development-move-vs-rust-4d8f84754a8f
https://github.com/move-language/move
https://aptos.dev
https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:Aptos對比回顧:Move 語言和資源模型
地址:https://www.torrentbusiness.com/article/15662.html
標籤: