作者: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 在玩家手中,但数值产出和保存却在中心化的游戏服务器上,项目方可以随意修改属性,甚至关闭服务器,玩家手中的 NFT 实际上只是一纸空文。
造成这种情况的技术原因有几个:
所以现在链游的技术架构以“资产上链,链下执行”为主,这种模式仅完成了资产去中心化,但代币的产生是在链下完成,通常在玩家交易前需要提取“提取”操作把游戏内的资产转移到链上。游戏计算和交互大部分也在链下的游戏服务器内进行,这种模式的链游去中心化程度还很低。
很多 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 网站,并且整个过程都是可信的,前端页面即是即是合约!
到此链游困局的三个难题都解开了:
基于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 的创建会有一些问题:
所以我们希望有一个专业的 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 存储共识范式已经给我们打开了新世界的大门,一场底层技术的变革已经悄然发生,它们的表演才刚刚开始!
参考资料:
关于 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
该文章仅作为观点陈述,不作为任何投资建议。