Move 程式語言最初誕生於 Meta 的遺棄項目 Diem(最初稱為 Libra),該項目最初旨在創建一個更穩定、更受監管的穩定幣,作為其元宇宙願景的基底。

作者:ZekeYBB Capital Researcher

前言

近期市場愈發冷淡,圈內不少 OG 也開始對產業存在的意義產生動搖。說點我個人的感想,我始終覺得過去許多偉大的願景之所以被 “證偽”,是因為這些願景從一開始就不能邏輯自洽。在非金融應用之外的 Dapp,總是試圖以強調去中心化價值的方式來掩蓋產品本身並不夠優秀。但事實是,他們讓我不要相信 Google、推特、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

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