开启链游技术架构新序章 — 基于 Arweave 打造纯链上游戏 By W Labs Potter &PermaDao

作者:webb

文章来源:PemaDAO 社区和 W Labs 联合投稿****

前言:GameFi的繁荣及衰落

2021-2022 链游市场经历了高光时刻,我们看到了《Axie Infinity》单日收入超过《王者荣耀》、看到了《StepN》仅用四个月内达成 30 万日活用户,成为2022第一季度最火爆的加密应用、看到了用户争抢《Otherside》土地发售引发的天价 gas 费。

越来越多的资本进入链游赛道,仅 2022 年第一季度的融资规模就超过 2021 年半年的规模,6-8 月中链游更是成为融资规模最大的赛道。同时上亿级别的融资越来越多,MetaApp 完成 1 亿美元 C 轮融资,DigiDaigaku 母公司 Limit Break 已通过两轮融资筹集 2 亿美元。

数据来自 mymetadata.io

但随着 5 月份加密市场整体的下跌,大部分项目都不可避免的进入死亡螺旋,无论是用户数量还是代币价格都呈断崖式下跌,Axie Infinity、StepN 等明星项目也没有幸免,链游市场一蹶不振。

GameFi 市场经过一轮牛熊的洗礼,带给了我们很多畅想的空间,也带给了我们很多问题去思考,无论是从经济模型上摆脱旁氏的束缚,还是从技术架构上完成去中心化的迭代,都有很大的探索空间。

本文将从技术角度出发,探索链游的终极形态 - “纯链上游戏” 是如何实现。

链游的技术困局

可以说 NFT 和 Play 2 Earn 模式是引爆上一波GameFi 牛市的导火索。通过区块链和 NFT 可以赋予链游颠覆传统游戏的特性:

  • 拥有权:通过链上 NFT,玩家真正“拥有”他们的装备,而不是属于游戏运营商
  • 开放的市场:玩家可以在市场中自由交易他们的游戏资产,这也诞生了玩家疯狂追逐的 Play 2 Earn 模式
  • 可组合性:玩家的装备、物品可以穿越多个游戏进行使用,想象一下你在魔兽世界获得的传奇装备可以在 CS GO 中使用的场景。Loot 给我们做了很好的示范。

故事听起来很酷,但真实的情况并非如此:虽然游戏资产和 NFT 在玩家手中,但数值产出和保存却在中心化的游戏服务器上,项目方可以随意修改属性,甚至关闭服务器,玩家手中的 NFT 实际上只是一纸空文。

造成这种情况的技术原因有几个:

  • 高昂的存储成本:存储是区块链上的稀缺资源,以太坊为主的所有公链,实际上都属于计算层,本质还是账本,设计之初就不善于做大量存储工作,项目方不可能将动辄数 GB 的游戏数据存储到链上。
  • 高昂的计算成本:在链上进行计算要消耗 gas 费,玩家和项目方都无法承担游戏服务中高昂的计算费用。
  • 无法忍受的响应时间:区块链从发起交易到打包出块要经历漫长的等待过程,快则几秒钟,慢则几分钟。这对于游戏这种需要低延时、高频交互的应用很不友好。

所以现在链游的技术架构以“资产上链,链下执行”为主,这种模式仅完成了资产去中心化,但代币的产生是在链下完成,通常在玩家交易前需要提取“提取”操作把游戏内的资产转移到链上。游戏计算和交互大部分也在链下的游戏服务器内进行,这种模式的链游去中心化程度还很低。

很多 L2、游戏应用链着手解决计算成本问题,如 Avax 的 subnet、专为游戏服务的 IMX 等,但都没有从根本上解决存储成本和响应时间问题。也有一些项目进行了纯链上游戏的探索,如 Lssac(一款基于 starknet 的纯链上游戏),但是 lssac 是轻量级数值游戏,可玩性不高,对于高频交互、动辄 10GB 资源的 3A 游戏采用这种方式是不行的。

区块链底层基础设施的瓶颈,造成了现有链游的技术困局,人们被“困在”传统区块链的套子中。

如何才能破局呢?不妨跳出传统区块链 ,尝试一个全新的视角 — 用“非典型”区块链项目 Arweave 解决链游的技术困局!

Arweave 与 SCP 存储共识范式

大多数人对 Arweave 的了解开始于这波 NFT 的牛市,Arweave 作为去中心存储承载了大量 NFT 的图片内容。人们喜欢把 Arweave 与 Filecoin 做比较,显然大名鼎鼎的 IPFS 协议和 Filecoin 热度更高。但深入了解 Arweave 后你会发现: 其实 Arweave 能做的远不止存储这么简单!

永久存储与极简的设计理念:经济博弈

Arweave 是一条为“永久存储”数据服务的区块链,通过独特的共识机制和经济博弈保证矿工对数据进行永久保存。

Arweave 的有一个理论基础,就是每年存储的成本都是按照 30% 左右速率下降,成本下降是一个收敛的曲线。那么进行两百年或者更久远的存储收费将是一个常数。所以 Arweave 可以做到一次付费,永久存储

IPFS 是去中心存储中最知名的项目,始于 2014 年,2015 年全球发布,Filecoin 作为 IPFS 的激励层,直到 2020 年 7 月主网才上线。这么硬核的一只团队都要开发如此之久,可见 Filecoin 的工程化难度之大。这源自于 Filecoin 使用了一套非常复杂的系统来保节点对数据的存储,并且为此创建了两个数据市场、两套激励机制、两套定价机制。

真的需要这么复杂吗?Arweave 的团队选择了截然不同的技术路线 —— 极简化的设计,利用经济博弈保证矿工对区块的存储。

Arweave 采用一种叫做 Blockweave(区块坊)的结构。与传统区块链结构不同,Blockweave 中的区块除了指向上一个区块外,还指向一个随机的历史区块,称之为回忆区块(recall block)

Blockweave 结构

基于 Blockweave 结构设计出 SPoRA 共识,在经典的 PoW 共识之上,矿工要想生成新的区块,还需提供一个回忆区块的存储证明。回忆区块的选择是完全随机的,这就激励矿工去存储更多的历史区块,来提高出块的概率。特别是一个稀缺的历史区块,因为稀缺区块的竞争压力小,出块的概率会更高。简单的说矿工的出块概率 = 拥有随机回忆区块的概率 * 第一个找到 hash 的概率

在 Arweave 中矿工不需要对所有区块进行下载,但独特的设计激励了矿工去多存储数据, 并且存储稀有的数据, 实现了数据的永久存储。

杀手锏:SCP 存储共识范式

除了永久存储之外,Arweave 的简洁设计还使之具备承载计算层的能力。这也使得 Arweave 有潜力成为 Web3 中最重要的基础设施。

Arweave 上运行的 dapp 采用 SCP 模式,即 Storage-based Consensus Paradigm,基于存储的共识范式。dapp 并不直接运行在 Arweave 上,Arweave 只存储用户发送的交易指令,而计算在上层进行,这些计算层就像 Arweave 上的 L2。在 L2 中将用户所有的输入从 Arweave 上下载并且按顺序执行,就得到了最终的计算结果。更进一步的,如果将程序运行的源代码也上传到 Arweave,那么任何客户端都可以基于源代码和输入执行出最终结果,并且都是一致的,无需信任的。我们把这种模式形容为图灵机纸带

通过 SCP 构建应用给了开发者极高的自由度。开发者可以使用熟悉的任何语言,无论是 Java、Solidity、Python,只要获得标准化的输入,都可以构建出同样的结果。

一个很酷例子就是前端应用,我们把静态前端页面存储到 Arweave 上,通过浏览器即可直接打开运行,例如 Uniswap 已经将历史页面放到 Arweave 上,用户可以通过地址直接访问历史版本的 Uniswap 网站,并且整个过程都是可信的,前端页面即是即是合约!

到此链游困局的三个难题都解开了:

  • 存储成本:基于 Arweave 的永久存储非常便宜,目前存储 1GB 的数据只需要 3 美元左右,可以说在 Arweave 上存储应用的成本比租借 AWS 服务器更便宜
  • 计算成本:SCP 的模式中,Arweave 并不负责计算,计算是每个应用服务自己进行,所以根本没有计算成本问题!
  • 响应时间:用户直接访问的是应用层服务,由于计算层是应用服务自己负责,所以响应时间可以做到和传统 web 服务一样

基于SCP的游戏架构

服务架构:每个游戏服务都是一个 L2

基于 SCP 的游戏服务架构

基于 Arweave 的游戏架构中,游戏服务类似 Arweave 上的一个 L2 层,负责接收、执行玩家的指令,并将这些指令有序的上传到 Arweave 上。指令序列一旦打包到 Arweave 上就具备了不可篡改性,在任何时候都可以基于这些序列构建出游戏最终状态。

这种模式下,客户端只负责记录操作并发送到游戏服务,并不执行任何计算;游戏服务收集玩家操作并进行排序然后执行,并且把执行结果发送给客户端。我们把客户端类比成“视频播放器”,只要将服务器返回的结果表现出来即可。比如玩家跑、跳、攻击操作序列发送到游戏服务器,服务器计算出玩家到了什么位置,对怪物造成了多少伤害,再广播给视野内的所有客户端,客户端同步执行这个序列,这样所有在线玩家都达到了同步状态。

在理想情况下,游戏服务也是一组去中心化的节点,交易验证、交易排序、执行都经过共识,这样比单一节点可信度和安全性都要高。缺点是在计算和响应速度上肯定比不上单节点服务。

这种类型的架构适合实时性要求不是很高的游戏,比如回合制游戏(Axie)、卡牌游戏(SkyWeaver)、经营类游戏(sunflower)、剧情类游戏等。

P2P 与帧同步技术的应用

对于实时性要求高的游戏,例如 MOBA 游戏(王者荣耀)、ACT 游戏、FPS 游戏(吃鸡)等类型的游戏,可以把高实时性需求拆分到上层执行并快速返回结果,同时将操作序列上传游戏服务器进行验证,最终结果以游戏服务为准,操作序列由服务器进行上链。

高实时性、低实时性计算分离

1. P2P 技术的应用

高实时性游戏通常会有“开房间”操作,例如王者荣耀和吃鸡,每局游戏匹配一定数量的玩家,并在游戏中进行局部交互。我们可以这种游戏中的高频操作和低频操作分开。

当几个玩家进入一局游戏,将这些玩家用P2P网络直接连接,进行实时高速通信,玩家客户端之间同步操作序列并进行计算,操作序列只要在参与玩家之间共识即可。同时这些玩家的操作序列会发送到游戏服务上,游戏服务进行执行并进行结果校验,最终结果以游戏服务为准。发现玩家作弊或者执行错误时,将正确序列发送到客户端,客户端可以重放操作并纠正结果。

这些操作就要求所有客户端和游戏服务具有相同的时间标尺,这就用到了传统游戏的帧同步技术。

2. 帧同步技术的应用

帧同步是在游戏中应用很广泛的技术,用于MOBA、射击这类需要强实时性游戏中。基本原理就是**相同输入 + 相同的时机 = 相同的结果。**这和SCP范式非常的相似,具有很好的融合性。

相同输入问题已经由Arweave解决,我们在游戏中还需解决相同时机问题。

首先服务器向各个客户端下发时间种子,保证客户端时间与服务器保持一致。客户端和服务器把时间切分成相同时间片,一个时间片叫做一帧。粒度可能是每秒 50 帧、每秒 80 帧,每秒切分的帧数越多控制越精细,但由于人的反应速度有限,所以没必要进行太细粒度切分。

客户端把玩家的操作填充到某一帧中发送到游戏服务,服务器根据各个客户端发送的操作序列进行计算,最终获得状态结果。

在链游中我们也可以使用帧同步技术,先由服务器将时间同步到各个客户端,客户端在 P2P 的网络内广播格子操作序列,并同步给服务器,最终各个客户端和服务器计算出的状态结果应该是一致的,服务器也会把这个序列同步到 Arweave 上。当出现分歧时以服务器计算结果为准,进行修正。

这种指令占用的空间非常小,不会花费太多的存储费用。Arweave 每一个交易都没有最大的限制,一个交易可以存 1KB 也可以存 1GB 甚至 10GB。现在很多 AR 的交易一笔交易就是 2GB,也就说可以处理 2000 万条指令。

NFT 与 Token 发行

链游发行 NFT 和 Token 已经成为标配,虽然Arweave上已经有 PST 代币标准(类似以太的ERC20)和 NFT 发行能力,但由于 Arweave 不具备以太坊一样的计算能力,所以需要在游戏服务内进行代币发行、结算、交易等。

之前提到 Arweave 上每个游戏都以 L2 的方式运行,如果每个游戏都在自己的 L2 上进行 NFT 和 Token 的创建会有一些问题:

  • 重复造轮子:每个游戏项目都要维护相同的功能,例如NFT, Token 的发行及交易逻辑
  • 降低可组合性:每个游戏实现方式不同,很难相互兼容
  • 增大安全风险:除了游戏外,游戏项目组还要维护 Token, NFT 发行、交易的代码,这部分代码如何处理不好会使用户损失资产

所以我们希望有一个专业的 L2,负责 NFT、代币的发行与交易,以降低游戏开发成本、提高安全性、带给用户更好更统一的交易体验。整个架构就变成了下面的样子:

NFT L2 和 Game L2架构图

NFT L2 集成 NFT 发行、token 发行、转账、交易等功能。游戏开发商只需要访问 NFT L2 提供的接口,就可以快速构建出去中心经济系统,对于 NFT 发行、token 发行这种基础操作委托给 NFT L2 执行。这样游戏开发商可以更专注于游戏玩法开发、经济模型设计等差异化的游戏功能。

天然的跨链属性

基于 Arweave 的这种模式还带给了我们一大好处 — 资产跨链。Arweave 用于存储共识数据,所有存储的 AR 上的数据我们都可以认为是可信的、不可篡改的,因此 Arweave 上发行的 token、NFT 可以无需信任的转移到其他公链。

只需要把各个链上的地址映射到 NFT L2 上,NFT L2 可以无差别对待所有其他链的地址,在转账过程中可以直接将以太坊地址资产发送到 Solana 地址上,只在 Arweave 上生成一条记录即可。

例如在 everpay (基于 Arweave 的 SCP 范式钱包应用 https://everpay.io/) 上进行一笔跨链转账:

everpay上的跨链转账

上图将以太坊地址的 usdc 发送到 Arweave 地址上,并且无需手续费。 

这种设计还方便构建 NFT 交易所等上层设施,NFT  L2 将作为 Arweave 生态中 Gamefi 基础设施赋能游戏服务。

游戏存储与更新

Arweave 上的存储价格非常便宜,目前存储 1GB 的数据只需要 3 美元左右,我们完全可以将所有的游戏内容都放到链上,包括游戏资源、执行程序、配置文件等。如同现有的 web2 游戏一样,玩家在进行游戏前先下载游戏内容。

对于大型游戏和 web 游戏,可以先下载部分资源,并根据游戏内容实时下载其他资源。这需要在玩家与 Arweave 节点之间建立一条高速的数据加载通道,在传统 web2 中这一工作由 CDN 完成。当然在 Arweave 生态中,也需要这样的缓存层帮助用户快速拉取数据,缓存层可以直接将 Arweave 内容缓存在本地,并为用户提供高速下载通道,或者将数据拉取到离用户最近的 Arweave 节点进行存储。

同样的道理,游戏的更新内容也放到 Arweave 上待用户拉取即可。

总结

现有链游的技术架构以“资产上链,链下执行”为主,这种模式仅完成了资产去中心化,去中心化程度很低,玩家手中的资产只是一纸空文,项目方仍可随意修改数值。造成这种情况的技术原因有三个:高昂的存储成本、高昂的计算成本、无法忍受的响应时间。

利用 Arweave 构建的纯链上游戏,可以很好的解决上述的问题。Arweave 上的应用基于 SCP 存储共识范式,就像图灵机纸带,Arweave 上只记录游戏输入输出,计算交给应用层处理,所以没有计算成本问题和响应时间问题。帧同步技术和这种模式有天然的兼容性,可以在游戏中应用。

这种模式中每个游戏服务都是一个 Arweave 的 L2 层。需要一个专用的 NFT L2 层作为基础设施,为各个游戏提供 NFT 发行、Token 发行、资产交易等经济功能。

写在最后

我们相信游戏将会是 Web3 中一块重要的拼图,完全去中心的纯链上游戏将是链游发展的终极形态。现在的链游还处于非常初级阶段,在技术和模式上还有很长的路需要走,需要我们不断的探索、创新,无论是经济模型还是技术架构。基于 Arweave 和 SCP 存储共识范式已经给我们打开了新世界的大门,一场底层技术的变革已经悄然发生,它们的表演才刚刚开始!

参考资料:

  • 《传统游戏进军链游GameFi的探索之路》
  • CoinMarketCap x Footprint Analytics: 2022年GameFi行业报告
  • Arweave 的潜力是复兴亚历山大图书馆,而非 Filecoin 替代品
  • Foresight Ventures:读懂Arweave,Web3.0的关键基础设施
  • 链上怎么跑游戏程序

关于 PermaDAO

加入 PermaDAO,一起做 Buidler

everFinance 是专注于为 Web3 提供基础设施的科技公司,以支持 10 亿用户进入 Web3 网络作为愿景,采用全新存储共识范式(SCP),探索提高用户体验,降低开发⻔槛,增强网络性能的全新 WEB3 开发范式。

PermaDAO 是由 everFinance 发起的共建者社区。所以参与的人都能在这里找到自己的角色来贡献 Arweave 生态,任何关于 Arweave 的提案与任务都可以发布于此,并得到整个社区的支持与回馈。 加入PermaDAO,建设 Web3!

关于 W Labs

W Labs 是一家成立在新加坡,专注于链游垂直赛道的机构 ,目前以原创内容输出为核心,同时提供链游项目的研究分析、模型建立、运营咨询等服务。

WGGDAO 社区(瓜田社区)由 W Labs 孵化的第一个产品,是聚合了链游真实玩家的 DAO 社区,可以让创作者和玩家互通互联。

Linktree: https://linktr.ee/wlabs

该文章仅作为观点陈述,不作为任何投资建议。

Subscribe to W Labs瓜田实验室
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.