Move 語言基於 Solidity 的經驗和教訓,進行了多方面的創新和改進​,在安全性上有了大的提升,也更適用於智能合約的開發。而基於 Move 語言的新公鏈們,也給 Layer1 的發展​帶來了更大的想像空間。

作者:蘑菇

封面:Photo by Shubham Dhage on Unsplash

自區塊鏈誕生以來,整個行業已經經歷了幾輪週期輪替。目前擁有最豐富生態、影響力最大的以太坊,由於性能問題和費用問題而飽受詬病,在周期中不斷被後起之秀挑戰。

上一輪週期中,湧現出了一批新的 Layer1 項目,如 Solana、Polygon、Fantom 和 Near 等,它們都試圖在底層公鏈上進行一些改進和探索。

隨著周期進入了新一輪熊市,一波新的公鏈正在嶄露頭角。其中,最受關注的,無疑是採用了 Move 編程語言的 Libra 系項目:Aptos 和 Sui。

2019 年,當時的 Facebook(現已更名為 Meta)高調宣布推出全球流通的加密貨幣 Libra(後更名為 Diem)。後來由於監管等問題,Libra 這個項目未能成型。但這也使團隊意識到,要想真正建立有創新性的 Web3 項目,必須完全跳脫出傳統領域,進入加密領域。

Aptos 和 Sui 的開發者都曾是 Libra 的核心開發者,他們繼承了 Libra 項目中的編程語言--Move 語言,構建了這兩條新公鏈。

本文將簡單介紹 Move 語言的一些特點和這兩條公鏈的現狀。

Move 語言

Move 語言被稱為是最適合編寫智能合約的語言。許多人拿它來與目前主流的 Solidity 語言比較並認為其優於 Solidity。主要是因為 Move 在誕生之初就被針對於區塊鏈資產做了相關的優化。

資產安全

幾乎每一個區塊鏈項目都有自己的加密資產。資產的價值增長既是項目發展的結果,也是項目發展的動力。資產安全原本應該是項目發展的頭等大事。但是加密行業頻頻發生的資產被盜、資產丟失事件讓許多還未進入行業的投資者望而生畏。

根據慢霧的數據統計, 2022 年上半年發生了 DeFi 安全事件約 100 起,損失超 16.3 億美元,其中項目缺陷與合約漏洞是四大原因之首。

Move 是為操作數字資產而生的語言。最初 Facebook 團隊開發 Move 語言就是為了服務於 Diem,打造全球化的金融和貨幣基礎設施。所以 Move 必須有能力對構成金融基礎設施的各種資產和業務邏輯進行編碼。

在 Move 語言中,更強調資產和資源。用他們的說法就是 “First-class resources”。Solidity 和大多數編程語言一樣,將 Token 或者加密資產當做一個數值來處理,資產轉移的過程則是通過對賬戶進行數值加減來實現,例如 Alice 要給 Bob 轉 10 個 token,就先將 Alice 的餘額-10,再將 Bob 的餘額+10。在這個對多個資產賬戶進行加減的過程中就容易產生安全性漏洞,必須依賴於代碼的嚴謹性,才能保證財產安全。

但在 move 語言中,資產被重新定義為一個 resource(資源)類型,不再是字符串或數值變量。Move 編程語言抽象了資源的四個屬性,可複制(copy ) 、可索引 ( key )、可丟棄 ( drop )、可儲存 ( store ),通過這四個屬性的不同組合,用戶可以方便的定義出任何類型的資源。

資源優先的概念為程序員寫出安全和有效的代碼提供了很大的幫助。就像 SUI 的開發團隊編程工程師 Damir 說的:“一旦您開始像對像一樣思考,而不是像在哈希映射這樣的編程原語上構建的抽象思考,您就能時時刻刻知道自己在做什麼,就像具有無限表達性和明確說明類型一樣——過去是什麼,現在是什麼。” 這種設計讓對資源的操作變得更加具象,更清晰可見。

Move 還定義了一些資源的特性:

  • 如與賬戶進行綁定。Resource 數據必須要綁定在賬戶下面,所以只有分配了賬戶後才會存在對應的 Resource 資產,以及 Resource 只要取出後就必須有一個去向,要么將其作為返回值傳遞即流向一個賬戶,要么直接將其銷毀。可以理解成 Move 的 Token 移動是轉移,從一個賬戶轉移到另一個,而 Solidity 則是加減法,先在一處減了,再在另一處加上。
  • 再就是資產的訪問權限。在 Solidity 中,數據集中存儲在合約裡,在合約出現漏洞的時候,一旦黑客獲取到了合約權限,所有用戶數據都將遭受攻擊。而在 Move 中,數據存儲在擁有它的帳戶中,而不是合約中。Move 中有許多模塊,模塊是可以創建、轉移、存儲資產的程序,類似於以太坊中的智能合約。Move 規定只有公共模塊功能可以被其他模塊訪問。每個 resource(對象)都存儲在由所有者的帳戶控制的模塊裡。想要訪問或者修改模塊時,必須有模塊所有者的簽名,簽名者在 Move 中擁有最高級別的權限,並且是唯一能夠將 resource 添加到帳戶中的實體。此功能允許在智能合約中維護數字資產的所有權信息和特權。如果資產被發送到智能合約,所有權不會改變。在這種情況下,即使智能合約被攻擊者攻破,資產也不會丟失。

架構安全

Move 在 Solidity 的安全事件中吸取了經驗和教訓,在 Solidity 的基礎上,增加了很多的特性,在底層的安全設計上有很大的創新,讓系統變得更加安全可靠。

Move 語言有幾個特點:

  • 靜態調用。那什麼是靜態調用?靜態調用是與動態調用相對的。一個程序在調用另一個程序時,如果必須到運行時才能確定被調用的目標,則稱該調用為動態調用;反之,如果程序在運行前即可確定被調用的目標,且在運行時無法變更該目標,則稱該調用為靜態調用。Solidity 中的調用都是通過動態調用實現的,由於無法確定調用對象,所以可能造成循環調用,這帶來了很大的安全風險。例如 TheDAO 攻擊、PolyNetwork 跨鏈攻擊,就是類似的事件。Move 語言吸取這些教訓,選擇了靜態調用的設計,降低了運行時程序崩潰的可能。
  • 形式化驗證。形式化驗證就是通過數學的手段證明程序的安全性。Move 團隊為使用者開發了 Move Prover 工具,可以使用數學的手段來測試和證明合約的可靠性,開發人員可以在幾分鐘內運行測試,使他們能夠在部署前就發現代碼中的錯誤。

簡而言之,Move 是專門針對區塊鏈資產和智能合約而創立的語言,在安全性和可驗證性上都大幅優於 Solidity。

圖片
圖片來源:BuilderDao

而基於 Move 開發的幾條公鏈,例如最具代表性的 Aptos 和 Sui,也帶來了更大的想像空間。

Move 系新公鏈

Aptos

從開發進展、生態豐富度、融資進展來看,Aptos 目前是 Move 系新公鏈中的龍頭項目。

今年 3 月,Aptos 完成 2 億美元融資,同樣由 a16z 領投。參投方包括 Tiger Global、Multicoin Capital、FTX Ventures、Coinbase Ventures、Binance Labs 等頂級機構。今年 7 月 25 日, Aptos 又完成了 1.5 億美元融資,FTX Ventures 和 Jump Crypto 領投,a16z、Multicoin Capital 和 Circle Ventures 等參投,不到半年,Aptos 籌集了 3.5 億美元。

Aptos 成立於今年 2 月初,但是繼承了過去幾年 Libra 團隊的開發成果,旨在追求區塊鏈安全性、高性能、可擴展性和可升級的發展。其核心開發者都是原 Libra 項目中的開發人員。

現狀

今年 3 月 15 日,Aptos 發布了開發者測試網,5 月,啟動了激勵測試網(AIT1),為開發人員和合作夥伴提供了類似於主網的測試平台,並對所有幫助保障網絡安全的參與者提供激勵。根據 Aptos 的路線圖,激勵測試網有 4 輪,分別是:  

  • AIT1:去中心化啟動  
  • AIT2: 質押  
  • AIT3:治理和升級  
  • AIT4:動態驗證器拓撲

Aptos 激勵測試網 2(AIT2)從 7 月 1 日開始,到 7 月 22 日結束,主題是質押。共有超 225 個社區節點參與了 AIT2,這些節點分佈於全球 44 個國家和 110 個城市。每位成功的參與者獲得 500 枚 Aptos 代幣。此外,前 10% 的投票節點獲得額外的 200 枚 Aptos 代幣。

Aptos 激勵測試網 3(AIT3)從 8 月 30 日到 9 月 9 日,主題是治理和升級。

Aptos 在博客文章中表示,其測試網絡已經達到了 20,000 多個節點,同時,該測試網絡可以每秒驗證和同步超過 1 萬交易 (TPS),延遲為亞秒級,正在向超過 10 萬的 TPS 邁進。

圖片

按照路線圖,Aptos 計劃在今年 9 月份前上線主網。

安全性

除了採用了更安全的 Move 語言作為開發語言之外,在共識方面,Aptos 採用了優化後的拜占庭共識「Proof-Of-Stake Diem BFT」,在過去三年中進行了四次共識方面的迭代,以實現高事務吞吐量、低延遲及更節能。

Aptos 的 BFT 協議使網絡保持平穩運行,同時也保持世界級的速度。Aptos 使用信譽系統來更新驗證者輪換並使用 “起搏器” 同步投票。該系統在不到一秒的時間內完全驗證交易(通常稱為 “最終確定時間” 的度量),這使其成為生產中最快的區塊鏈之一。 

為保證安全性,Aptos 還啟用了大量驗證器來進行測試。為了防止密鑰丟失或被盜,Aptos 中還設置了帳戶密鑰恢復和輪換協議,具體表現為 Aptos 支持任何帳戶輪換其私鑰,驗證者還可以定期輪換他們的共識密鑰。為防止密鑰丟失,Aptos 還在開發可直接集成到區塊鏈賬戶模型中的密鑰恢復新技術。

可擴展性

Aptos 主張 Layer1 區塊鏈應該承擔更多的「可擴展性」責任,這樣才能提高主流採用。在提高吞吐量與最終確定性速度的規劃中,Aptos 計劃將共識協議與交易執行完全分離以加快交易的廣播。

Aptos 還對身份驗證的數據結構和相關的狀態存儲進行了優化,以提升性能。在驗證賬本狀態(例如賬戶餘額、智能合約等)時,內存中的小規模的 Merkle tree 是有效的,但大型 Merkle tree 無法寫入持久存儲。為解決這個問題,Aptos 正在通過探索通過訪問模式優化的緩存和版本控制來設計經過身份驗證的數據結構,且 Aptos 還在開發對大型帳戶的支持。

可升級性

區塊鏈發展速度極快,為了適應新的需求,在協議發布後如何不停運升級成為了系統剛需。可升級性是 Aptos 強調的另一重點,以解決啟動後難以做重大協議改進的問題。因此,Aptos 對區塊驗證者的管理和配置都直接通過鏈上狀態進行,以便社區投票後快速執行升級。Aptos 這樣的設計在過去幾年的測試中經受住了考驗,它在幾次重大升級中都沒有出現過停機。

生態

Aptos 舉辦過一屆 Aptos 黑客松。今年 6 月底,Aptos 推出了 2 億美元的生態系統資助計劃,資助類別包括 6 類,分別是開發人員工具、SDK、庫、文檔、指南及教程;用於開發、治理、DeFi 和 NFT 的工具和框架;核心協議貢獻:代幣標準、庫、協議升級等;開源和公共產品;教育舉措;應用程序。

據 Aptos 自己的說法,Aptos 生態已有超過 100 個項目在網絡上構建,目前其生態上的應用中有較為詳細介紹、發展路線圖的就只有 Pontem Network、Econia、Fewcha Wallet、Martian Wallet 4 個,聚焦在錢包和 DEX 應用兩方面。

圖片

Sui

2021 年 12 月,Move 公鏈裡起步最早的 Sui 公佈了 3600 萬美金的 A 輪融資,資方包括 a16z 與 NFX、Scribble Ventures、Redpoint、Lightspeed、Electric Capital、Samsung NEXT、Slow Ventures、Standard Crypto、Coinbase Ventures 等。今年 7 月 12 日,Sui 被爆出正在尋求 2 億美元 B 輪融資,估值已經達到 20 億美元。

Sui 的開發團隊是 Mysten Labs,他們設計了自己的高性能 Layer1 權益證明 (PoS) 區塊鏈 Sui,發佈於今年 3 月。

與 Aptos 一樣,Sui 也使用了 Diem 的開發語言 Move,不過 Sui 的對像模型與 Aptos 略有不同。目前 Sui 已經發布了他們的經濟學白皮書,但是開發進展較慢。

在 Move 語言的使用上,Sui 進行了升級調整,讓該語言既能編寫同質化加密資產(FT)的智能合約,也能編寫非同質化 (NFT) 資產的智能合約。

在關乎網絡性能的可擴展性方面,Sui 主打交易並行化(transaction parallelization),即網絡能夠同時處理多筆交易。在大多數區塊鏈中,區塊鏈交易必須按順序進行,而這些交易之間往往沒有任何联系或依賴。這限制了交易量的擴展。而 Sui 可以鎖定一筆交易的相關數據並實現獨立驗證,從而完成交易並行處理。

在共識協議方面,Sui 對有從屬關係的交易使用 BFT 拜占庭共識,對獨立交易採用拜占庭廣播算法進行並行驗證,因此在保證高 TPS 同時減少了節點之間通信,以實現極低的延遲。

現狀

本月,Sui 將啟動激勵測試網,目前已開放測試網註冊。Sui 基金會將為驗證者參與的每個測試網絡 wave 獎勵 2000 枚 SUI 代幣。按照路線圖,測試網將分為 4 個 wave,其中三個 wave 已確定主體,分別是:網絡、質押和升級。

圖片

生態

目前 Sui 生態上公開的項目有 8 個,主要是錢包類、鏈遊和 NFT。

結語

Move 語言基於 Solidity 的經驗和教訓,進行了多方面的創新和改進,在安全性上有了大的提升,也更適用於智能合約的開發。而基於 Move 語言的新公鏈們,也給 Layer1 的發展帶來了更大的想像空間。隨著頂級投資機構們紛紛入局,最終公鏈賽道鹿死誰手,還未可知。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。