首頁 > 旅遊

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

由 深研鏈 發表于 旅遊2023-02-01

簡介3. Resource 特性:Move 真正實現了數字資產化Move 語言被譽為最適合編寫區塊鏈智慧合約的語言之一,並且多次被拿來與目前主流的 Solidity 進行比較併力壓其一頭,主要原因是 Move 對於區塊鏈最核心的 Token 資

t3怎麼增加專案名稱

新一輪公鏈敘事中有兩個亮眼趨勢:

一是以 Move 程式語言為核心的高效能新公鏈,

二是以 Celestia 為代表的模組化區塊鏈。

藉助本文,我們簡單聊一聊最新崛起的 Move 語言系公鏈三巨頭,以及從技術視角出發,他們背後的 Move 語言究竟好在哪裡。

全文 5288 字,預計閱讀時間 13 分鐘

文章速覽:

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

02/ 當前賽道霸主:Aptos

03/ Resource 特性:Move 真正實現了數字資產化

04/ 技術差異總結:Solidity v。s。 Move

05/ Move 未來展望與課程學習

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

2019年,Meta(原 Facebook)全球流通的超主權數字貨幣專案

Libra

問世,誰料想出道即巔峰,隨後因監管限制被迫轉型

Diem

無疾而終。今年 1月底,Diem 以約1。82億美元的價格被 Meta 出售。Libra 與 Diem 團隊在這一過程中,留下了寶貴的遺產——彌補了 Solidity 及 EVM缺陷的 Move 語言以及衍生出的公鏈團隊,比如最具代表性的 Aptos、Sui 和 Linera。

2021年12月,起步最早的 Sui 公佈了 3600 萬美金的 A 輪融資,資方包括 a16z 與 NFX、Scribble Ventures、Redpoint、Lightspeed、Electric Capital、Samsung NEXT、Slow Ventures、Standard Crypto、

Coinbase

Ventures 等。

2022年3月,Aptos 完成 2 億美元融資,同樣由 a16z 領投。

2022年6月,Linera 宣佈完成 600 萬美元種子輪融資,本輪融資的領投機構還是 a16z,參投機構包括 Cygni Capital、Kima Ventures 和 Tribe Capital 等。

2022年7月, Aptos 完成 1。5 億美元融資,FTX Ventures 和 Jump Crypto 領投,a16z、Multicoin Capital 和 Circle Ventures 等參投;同時 Sui 爆出正在尋求2億美元 B 輪融資,估值已經達到20億美元。

2022年8月,Aptos 宣佈將於8月30日啟動激勵測試網3(AIT3),專案方宣佈 AIT2 非常成功,有超過 225 個社群節點參與測試,分佈於全球 44 個國家和 110 個城市。按照專案路線圖,主網將於該測試網結束後上線。

不難發現,a16z 刻意押注“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 相比非常寒酸,公開報道中僅有數個錢包相關的生態專案。

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

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

2. 當前賽道霸主:Aptos

根據蜂巢 Tech 的報道,今年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 這篇文章:https://blog。csdn。net/qq_40713201/article/details/124618644)進行了四次迭代,以實現高事務吞吐量、低延遲與高穩定性,在三分之一的驗證節點故障時,仍能保證穩定執行。

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

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

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

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

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

3. 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 是一種更加原生且貼合的專用於發行數字資產的程式語言,它實現了程式與數字資產的直接整合。

4. 技術差異總結:Solidity v.s. Move

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

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

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

從上面可以看出,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 透過面向泛型程式設計,保障了合約的擴充套件性,增加了程式碼的複用能力。

5. Move 未來展望與課程學習

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

Move 是對開發者友好的。Move 語言的宗旨就是,降低開發者的安全門檻。合約開發者可以專注於業務邏輯,無需在程式碼安全上面花費很多的心思。只有讓合約開發者在無感的情況下寫出高安全性的程式碼,遠離那些低階 Bug 導致的安全漏洞,才能讓 DeFi 更安全,才能讓使用者更放心。

Tags:MOVESolidityAptosResource資產