读懂Solana生态的可扩展性创新:Ephemeral Rollups

Magic Block开发的Ephemeral Rollups(临时Rollups)是一种为高并发场景设计的实时状态更新引擎,目前主要应用于全链上游戏。它通过将高频游戏数据临时迁移到专用高速环境(临时Rollup)中处理,解决了区块链共识机制在可扩展性上的限制。

  • 核心原理:利用Solana的账户结构、程序派生地址(PDA)和账户修改权限委托机制,将游戏状态的修改权限临时委托给临时Rollup,实现低延迟(50毫秒)和无Gas费的交易处理。
  • 工作流程:游戏启动时,玩家授权委托游戏状态账户;临时Rollup节点启动并同步数据;玩家操作在临时环境中执行,定期将状态同步回Solana主链;资产相关操作需在主链上执行。
  • 优势:支持大量玩家同时在线(如10万玩家每秒100万笔交易),确保游戏状态不可篡改,分布式服务器无单点故障,用户无需感知底层技术切换。

这一创新使全链上高并发游戏(如《魔兽世界》风格)成为可能,同时保持去中心化和安全性。

总结

Solana 生态的可扩展性创新:Ephemeral Rollups(临时 Rollups)????????

Ephemeral Rollups 是Magic Block开发的实时状态更新引擎,为全链上游戏、社交、交易等高并发场景设计。目前主要应用于全链上游戏引擎。

全链上游戏要求每个动作都要记录在链上,比如移动、攻击、道具消耗等等。

问题在于共识机制带来可拓展性限制。

假设 1000 名玩家同时在线。每个玩家位置每 100 毫秒更新一次,每秒产生 10,000 笔交易。将玩家数量扩展到 100,000 人,交易速率跃升至每秒 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官方账号,一起穿越牛熊
推荐阅读
36分钟前
1小时前
2小时前
2小时前
3小时前
3小时前

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读