Move 雙子星:Sui 與 Aptos 如何挑戰區塊鏈格局

YBB Capital
2024-08-14 15:26:07
收藏
Move 程式語言源自 Meta 的 Diem 項目,經過演變成為 Sui 和 Aptos 兩大區塊鏈的核心基礎。

作者: YBB Capital Researcher Zeke

前言

近期市場愈發冷淡,圈內不少OG也開始對行業存在的意義產生動搖。說點我個人的感想,我始終覺得過去許多偉大的願景之所以被"證偽",是因為這些願景從一開始就不能邏輯自洽。在非金融應用之外的Dapp,總是試圖以強調去中心化價值的方式來掩蓋產品本身並不夠優秀。但事實是,他們讓我不要相信谷歌、推特、YouTube,轉而相信他們的多簽錢包和單機伺服器足夠安全。很多願景並不是被證偽,而是從來沒有被真正的驗證過。我依舊相信大部分願景就算沒那麼宏偉,也都有其意義,它們也許只是需要足夠的底層去支撐。最終在去中心化以及媲美Web2的良好體驗上,至少可以提供一者。就像從前TON與Solana同樣被人所輕視,但如今在多方面的表現上正在逐步追上老大哥,承載應用的公鏈需要創新,這在每個週期都會推動行業進步。所以,我們在今天將要探尋一個長期以來一直沒被重視的公鏈類型,Move系。

一、Move

Move 編程語言最初誕生於 Meta 的遺棄項目 Diem(最初稱為 Libra),該項目最初旨在創建一個更穩定、更受監管的穩定幣,作為其元宇宙願景的基底。然而,事與願違的是,該項目遭到了來自全球監管機構的強烈反對和持續的壓力。監管機構擔心 Diem 的規模和 Facebook 龐大的用戶群可能會對金融穩定、貨幣政策和數據隱私構成威脅,拜登政府牽頭的施壓,最終導致 Meta 不得不放棄 Diem 項目。

但值得慶幸的是,Diem的核心並沒有被遺棄,從原團隊中分拆出的不同派系依舊在堅持對Move的挖掘與開發,到如今已演變為我們所熟知的Move雙子星Sui、Aptos。除此之外,還有尚在襁褓之中的Linera(借鑒Move的Rust公鏈),近期在大力宣發的Movement等多個公鏈項目。

那麼為何一個腰斬項目的餘溫能有如此之大呢?Move作為Web2頭部大廠對於區塊鏈編程語言的一份答卷,其功底不必多說,在設計上也圍繞現有區塊鏈編程語言(尤其是Solidity)做了許多性能與安全問題上的反思,其設計目標是為資產管理和訪問控制執行量身定制一個類型系統。我個人總結為簡單三點:

  • 安全性: Move 語言設計的大前提在於安全性,它使用靜態類型檢查和資源管理來防止常見的安全漏洞,例如溢出錯誤和重入攻擊。對比於其他語言虛擬機,Move支持多種安全功能,下圖引用Nansen的對比。

  • 可組合性: 支持模組化和可組合性,允許開發人員輕鬆地創建和組合不同的智能合約,從而構建更複雜的應用程序。

  • 性能: Move 語言的虛擬機經過優化(支持並行、內存管理、編譯器優化),可以高效地執行智能合約,從而提高交易速度和吞吐量。

在模組化EVM公鏈充斥市場的當下,Move其實算一種勇敢的嘗試。我所說的上訴三點,你可能也在很多公鏈項目的介紹裡看過類似的,我更建議親身去體驗才能具像化這些文字。

二、Sui

2.1 架構

作為雙子星之一的Sui,在上線初期一直因空投問題和代幣釋放方式而飽受詬病。但拋開這些問題,只說項目本身。Sui至少在性能和體驗方面是足夠優秀的,並且在遊戲上的表現極為出色,這都離不開其自身為主流採用所進行改良的架構設計。在這裡我先簡單描述一下Sui在架構上的創新:

  1. 對象存儲模型:該組件是Sui對Move改良後的核心組件,所謂對象儲存模型是將數據存儲為獨立的對象,每個對象都有唯一的標識符。與傳統的數據庫系統不同,對象存儲模型沒有固定的數據結構,可以存儲各種類型的數據,例如文本、圖像、視頻、音頻。這種模型允許並行執行和水平擴展(添加節點來擴展存儲容量),Sui在設計上是圍繞著該模型展開的。

  2. 因果排序:確保交易的執行順序符合因果關係,避免出現數據衝突和不一致性。這使得 Sui 能夠處理大量並發交易,並保持數據的一致性。

  3. Narwhal 和 Bullshark 共識引擎: Sui 使用 Narwhal 和 Bullshark 作為其共識引擎,Narwhal 負責交易排序和驗證,其工作原理是通過維護本地交易池,根據交易的因果關係進行排序並廣播,確保所有節點都擁有相同且有效的交易順序。而Bullshark在收到Narwhal排序後的交易列表時會對交易列表進行投票,並使用拜占庭容錯共識來確保所有節點都對交易列表達成一致。

  4. Sui Move: Sui 在 Move 語言的基礎上進行了擴展,增加了新的功能,例如支持 NFT、資產管理和數據存儲。

  5. Sui 框架: Sui 提供了一套完整的框架,幫助開發者快速構建和部署應用程序。該框架包括各種工具和庫,例如 Sui 錢包、Sui SDK 和 Sui CLI。

Sui 的架構設計使其能夠處理大量並發交易,並保持高速度、低費用和安全性。同時,Sui 的 Move 語言和 Sui 框架也為開發者提供了強大的工具,幫助他們構建安全、可擴展和用戶友好的應用程序。

2.2 共識

Sui 區塊鏈使用一種名為 Mysticeti 的共識機制,它是一種基於拜占庭容錯 (BFT) 的共識,旨在優化低延遲和高吞吐量。

Mysticeti 允許多個驗證器並行提出區塊,從而充分利用網絡帶寬並提供審查阻力。此外,該協議僅需三輪消息即可從 DAG (有向無環圖)中提交區塊,與 pBFT 相同,並匹配理論最小值。提交規則允許並行投票和認證區塊領導者,從而進一步減少中位數和尾部延遲。提交規則還可以容忍不可用的領導者,而不會顯著增加提交延遲。

Mysticeti 在 Sui 主網上線之前,已經在測試網上運行了三個月,其顯著成果包括延遲降低了 80%。現在,Sui 網絡可以每秒處理數萬筆交易,端到端延遲遠低於一秒。

Sui 區塊鏈還使用一種稱為委託權益證明 (DPoS) 的特定類型的權益證明共識。當涉及共享對象的交易(稱為複雜交易)發生時,Sui會採用上文所訴的Narwhal & Bullshark共識引擎進行交易排序。與其他BFT共識機制的公鏈相比,Sui的優劣勢可總結為六點:

優勢:

  • 低延遲和高吞吐量: Mysticeti 協議通過並行區塊提議和優化消息傳遞流程,顯著降低了共識延遲,並提升了網絡吞吐量。這使得 Sui 區塊鏈能夠處理每秒數萬筆交易,端到端延遲遠低於一秒;

  • 審查阻力: Mysticeti 協議允許多個驗證器並行提出區塊,從而提高了網絡的審查阻力;

  • 容忍不可用的領導者: 提交規則允許容忍不可用的領導者(當領導者節點出現故障時,系統會自動選舉一個新的領導者來接替其職責),而不會顯著增加提交延遲。

劣勢:

  • 複雜性: Mysticeti 協議的設計相對複雜,需要更深入的技術理解才能完全掌握其運作機制;

  • 安全性: 雖然 Mysticeti 協議在測試網上表現出色,但其安全性仍需在實際應用中得到進一步驗證;

  • 可擴展性: Mysticeti 協議的擴展性仍需進一步觀察,以確保其能夠適應未來不斷增長的網絡規模和交易量。

2.3抽象賬戶

Sui的抽象賬戶模型(Account Abstraction)是一種允許用戶以更簡單、更安全的方式管理其賬戶和交易的機制。它通過將賬戶和交易邏輯從底層區塊鏈協議中抽象出來,實現了更高層次的賬戶管理和交易處理。

在Sui的抽象賬戶模型中,賬戶不再是簡單的公鑰-私鑰對,而是具有更豐富的屬性和行為的對象。每個賬戶都有一個唯一的標識符,稱為賬戶ID,該ID與賬戶的公鑰和私鑰對相關聯。

Sui的抽象賬戶模型包括以下幾個關鍵組件:

  1. 賬戶對象(Account Object):賬戶對象是Sui中賬戶的基本單位。每個賬戶對象都有一個唯一的賬戶ID,並包含賬戶的屬性和行為;

  2. 賬戶數據(Account Data):賬戶數據是賬戶對象的核心組成部分。它包含賬戶的基本信息,例如賬戶ID、公鑰和私鑰對等;

  3. 交易上下文(Transaction Context):交易上下文是Sui中交易的基本單位。它包含交易的相關信息,例如交易ID、賬戶ID和交易數據等;

  4. 賬戶邏輯(Account Logic):賬戶邏輯是Sui中賬戶的行為和規則的集合。它定義了賬戶如何處理交易和管理其狀態。

Sui的抽象賬戶模型通過以下幾個步驟來處理交易:

  1. 交易創建:用戶創建一個交易,並將其發送到Sui網絡;

  2. 交易驗證:Sui網絡驗證交易的有效性和完整性;

  3. 賬戶查找:Sui網絡根據交易中的賬戶ID查找對應的賬戶對象;

  4. 賬戶邏輯執行:Sui網絡執行賬戶邏輯來處理交易和更新賬戶狀態;

  5. 交易確認:Sui網絡確認交易的結果,並將其寫入區塊鏈。

簡單來說,Sui的抽象賬戶模型是一種創新機制,它簡化了賬戶管理和交易處理,使應用更像應用。

2.4 遊戲

一個公鏈能否突出重圍,首先要沉澱與積累,之所以在上文中把Move稱為一次勇敢的嘗試,有兩點原因:一是模組化概念泛化的時代下原生Move系(即Move雙子星)算是對Layer1最後的嘗試了,基本屬於逆勢而行,但近期多條異構鏈的崛起,也許在證明模組化不是唯一的答案。二是重制一條公鏈並採用新的編程語言這種舉動,你可以把它想象為在當前的手機市場中想要重制一個系統去挑戰iOS和安卓,未來的道路必定充滿荊棘。Move系在未來幾年是否能像Solana一樣發光、發熱,自身選擇的發展方向將尤為關鍵。Sui對於這個問題的答案是,遊戲。

遊戲是Web3的重要入口之一,但絕大部分公鏈對遊戲的支撐並不好,這是因為區塊鏈自出生起基本就是圍繞金融設計的,又因去中心化的構造性能低下,所以天生不適合遊戲。不過Sui並不一樣,它的模型既適合DeFi應用也適合非金融應用與遊戲。正如上文所訴在Sui中,一切都是對象。遊戲或是應用程序具有層次關係的複雜資產,在 Sui 上,對象可以擁有其他對象(資產可以擁有資產)。假設您正在玩一個英雄角色的遊戲,並且該英雄角色有一個庫存,它還有屬於該角色的其他數字資產。Sui 可以以其他區塊鏈無法做到的方式準確地對這些數據層次結構進行建模。因此,它使開發人員有機會表達他們想要構建的應用程序,而無需解決鏈的基本限制。

除此之外Sui還在積極開展與傳統Web2巨頭的合作,從去年與四大韓國遊戲巨頭中的三家(NetmarbleNHNNCSoft)達成合作夥伴關係。到今年和Tiktok合作開發鏈遊與SocialFi項目,Sui正在將傳統巨頭引入Web2。

三、Aptos

Aptos 作為另一個基於 Move 語言的 Layer 1 區塊鏈,同樣致力於構建高性能、可擴展的 Web3 基礎設施。其架構設計與 Sui 有著許多相似之處,但也展現出一些獨特的特點。

3.1 架構

1.模組化設計: Aptos採用模組化架構,允許開發者獨立開發和升級不同模組,從而提高開發速度和靈活性;

2.並行執行引擎 (Block-STM): 與其他需要預先聲明數據依賴關係的區塊鏈不同,Aptos 的並行執行引擎無需事先了解數據位置即可並行處理交易,從而提高吞吐量並降低延遲;

3.流水線交易處理: Aptos將交易處理分為傳播、元數據排序、批處理存儲等多個階段,並通過流水線方式並行執行這些階段,從而最大化吞吐量並降低延遲;

4.Move 編程語言: Aptos 使用 Move 編程語言,相比於Sui引入的創新,Aptos所做的更多是將其完善。比如規範語言、引入更強大的函數支持、自定義能力;

5.靈活的狀態同步: 允許節點選擇不同的狀態同步策略,例如同步完整歷史記錄或僅同步最新狀態,從而提高節點的靈活性;

6.AptosBFT 共識機制: AptosBFT 是 Aptos 使用的拜占庭容錯共識機制,它通過優化驗證者之間的通信和同步來提高吞吐量並降低延遲。與Sui相比只能算DiemBFT 的改進版本,在效率和抗崩潰恢復上做了一定改良,所以在這裡只簡單說明一下。

Aptos 的架構設計使其能夠處理大量並發交易,並保持高速度、低費用和安全性。同時,Aptos 的 Move 語言和 Aptos 框架也為開發者提供了強大的工具,幫助他們構建安全、可擴展和用戶友好的應用程序。

3.2 Block-STM

我們在這裡擴展說一下Aptos的核心創新並行執行引擎Block-STM:

Block-STM 的核心原理:

  1. 預設順序執行: Block-STM 依賴於區塊中交易的預設順序,所有交易必須按照這個順序執行才能保證最終狀態的一致性;

  2. 樂觀並發控制: Block-STM 會樂觀地並行執行交易,假設不會發生衝突。樂觀並發控制基於"衝突少見"的假設,允許事務在不加鎖的情況下訪問和修改數據。它認為多個事務同時發生衝突的概率很低,因此可以先進行修改,並在最後提交前檢查是否真的發生了衝突;

  3. 多版本數據結構: 為了支持樂觀並發控制,Block-STM 使用多版本數據結構來存儲數據。每個寫入操作都會創建一個新的數據版本,而讀取操作則會訪問對應版本的數據;

  4. 驗證和重試: 在執行完一個交易後,Block-STM 會驗證其讀取的數據版本是否仍然有效。如果驗證失敗,說明發生了衝突,該交易會被標記為無效並重新執行;

  5. 協作調度: Block-STM 使用一個協作調度器來協調各個線程的執行和驗證任務,以最大化並行度。

Block-STM 的工作流程:

  1. 交易分組: 將區塊中的交易分組,分配給不同的線程並行執行;

  2. 樂觀執行: 每個線程樂觀地執行分配給它的交易,並記錄每個交易的讀寫集;

  3. 驗證: 當一個線程完成一個交易的執行後,會驗證其讀取集中的數據版本是否仍然有效;

  4. 重試: 如果驗證失敗,說明發生了衝突,該交易會被標記為無效並重新執行;

  5. 提交: 所有交易都驗證通過後,將結果寫入區塊鏈狀態,完成交易的提交。

Block-STM 的優勢:

  • 高吞吐量: 通過樂觀並發控制和協作調度,Block-STM 可以充分利用多核處理器的性能,實現高吞吐量;

  • 低延遲: 由於交易可以並行執行,Block-STM 可以顯著降低交易的確認時間;

  • 安全性: Block-STM 的預設順序執行和驗證機制保證了最終狀態的一致性和安全性。

簡單來說,Block-STM 是一種高效的並行交易執行引擎,它結合了樂觀並發控制、多版本數據結構和協作調度等技術,在保證安全性和正確性的前提下,最大化了區塊鏈的吞吐量。

3.3 抽象賬戶

不同於Sui的抽象賬戶那麼直接,Aptos所支持的抽象維度更有限一些,也沒有具體的預定義標準,其抽象賬戶能力主要體現在以下幾個方面:

  1. 模組化賬戶管理: 使用 Move 模組來定義和管理賬戶,開發者可以創建自定義模組來實現不同的賬戶類型和功能。

  2. 靈活的密鑰管理:允許用戶使用不同的密鑰對賬戶進行不同的操作,例如使用一個密鑰進行交易簽名,使用另一個密鑰進行賬戶管理。

  3. 可編程的交易驗證:開發者可以在 Move 模組中定義自定義的交易驗證邏輯,例如多簽、限額等,以滿足不同的應用場景。

3.4 與微軟的合作

相比於Sui比較側重遊戲的發展,Aptos並沒有特定的發展目標,其口號為最適合生產的區塊鏈。比較值得一提的是Aptos目前正在與微軟合作,旨在將微軟的AI技術引入區塊鏈中。當前兩者的第一款合作產品Aptos Assistant已經在官方頁面上線,該產品是Aptos網絡所構建的生成式AI助手,而後續的AI產品還將在幾個月後陸續公布。

四、Move系

雖然近期Sui的表現良好,但相較於EVM系及Solana、Ton等異構鏈來說。Move的崛起還需要一定時間的沉澱,當前雙子星Sui和Aptos雖然頂著明星光環,也確實在技術上有所突破,但Move生態的整體規模和活躍度仍不及其他成熟生態。開發者數量、應用種類和用戶規模都需要時間積累。從外部合作到運營來看,兩者又有比較濃厚的Web2思維,缺乏一些Web3基因,各種合作項目在圈內一直属於不溫不火的狀態。

但就Move系的潛力而言,在多方面都是值得深挖的,也有一些開發者也已經注意到Move未來的價值。正如前言所訴,目前也已經有將Move引入ETH Layer2的項目出現,未來的Move系也將會在ETH二層生態中發光發熱,當前要做的更多是如何將Move系打出去。

參考資料:

A comparison of Aptos and Sui:https://cryptotvplus.com/2022/08/a-comparison-of-aptos-and-sui/

Nansen:詳解明星公鏈Aptos技術特性與生態現狀:https://foresightnews.pro/article/detail/16825

Aptos文檔:https://aptos.dev/en/network/blockchain/move

Sui官方文檔:https://docs.sui.io/

身為區塊鏈新人,如何理解Sui及其運行方式?:https://medium.com/sui-network-cn/身為區塊鏈新人-如何理解sui及其運行方式-f2aaa5d8848f

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界