資深開發團隊:為什麼Move將超越Solidity成為主流編程語言?

最近Aptos 、 Sui 的新熱潮帶火了Move 相關的生態概念。我們團隊從事Move 相關的工作一年多,算是全球最經驗最多、踩坑最多的開發者團隊之一,藉此分享一下對Move 的看法與理解。

作者:3NJOY Lab(旗下運營Wav3 和Souffl3) 創始人Flex

轉自:《為什麼我認為Move終將超越Solidity》

最近Aptos 、 Sui 的新熱潮帶火了Move 相關的生態概念。我們團隊從事Move 相關的工作一年多,算是全球最經驗最多、踩坑最多的開發者團隊之一,藉此分享一下對Move 的看法與理解。

我們團隊過往在 Ethereum、 Solana 生態上都開發過項目,而自從我接觸了 Move 之後一直保持著一個觀點:Move 是目前最先進的智能合約語言,未來是一定會超越Solidity 生態系統的,這也正是我們團隊堅持在 Move 領域持續開發的源動力。

為資產安全而生

現今數字資產概念在不斷擴展,“數字”的屬性不斷被弱化, “資產”的屬性不斷被強化。幾乎每一個加密項目都會有加密資產,並且加密資產的不斷增值往往成為項目發展的動力,但資產的增值與項目的發展離不開資產安全。

資產安全似乎是所有平台應該給予的基本保障,但事實卻令人沮喪,我們已經看到了一次又一次的被盜事件。

這讓我意識到Move 的優越性。 Move 編程語言通過資源定義與控制權限分離、靜態類型、泛型、模塊系統、形式化驗證等特性使得智能合約語言更適合其面向資產的場景,從智能合約層面保障數字資產的安全。而通過資源定義與權限控制分離,不僅明確了資源屬性,也讓用戶可以靈活地管理和轉移資產,同時提供安全和保護措施,防止這些資產受到攻擊,這讓Move 語言有相比Solidity 更高的安全性。

面向資源編程

除了安全之外,最吸引我的還是 Move 更具有表現力的面向資源編程的理念,當然,這種理念也是它是讓它更安全的的特性之一。

在Move 裡,資源( Resource )是一等公民,在編程的時候是必須被首先考慮的被編程對象。

Resource 可以對應到我們物理世界中的實物,創造出來是需要有一定的權限或者消耗其他Resource 的,而創造出來之後不能被複製也不能憑空消失。就像是一杯咖啡,只能選擇喝掉或者倒掉( drop ),不能複制( copy)。

當我們在編寫合約的時候最重要的事情就是思考如何定義Resource 的屬性,Move 編程語言抽象了資源的四個屬性,可複制( copy )、可索引( key )、可毀滅( drop )、可儲存( store ),通過這四個屬性的不同組合,用戶可以方便的定義出任何類型的資源。這種針對Resource 的設計天然就保證了一些常見的安全問題比如復制增發不會在出現。

Move 通過對資源操作權限的抽象,用戶可以明確定義資源可被操作的行為,從而將自己的注意力轉移至其他更應該被關注的地方,編寫正確的業務邏輯,實現正確的訪問控制策略等等。

提高可組合性

過去我們一直在講智能合約的可組合性,而在Solidity 生態的智能合約的可組合性更像是基於Interface 間通過消息傳遞進行的組合。而在Move 是基於Module 間的組合,通過資源的傳遞進行交互。

怎麼理解他們之間的不同呢?以建造一個汽車工廠為例,Solidity 的做法是定義了這個工廠的生產標準以及流程,每一個想來造汽車的人都需要先造一個符合生產標準及流程的工廠,然後才能創造汽車。而Move 的方式是工廠就只有一個,想要造汽車的人使用這一個工廠就能造出來大家都認可的汽車。

這樣帶來的好處一方面是節省了合約佔用的區塊空間,我們不需要重複創造工廠了,另一方面的好處是優化升級變得容易,不會自縛手腳了。

比如在以太坊上,當我們想擴展一些新的行為或者做一些實現上的優化,那我們需要重新定義過往的接口,同時也會影響舊的方法,像ERC 721 和ERC 721A, ERC 4907 這些優化和新的定義,是沒有辦法直接讓過去所有使用了ERC 721 的合約直接進行升級迭代的。

而Move 基於Module 間的組合只需要對Module 進行升級和優化,所有使用過這個Module的其他合約都會自動使用最新的版本。

這種合約層面的可組合性和麵向資源的編程帶來的表現力與可擴展性是其他語言無法帶來的。同時針對資源的定義也更貼近現實世界中各種資源的組合方式,比如樂高, 組裝電腦的主機的各種配件。

Move 這些特點帶來的一個關鍵性的好處就是可以非常明確的將資源的定義和資源相關的行為進行拆分。

就像一個物品,物品的本身定義只是決定了他以什麼形態展示,具有那些屬性,能夠以什麼方式被銷毀。而他的所有權,是否可以進行轉讓等等相關的行為,完全有物品的所有人或者使用方來決定。

這跟現實世界是高度相似的,當一個商品擺在貨架上的時候,是可以被任何人購買的。而當商品放在保險櫃裡,就收到了其他規則的限制。

總結

資產安全、資源抽象、可組合這些都是Move 在語言層面上的特性,綜合來說,我認為它是最適配鏈上應用開發的語言,它的特性與DeFi、 NFT 等產品的需求高度契合,並且Aptos、Sui、Starcoin 等新公鏈存在市場空白,NFT、DeFi 等業態尚未成熟,我認為以Aptos 為代表的新公鏈崛起將是所有掌握Move 語言團隊的巨大機會。

這也是為什麼3NJOY Lab 下的兩款產品Souffl3 和Wav3 會在第一時間all in Move 生態從事NFT 領域的基礎設施方向的工作。

隨著 Aptos 和Sui 的測試網上線與開發者社區的不斷壯大, Move 走入了更多人的視野,我們團隊也期待看到,越來越多的人可以利用這些語言上的特性和優勢,搭建更多有意思的應用場景。

當網絡從3G 升級到4G 的時候,大多數人不知道更快的移動帶寬有什麼用,但網絡提速催生了移動互聯網的大爆發。

當 Move 和Aptos 這些公鏈出現,大多數人不知道更低GAS、更高TPS 的區塊鍊和這門新的合約語言組合在一起會有什麼用——我們也不知道,但我們相信,技術進步將會推動產品創新——正如歷史已經顯現過的經驗一樣。

在2022 年,我們可以期待 Aptos 和其它使用Move 作為合約語言的公鏈上將會有豐富的應用雨後春筍般湧現出來,就像轟隆作響的蒸汽火車頭,將帶著加密網絡向下一個去中心、可組合、安全的未來駛去。

Total
0
Shares
Related Posts