Solidity 最強對手:MOVE 程式語言及新公鏈崛起

move

來源:mirror.xyz
作者:Jason,BuidlerDAO 、研究員Frank,BuidlerDAO、研究員 Move 小王子

新一輪公鏈敘事中有兩個亮眼趨勢:一是以 Move 程式語言為核心的高性能新公鏈,二是以 Celestia 為代表的模塊化區塊鏈。借助本文,我們簡單聊一聊最新崛起的 Move 語言系公鏈三巨頭,以及從技術視角出發,他們背後的 Move 語言究竟好在哪裡。

文章速覽:

  • Move 語言系公鏈三巨頭的崛起
  • 當前賽道霸主:Aptos
  • Resource 特性:Move 真正實現了加密資產化
  • 技術差異總結:Solidity vs Move
  • Move 未來展望與課程學習

Move 語言系公鏈三巨頭的崛起

2019 年,Meta(原Facebook)全球流通的超主權加密貨幣項目 Libra 問世,誰料想出道即巔峰,隨後因監管限制被迫轉型 Diem 無疾而終。今年 1 月底,Diem 以約 1.82 億美元的價格被 Meta 出售。Libra 與 Diem 團隊在這一過程中,留下了寶貴的遺產——彌補了 Solidity 及 EVM 缺陷的 Move 語言以及衍生出的公鏈團隊,比如最具代表性的 Aptos、Sui 和 Linera。

  • 2021 年 12 月:起步最早的 Sui 公佈了 3600 萬美金的A 輪融資,資方包括 a16 z 與 NFX、Scribble Ventures、Redpoint、Lightspeed、Electric Capital、Samsung NEXT、Slow Ventures、Standard Crypto、Coinbase Ventures 等。
  • 2022 年 3 月:Aptos 完成 2 億美元融資,同樣由 a16 z 領投。
  • 2022 年 6 月:Linera 宣布完成 600 萬美元種子輪融資,本輪融資的領投機構還是 a16 z,參投機構包括 Cygni Capital、Kima Ventures 和 Tribe Capital 等。
  • 2022 年 7 月:Aptos 完成 1.5 億美元融資,FTX Ventures 和 Jump Crypto 領投,a16 z、Multicoin Capital 和 Circle Ventures 等參投;同時 Sui 爆出正在尋求 2 億美元 B 輪融資,估值已經達到 20 億美元。
  • 2022 年 8 月:Aptos 宣布將於 8 月 30 日啟動激勵測試網3(AIT3),項目方宣布 AIT2 非常成功,有超過 225 個社區節點參與測試,分佈於全球 44 個國家和 110 個城市。按照項目路線圖,主網將於該測試網結束後上線。

不難發現,a16 z 刻意押「Move 語言系公鏈賽道」,希望三條公鏈跑出下個週期龍頭。Move 語言的三足鼎立態勢也在形成。

三條公鏈當中,開發和生態進展最快的無疑是 Aptos。截至目前,它有著相比較更強大的社區、更活躍的開發人員和更健全的 dApp 生態系統,我們在本文第三部分詳細拆解。

排在第二位的 Sui 已經發布了自己的 Tokenomics($SUI)白皮書。其經濟模型有一個獨特特點:計算費(computation fees)與存儲費(storage fees)分開支付。當用戶提交鏈上數據時,他們會同時支付存儲費與計算費(俗稱GAS)。計算費會進入 Stake rewards 完成分配,部分轉移至 Storage Fund;存儲費直接轉入 Storage Fund,隨著網路的增長和成熟,該基金用於補貼未來存儲成本的增加。這一設計將鏈上數據的存儲權回歸用戶,用戶可以選擇刪除鏈上的數據來取消存儲費。

此外,Sui 的開發工具包(SDK)嘗試連接其他生態系統和非加密應用,包括 Gaming APIs、SuiEcho、Handshake 等有特色的 SDKs。但其生態應用佈局與 Aptos 相比非常寒酸,公開報導中僅有數個錢包相關的生態項目。

相較於 Aptos 與 Sui,Linera 顯得起步較晚且更加低調,在今年 6 月 18 日發布的官方推特中僅展示了官網鏈接及使命。參考蜂巢 Tech《新生代公鏈再攻不可能三角》中的研究:Linera 致力於能將這兩個支付系統的速率引入到應用型的區塊鍊網絡中,使鏈上用戶的操作在幾分之一秒內就能得到確認。在網路性能方面,Linera 提出了「線性擴展」的概念——通過增加機器數量來使系統容量加倍。目前,區塊鏈優先考慮「順序」執行的模型允許帳戶和智能合約在一系列交易中進行交互(如閃電貸),但阻止了線性擴展。在 Linera 的線性擴展模型中,不同用戶帳戶的操作可在不同的執行線程中同時運行。

當前賽道霸主:Aptos

今年 3 月 Aptos 啟動了開發者測試網,5 月 Aptos 啟動激勵測試網註冊,並將激勵測試網分為 4 輪:「去中心化啟動」、「質押」、「治理和升級」以及「動態驗證器拓撲」。當前其測試網絡已經達到了2 萬多個節點,使其成為當今最大的已知權益證明節點社區。Aptos 直言,社區的發展遠遠超出了他們此前最瘋狂的預期。而根據計劃,Aptos 激勵測試網的剩餘兩個階段預計會在接下來兩個月間完成,到了9 月底,Aptos 就將啟動主網。

雖然長期來看,新公鏈最後贏家尚不明確;但是短期來看 Aptos 無疑佔據著「Move 語言系公鏈賽道」王者地位,這由其開發速率和生態建構共同奠定。

Aptos 的明星團隊讓其在創立初期就收到眾多明星資本加持。根據 ForesightNews 報導,其聯合創始人兼首席技術官 Avery Ching 曾在 Facebook 擔任首席軟體工程師超過 10 年,並且是原Meta 旗下加密平台 Novi 團隊的技術負責人;Alden Hu、David Wolinsky 等大部分開發團隊都參與了 Diem、Novi 的開發。其設計重點是絕對安全、可擴展性和可信的中立性,最終目標是能夠在一秒鐘內處理 10 萬甚至 16 萬筆交易。在這樣的強技術團隊下,Aptos 也充分展現了自己研發戰鬥力,打造瞭如下突出的邊際優勢:

Aptos 團隊對其共識機制- 拜占庭容錯(BFT,理解此概念的可參考 CSDN 這篇文章:進行了四次迭代,以實現高事務吞吐量、低延遲與高穩定性,在三分之一的驗證節點故障時,仍能保證穩定運行。

有望比老牌公鏈有更快的交易處理速度,根據 Aptos 測試網數據,當前該網絡每秒可處理 1 萬筆以上的交易,理想狀態下,Aptos 主網每秒可處理 16 萬筆交易。公開資料表明,近期有機構對各大公鏈的速度進行了測試,Aptos Max TPS 遠超包括 Solana 在內的老牌公鏈。

Aptos 在 7 月正式公佈 30 餘個生態項目,雖然眾多處於測試網和開發階段,可交互的只有錢包和 DEX,但是相比較於其他 Move 語言生態公鏈遙遙領先。如今公佈的生態項目類型包括錢包(Hive)、DEX(Pontem Network)、流動性協議(NjordFinance)、NFT(Topaz.so)、瀏覽器(Aptosscan)及數據分析工具(Dapptos View)等主流 dApp 賽道。

充分利用 Move 開發語言與當前主流公鏈 Solidity 語言差異化競爭。我們接下來從技術視角詳細解讀 Move 語言關鍵優勢。


Resource 特性:Move 真正實現了加密資產化

Move 語言被譽為最適合編寫區塊鏈智能合約的語言之一,並且多次被拿來與目前主流的Solidity 進行比較並力壓其一頭,主要原因是 Move 對於區塊鏈最核心的 Token 資產進行了更為貼合的處理,彌補了 Solidity 在直觀性和安全性的缺陷,這裡我們單獨將其最具有特色的 Resource 類型進行重點講解。

因資產上鏈使得安全問題成為了區塊鏈核心要解決的問題。在 Web2 中如果產品 Bug 或者數據洩露,難以導致用戶資產損失,最多引發產品崩壞或個人訊息洩漏、黑市販賣,但是因為資產上鏈使得智能合約一旦出現了 Bug 就會直接導致背後無數的用戶資產外流或者被鎖死。我們也可以經常從新聞看到駭客對某些交易平台或跨鏈橋進行攻擊產生了數以億計的資產損失,BuidlerDAO 之前也產出過大量的研報對這些事件進行研究,大部分都是因為合約出現了比較低級的問題被駭客盯上所導致的。這引發了一個需要讀者註意的關鍵屬性:Solidity 是面向區塊鏈智能合約的程式語言,但不是面向區塊鏈鏈上資產的程式語言。

為什麼這樣說呢?舉個例子,Solidity 和絕大多數程式語言一樣將 Token 作為數值變量處理,就是將 Token 的轉移過程是進行加減法操作的,即張三要給李四轉 10 塊錢,於是則先將張三的餘額-10,再將李四的餘額+10。

所以在 Solidity 中資產就是一個可以被加減的數字,那麼這裡面就需要合約代碼非常嚴謹,比如在進行加減法操作時出現了一些問題,給張三-10,李四+20,或者張三-0,李四+10 呢?因為這個過程就是通過很多代碼邏輯去來回在若干個錢包中進行加減操作,很難保證不會出現一些問題。

究其原因是資產在 Solidity 中沒有被特殊定義,只是將其看作和年齡、電話等一樣的變量。而資產的定義本就應該是獨一無二的,就像是在物理世界中,我手裡有一塊金條,我要將它給某個人,不論給予中間的過程是怎麼樣的,這個金條不會從 1 根變成 2 根。所以我們常說的加密資產,在 Solidity 中只可稱之為可以被加減的數字,而談不上資產。

Move 的可撰寫 Resource 是其變得安全且強大的核心,實現了真正意義上的加密資產化。 Resource 是一種數據類型。數據類型即定義一種數據結構的方式:

  • 字符:比如姓名、住址,是 String 類型;
  • 數字:比如年齡、電話,可以是 Int 類型;
  • 是否、對錯:一些對立,則可以用 Boolean 的 Ture 和 False 來表示。

Move 認為 Token 資產是一種很特殊且重要的數據,不應該用普通的數值類型來定義和表示,所以單獨創建了 Resource 來定義鏈上資產。這種方式呈現出三個特性:

Resource 在 Move 中依然是以一個數值的形式存在,可以作為數據結構被儲存,也可以作為參數被傳遞和返回。

Resource 可以安全的表示數字資產,它的特殊在於不能被複製,丟棄或重用,但是它卻可以被安全地存儲和轉移,並且 Resource 類型的值只能由定義該類型的模塊創建和銷毀,所以其實現了資產的含義而非數字。

Resource 適配了區塊鏈應用特性,如與帳戶進行綁定。Resource 數據必須要存儲在帳戶下面,所以只有分配了帳戶後才會存在對應的 Resource 資產,以及 Resource 只要取出後就必須被「使用」,用內置的 Move_form 方法將資產從帳戶中取出後,要麽將其作為返回值傳遞即必須要流向一個地方,要麽直接將其銷毀,這意味著資產取多少就用多少。還記得 Solidity 是如何操作的嗎?它將一個地址的餘額減少,再去另外一個地址增加,然後通過代碼使得減少和增加的數字是一致的,所以在 Solidity 是完全靠代碼邏輯強硬的實現了資產使用,但是 Resource 則是在底層將資產的概念進行了封裝而非加減法,避免了資產憑空產生和隨意訪問,極大的提高了安全性,可以將 Move 的 Token 移動看作是搬磚,從一個地方搬到另一處,而 Solidity 則是加減法,一處減了,另一處加上。

綜上所述,Move 是一種更加原生且貼合的專用於發行加密資產的程式語言,它實現了程式與加密資產的直接集成。


技術差異總結:Solidity vs Move

從 Bitcoin 的 Script 過渡到 Ethereum 的 Solidity,經歷了 DeFi 的洗禮,Solidity 無疑是成功的。但是分析最近半年那些歷歷在目的安全漏洞,例如 PolyNetwork、Horizon、Nomad、Solana 等等,讓人不寒而栗。對比不可能三角,如何保障鏈上資產的安全,已經成了整個行業急需面對的主要問題,a16 z 正是看中了這一潛在的剛需,一口氣領投了Move 的三大公鏈。

未來擁抱 Web3 時代,在這些漏洞的背後,VM 也在不斷的查缺補漏,例如修復原來的溢出問題,但是底層設計上的缺陷很難有質的改進。不同於以往的開發經驗,DeFi 應用本質上是開源、透明的金融系統,對於安全性有極高的要求。所以針對金融場景,設計更安全可靠、低門檻的智能合約語言也許不失於更好的選擇。

Move 在 Solidity 的基礎上,增加了很多的特性,具備極好的安全性和工程能力。Move 從Solidity 真實的安全漏洞中吸取寶貴的經驗教訓,在底層的安全設計上有重大的創新,在保證語言表達能力和靈活性的同時,也讓開源系統更加安全可靠。

舉個例子:假設有 100 個 Token,在 Solidity 中,黑客能夠輕易的將 100 個 Token 複製成更多的 Token(參考無限增發的漏洞)。但是在 Move 中,只要將 Token 定義成 Resource 類型,從虛擬機層面保證 Token 是不可以複製和修改的,駭客絕對不能通過複製來盜取 Token。

對 Move 來說,類似的優點很多:

  • 面向資源的程式語言

Move 專門針對金融場景進行了增強,引入了面向資源程式語言。對於 FT 和 NFT 等常用場景,Move 將數據定義成資源,能夠從虛擬機層面保障了數據的安全。

  • 純靜態語言

動態調用是 Solidity 的基石,所有的跨合約調用都要通過動態調用來實現,例如 DelegateCall,但是也是大部分安全漏洞的入口,例如 TheDAO 攻擊、PolyNetwork 跨鏈攻擊等等。鑑於Solidity 的真實經驗,Move 採用了完全純靜態的實現,更好的保障鏈上資產安全。

  • 形式化驗證

形式化驗證是FV (formal verification) 是指使用數學工具分析設計可能行為的空間,而不是計算特定值的結果。也就是說,通過數學的手段證明程序的安全性。Move 自帶形式化驗證的工具,我們可以使用數學的手段來測試和證明合約的可靠性,這是 Solidity 不可比擬的優勢。

  • 分散存儲

Web3 時代,用戶掌握數據是所有權。Solidity 是通過 Map 的形式,集中存儲合約數據,在合約出現漏洞的時候,例如獲取到了合約 Owner 權限,所有用戶數據都將遭受攻擊。Move 巧用Resource,能夠將數據分散的存儲到每個用戶自己的 Account 下,既保證了數據的安全,又真正的做到了數據的所有權歸用戶所有,合約的 Owner 沒有修改數據的權限。

面向泛型的程式語言

出於安全的考慮,Move 設計成了純靜態語言,但是靈活性並沒有因此而減少,Move 通過面向泛型編程,保障了合約的擴展性,增加了代碼的複用能力。


Move 未來展望與課程學習

從 Script 到 Solidity 是合約表達能力的變革,從 Solidity 到 Move 是合約安全能力的變革。

Move 是對開發者友好的。Move 語言的宗旨就是,降低開發者的安全門檻。合約開發者可以專注於業務邏輯,無需在代碼安全上面花費很多的心思。只有讓合約開發者在無感的情況下寫出高安全性的代碼,遠離那些低級 Bug 導致的安全漏洞,才能讓 DeFi 更安全,才能讓用戶更放心。Move 還有很多優良特性(例如工程能力)我們未在本文展開說明,但是非常值得探索的方向。

參考文章:

— 精選交易所文章 —

交易所特色優惠
Max可以使用銀行台幣出入金6 個月內 20% 手續費折扣,質押平台幣 MAX 最高可享 60% 折扣
Binance全球最大交易所,幣種與理財產品齊全終生 20% 手續費折扣
FTX具有豐富的現貨與衍生品產品終生 5%手續費折扣
Bybit豐富的衍生品交易應邀成為 Bybit 用戶,即可獲得 $20 體驗金。還有專屬獎勵 價值高達 $3,230!
Kucoin較多新上線的潛力新幣種終生 20% 手續費折扣
AAX年化報酬率為目前全交易所最高註冊即享 110 USDT,合約贈金和最高 50USDT 新手獎勵

更多交易所資料:加密貨幣新手入門大百科

本文不構成投資建議,虛擬貨幣波動大請謹慎小心

掌握虛擬貨幣、區塊鏈大小事

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。