讀懂Solana生態的可擴展性創新:Ephemeral Rollups

Ephemeral Rollups 是 Magic Block 為 Solana 生態開發的即時狀態更新引擎,旨在解決全鏈上遊戲、社交及交易等高並發場景的可擴展性問題。其核心是將高頻遊戲數據暫時移至專用的高速環境「臨時Rollup」中處理,實現低延遲(約50毫秒)且免 Gas 費的狀態更新,同時定期將最新狀態同步回主鏈,確保資料安全與不可篡改。

  • 運作原理:利用 Solana 的帳戶結構、程式派生位址(PDA)及帳戶修改權限委託機制,將遊戲狀態帳戶的修改權限暫時委託給臨時Rollup,由後台 RPC 路由器自動分配操作至快速通道或主鏈。
  • 具體流程:從遊戲啟動、玩家授權委託、臨時Rollup 同步資料,到遊戲操作執行、定期狀態回傳主鏈,以及資產變現等關鍵操作,均在無需用戶干預下完成。
  • 應用價值:支援大規模全鏈上遊戲(如萬人同時在線)的複雜操作,實現自治世界與無許可內容修改,同時透過分散式架構避免單點故障,提升系統韌性。
總結

Solana 生態的可擴展性創新:Ephemeral Rollups(臨時Rollups)????????

Ephemeral Rollups 是Magic Block開發的即時狀態更新引擎,為全鏈上游戲、社交、交易等高並發場景設計。目前主要應用於全鏈上遊戲引擎。

全鏈遊戲要求每個動作都要記錄在鏈上,例如移動、攻擊、道具消耗等等。

問題在於共識機制帶來可拓展性限制。

假設1000 名玩家同時在線上。每個玩家位置每100 毫秒更新一次,每秒產生10,000 筆交易。將玩家數量擴展到10 萬人,交易速率躍升至每秒1,000,000 筆。這是目前任何共識都無法承受的。

所以,其實想將QQ 遊戲大廳上鍊,是非常難的,甚至不可實現,更不用說《魔獸世界》《夢幻西遊》這種大量玩家在線,且每名玩家每秒有多種複雜操作的遊戲了。

但MagicBlock 希望實現將高並發遊戲上鍊。任何參與者都可無許可地整合或修改遊戲內容,或創造"自治世界" (Autonomous Worlds)。

遊戲狀態和邏輯儲存在鏈上,無法篡改。分散式伺服器確保遊戲韌性,沒有單點故障。

Ephemeral Rollups(臨時Rollups)提供了一個解決方案。

核心原理是,把遊戲高頻數據,暫時"借"到一個專門的高速環境裡—"臨時Rollup"。

在臨時環境裡,延遲低至50 毫秒,和傳統遊戲伺服器一樣快。完全免費,不用付Gas 費。也可以編輯被動觸發的邏輯,例如遊戲裡的劇情。

最新狀態同步會定期更新至主鏈,主鏈可隨時查看資料。如果臨時環境出問題,資料會自動回滾並歸還給主鏈。

且整個過程,使用者無感知。後台的RPC 路由器會自動決定哪些操作走快速通道(臨時Rollup),哪些操作需要走主鏈。

具體如何實現?

需要介紹幾個概念:Solana 帳戶結構、程式派生位址(PDAs)、帳戶修改權限的委託機制(Account Modification Delegation)。

1/ Solana 的帳戶結構

Solana 核心概念是「一切皆帳戶」。程式碼、使用者資料、Token 餘額等訊息,都儲存在帳戶中。

Solana 帳戶主要分為兩類(代碼與資料分離):

1)可執行帳戶(Executable Accounts) = 程式帳戶(唯讀)

儲存程式碼,類似其他區塊鏈的智能合約。

2)非可執行帳戶(Non-Executable Accounts) = 資料帳戶(可修改)

帳戶儲存資料和狀態,不包含可執行程式碼。

要注意的是,這個「帳戶」跟用戶的錢包地址是不同的。

查看瀏覽器會發現,普通位址的Owner 擁有者是System Program,位址固定為11111111111111111111111111111111 。

System Program 是Solana 官方內建程式。

所以其實,當你創造一個Solana 錢包,像是Phantom,得到的地址實際上是:

  • 帳戶類型:非可執行帳戶(資料帳戶)
  • Owner:System Program(系統程式)

也就是說,錢包位址= 系統程式擁有的資料帳戶。

錢包地址,由私鑰派生而來,用戶擁有對應私鑰,可以簽署交易。

帳戶是鏈上儲存的資料結構,由某個程式(owner)控制,錢包位址"指向"這個帳戶。

2/ 程式派生位址(PDAs)

Solana 帳戶系統的高階特性,對遊戲來說非常重要。

PDA 是一種特殊的帳戶地址,本質上就是一個普通的Solana 帳戶,但它的地址產生方式很特殊,由程式派生,只能由創建它的程式控制,沒有私鑰(不由用戶控制)。

所以,對全鏈上遊戲而言,只有遊戲程式可以修改這個PDA,其他程式只能讀取。

於是,透過PDA 可完成:

1)輕鬆創建大量遊戲狀態帳戶

2)所有權可轉移(委託機制)

3)位址可預測(路由更容易)

4)程序控制(使用者通過程序授權)

對臨時Rollup 來說,可完成:

1)管理大量遊戲狀態帳戶

2)支援頻繁委託和取消委託

3)確定性地找到帳戶

4)實現程式控制(不是用戶直接控制)

然後還需要,3/ 帳戶修改權限的委託機制(Account Modification Delegation)

這是臨時Rollup 的關鍵創新:

正常情況:帳戶只能由其所有者程序修改;

委託機制:可以暫時將帳戶的修改權限"借給"另一個環境(暫時Rollup)。

需要注意的是,委託≠ 轉移資產所有權,委託的是"修改遊戲狀態的權限",不是"資產本身"。

再加上,4/Sealevel 並行處理

Sealevel 可辨識不互相衝突的交易,並同時處理。

於是,在具體遊戲時,

假設玩家Alice 用3vj 開頭Solana 地址玩全鏈上《魔獸世界》,需要頻繁更新位置、戰鬥、消耗道具等等,同時玩家在線超萬人。

此時,

1/ 遊戲啟動:遊戲程式計算Alice PDA 派生位址

2/ 使用者授權:Alice 授權委託遊戲狀態帳戶

3/ ER 啟動:節點偵測到委託請求,啟動Ephemeral Rollups(臨時Rollups,以下簡稱ER)

4/ 狀態同步:從Solana L1 同步Alice 的遊戲資料到ER

5/ 遊戲進行:玩家在遊戲中操作,ER 執行任務

6/ 跨層讀取:若需要讀取NFT 等信息,ER 可直接從Solana L1 上讀取,但無權修改

7/ 定期同步:ER 資料定期上傳至L1

8/ 資產操作:若遊戲道具或遊戲幣變現,則需取消ER 授權,在Solana L1 執行,需玩家前面,Token 轉移由Token Program 保證安全,遊戲金庫是PDA,只有遊戲程式能控制。這兩者的Owner 是不同的。

這樣就實際完成了《夢幻西遊》《魔獸世界》用遊戲幣買賣點卡,打金團變現等操作。

9/ 遊戲結束:玩家下線,ER 關閉。

分享至:

作者:戈多Godot

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:戈多Godot如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
推薦閱讀
6分鐘前
10分鐘前
1小時前
2小時前
2小時前
3小時前

熱門文章

行業要聞
市場熱點
精選讀物

精選專題

App内阅读