如何使用Zypher开发可验证化链上游戏?

摘要: ...

自从Starknet生态的Dojo提出了可验证化链上游戏(provable onchain game)的概念之后,有不少团队开始在这个领域进行探索,比如利用NFT状态压缩的paima,利用默克尔树和状态铭文的redux,等等。Zypher Network (@Zypher_Network)同样基于零知识证明技术发布了一系列***套件来帮助制作可验证化链上游戏。

什么是可验证化链上游戏

我们现在已经知道,游戏行业和区块链技术的结合,要么走资产上链的GameFi模式,要么走状态上链的链上游戏模式。对于链上游戏的普遍定义是这样的:所有的游戏逻辑、状态(资产及其他)都在链上,通过智能合约来实现。

做为智能合约平台的以太坊,天然的是一个分布式的状态机,可以做稍微简单一些的链上计算和状态验证。于是大家试着把游戏逻辑写入智能合约,如此一来,游戏成为一种无需服务器后端的去中心化游戏,并带来了更高程度的游戏规则方面的可组合性。但问题也随之而来:以太坊主网的计算能力太弱,使用成本也非常高,即便考虑使用高性能的layer2链或者其他公链,也无法满足链上游戏的需求

受到layer2 rollup 的启发,既然更大规模的转账操作都可以进行链下计算链上验证,那么为什么不把游戏逻辑的执行也同样处理呢?于是可验证化链上游戏的的技术路线由此诞生。虽然说游戏逻辑由链下计算,但每一步操作都可以在链上进行验证,同样保证了游戏的去中心化和去信任化,这就是“可验证化”一词的来源,甚***我们可以简单的来类比:layer2 rollup中的 TX是普通的转账交易,而可验证化链上游戏中的TX是游戏的上链交易。

根据链上验证方式的不同,rollup 分为OP-rollup和ZK-rollup。同样的,使用零知识证明技术的可验证化链上游戏,无论在状态验证的***终性还是性能方面都有着较为突出的优势,这也是为什么Dojo和Zypher Network 选择ZKP来开发可验证化链上游戏的原因。

Zypher Network ***套件

Zypher Network的***套件总共有3个部分,分别是 AW Engine, Secret Engine 和 Zytron kit。

1. AW Engine:利用ZKP的信息压缩能力提供可扩展性。一个使游戏能够垂直超级扩展的模块化框架。可通过电路或zkVM进行编程。其z4 SDK可以支持实时的游戏内多人事件(玩家对战)。

2. Secret Engine:利用ZKP的信息隐藏能力提供非对称信息博弈。一套零知识证明即服务(zk-as-a-service)的软件开发工具包,为需要策略机制的游戏提供信息不对称性。零知识证明(ZKP)能够在链上完全实现隐私计算和随机性,并且可以证明其公平性。

3. Zytron kit:Layer3堆栈。一个主权rollupL3链堆栈,提供便捷的游戏基础设施部署,包括点对点层优化、服务器分片等。专为大规模多人游戏和AW建设设计。

如何使用Zypher开发可验证化链上游戏?

零知识证明的模块化框架 AW Engine

AW Engine 负责ZKP电路的搭建,证明的生成和验证,因此在套件中处于核心地位。它包括以下几个部分:

  1. Gadgets(小工具):支持游戏电路开发中使用的各种小工具,包括基本的哈希、ecc、掩码、洗牌等。
  2. 特定应用的电路:使用特定应用的plonk作为zk证明的基本方案,通过SDK提供的各种小工具编写特定的游戏电路。它支持直接将电路编译成wasm,并可以在浏览器或应用程序中运行。同时,还提供在不同虚拟机(EVM/WASM/…)上运行的验证合约,这些合约可以在不同的区块链系统中运行,实现链下生成证明和链上验证。
  3. 链上验证器:为证明者和验证者优化的wasm,以及对所有EVM链的常见solidity验证器的支持,以及对基于Move的链的Move-lang验证器。
  4. Z4 多人PVP引擎:Z4 是用于实时多人游戏的系统。它通过将玩家对战事件(PvP)外包给专门的 zk-rollup 节点来扩展多人事件处理能力。

如何使用Zypher开发可验证化链上游戏?

上图描述了AW Engine的工作原理和架构。这个游戏引擎分为几个主要部分,我将分步骤解释每个部分的功能:

1. Zypher Plonk / Bulletproofs / Groth16 / STARKs: 这些都是不同的零知识证明方案。这表明游戏引擎支持多种类型的ZKP方案,使得游戏***可以根据需求选择合适的证明系统。

2. General VM/DSL: 这指的是一种通用的虚拟机或者特定领域语言(Domain-Specific Language, DSL),用于编写和执行游戏逻辑。Zypher Network已和Risc Zero官宣了战略合作,预计会把他家的通用zkVM集成进来。

3. Zypher gadgets & circuits: 这些小工具和电路是构建ZKP的基础模块。在零知识证明中,小工具是预先定义的函数或逻辑片段,而电路是这些小工具连接起来的更大的计算过程。

4. Game Proof Circuit: 游戏证明电路是整个游戏逻辑的零知识证明版本。这里会创建一种电路,用于验证游戏规则而不泄露玩家的具体行动或策略。

5. Prover API:证明者API是一个接口,***通过它生成证明。在游戏上下文中,这意味着证明玩家的行动是按照游戏规则进行的。

6. Onchain Verifier API: 链上验证者API是另一个接口,用于验证前述提供的证明。这是在区块链上进行的,以确保游戏的每步都是公正和透明的。

7. ZK Proof Market: 对于移动设备上的玩家,有一个去中心化的证明计算市场,玩家可以将证明计算外包;这进一步使链上游戏变得与硬件无关。。

8. Game: 链下计算的游戏部分包含实际的游戏逻辑和用户界面,允许玩家进行游戏。

9. Onchain Game: 提交证明到区块链后,游戏变成去中心化和去信任化的链上游戏。可以类比layer2中的DA Proof进行上链操作。

总的来说,AW Engine利用零知识证明来保障游戏的安全性和公平性。它允许游戏逻辑被验证而不暴露任何关键信息,提供了一种建立在区块链上的游戏开发和运行的新方法。

***后让我们从***的角度来看下整个引擎的工作流程:

1. 开发阶段:

- 首先,开发人员选择合适的零知识证明方案(如Plonk、Bulletproofs、Groth16或STARKs)。

- 然后,他们使用这些方案中的一个来创建“Zypher gadgets & circuits”,这些是游戏逻辑的构建块。

- 这些构建块被组合成一个完整的“Game Proof Circuit”,这是一个零知识电路,能够证明游戏状态的有效性而不泄露具体信息。

2. 证明生成(Prover API):

- 游戏的每个动作或者状态改变都通过“Prover API”在后端转换成一个证明,这个证明是不可伪造的,并且不泄露任何关键游戏数据。

- 这个证明代表玩家的游戏动作或者游戏状态符合游戏规则。

3. 链上验证(Onchain Verifier API):

- 生成的证明随后通过“Onchain Verifier API”提交到区块链上。

- 这个链上验证器会验证证明的有效性,确认游戏动作或者状态的合法性,确保游戏的公平性和正确性。

上面的流程并没有把Z4多人对战系统包括进去,实际上,ZKP除了可以把游戏逻辑进行“可验证化”之外,还可以把“多人对战系统”进行“可验证化”操作。

如何使用Zypher开发可验证化链上游戏?

上图是Z4引擎的工作流程图,可以看出,Z4引擎支持实时多人游戏的方式,是通过创建无状态的房间来进行玩家匹配和游戏,这些房间由zk-rollup节点支撑,节点不保存数据。当游戏逻辑在节点上运行时,所有操作都将排序和总结,并且通过零知识证明来证实。游戏结束后,操作和结论的证明被上传到链上进行验证。Z4节点可以不使用虚拟机直接运行游戏逻辑,从而避免了交易和gas费用。如果需要,也可以在节点上使用虚拟机(如WASM/EVM)来运行游戏逻辑。整个过程旨在支持网络范围内每秒数百万甚***数十亿的交易量,以确保游戏的实时性和高并发性能。

非对称信息模块 Secret Engine

"战争迷雾"是一种常见于游戏中的机制,典型的例子包括《星际争霸》和《魔兽争霸3》。这种设计通过覆盖游戏地图的某些区域来隐藏信息,只有当玩家探索这些区域时,这些区域才会显示出来。这种机制增加了游戏环境的不可预测性,是所谓的非对称信息游戏的典型特征。大多数流行的MMO游戏都采用了非对称信息的游戏机制,这为玩家提供了更多探索和制定战略的空间。

然而,在区块链技术中,数据通常是完全公开和透明的,这使得实现非对称信息机制变得困难。但是,Dark Forest游戏通过采用零知识证明技术zkSNARKs,成功地在玩家需要公开提交可验证的有效动作的同时,还能保持其隐私状态。这样,Dark Forest在区块链上创造了一个不完全信息的游戏环境。但是这种复杂的信息隐藏方法需要用到定制化的ZK电路编程,因此广泛的信息隐藏就无法在链上游戏中实现。

Secret Engine 通过优化的WASM和预编译合约部分的解决了这一问题,通过 Shuffle SDK 实现了高性能、低成本的去中心化洗牌过程。洗牌电路和协议保证了可验证的加密计算的安全执行,确保策略元素在链上保持机密。除了扑克、大富翁、交易卡牌游戏之外,该SDK还可以应用于其他需要无信任和随机性的SLG用例,比如:

  • Social Deception:社交欺骗游戏中,可以保护玩家的秘密身份或策略。
  • Secret Placing游戏中的秘密放置动作,如隐藏单位或资源位置,可以安全实现。
  • Fog of War即战争迷雾,可用于确保地图的某些部分对某些玩家保密,直到某些条件得到满足。

经常用到的SDK是有两个:

  • zk-Shuffle-as-a-service玩家轮流加密和洗牌,生成一个“密封”的且随机排序的牌组,它提供了传统随机数生成器(如可验证随机函数,VRF)无法提供的解决方案。
  • zk-Matchmaking-as-a-service玩家提交一个“证明种子”来生成一个随机数并在链上进行匹配,整个过程可以通过zkp得到证明。

如何使用Zypher开发可验证化链上游戏?

这张图片描述了Shuffle SDK的工作流程:

1. Zypher PlonK:

- Basic PlonK: 这是一种通用的零知识证明方案,允许生成证明以验证复杂计算的正确性而无需揭示其它信息。

- Shuffle selectors: 这是特定于洗牌过程的逻辑或配置,允许PlonK证明系统正确执行牌的洗牌操作。

2. Shuffle Circuit:

- Chaum Pedersen: 这个子组件用于确保洗牌过程的隐私。它通常与数字签名或者加密有关,在这里确保每张牌的加密是安全的。

- Reveal: 这一步涉及在需要时安全地揭示牌的身份,而不泄露其它牌的信息。

- Permutation: 这指的是洗牌的实际过程,即牌的重新排列。

- Card Model: 这定义了牌的数据模型,在创建牌的加密版本以及之后验证洗牌过程中***关重要。

3. Shuffle SDK:

- Prover SDK (Rust/WASM): 这个软件开发工具包允许游戏***生成零知识证明,以证明洗牌过程是正确的,而不需要揭示牌的实际顺序。

- Onchain Verifier SDK (Solidity/WASM/Move): 这个SDK用于创建链上验证者,验证洗牌证明的正确性。

上述介绍可能还是太抽象,我们以一个链上德州扑克为例,来说明Shuffle SDK的原理。

如何使用Zypher开发可验证化链上游戏?

在游戏中,我们需要将“洗好的牌堆”结果存储在链上。这不仅作为当前洗牌的结果,同时也作为后续'洗牌'的公共输入,如在设置牌堆操作中所演示的。***初,设置牌堆默认存储初始化的牌堆。然而,众所周知,链上存储成本高昂,尤其是对于大数据量。一副52张牌由总共208个uint256类型数据组成,使得存储成本成为重要考虑因素。

Zypher的解决方案是在洗牌后只存储部分数据在链上,具体来说,只需要存储2n+5张牌,其中n是玩家数量。鉴于目前支持***多6名玩家,因此***多使用17张牌。这意味着***终只需要将这17张牌存储在链上。但如前所述,链上存储的另一个目的是这些牌也将作为后续洗牌的公共输入。因此,如果只存储17张牌,就无法验证洗牌的正确性。

为了解决这个问题,Zypher的zk-shuffle电路将额外输出完整牌堆的哈希值作为公共输入,也存储在链上。在验证zk-shuffle时,用户将上传洗牌前的牌堆作为公共输入,电路将计算用户上传的牌的哈希值,并与链上存储的哈希值进行比较。***后,由于只有部分数据被保存在链上,用户可能需要获取完整的52张牌。对此,可以使用合约事件。事件是一种极低成本的通信方式,允许用户通过监听事件获得完整的游戏数据。

总而言之,整个流程的核心是使用零知识证明保证洗牌的隐私性和正确性。通过这种方式,即使在区块链上公开记录所有操作,玩家的决策和策略也可以保持隐私。

主权L3堆栈 Zytron kit

Zytron Kit 是一个高度可定制的 Layer 3 主权rollup堆栈,支持 Zypher 的游戏引擎作为预编译合约。

现有的 Dapp 基础设施,主要是 EVM,没有针对链上游戏这类需要高响应的用例进行优化,且未能提供所需的成本效率、可扩展性。MMO 和其他高性能游戏需要专用的、定制的基础设施,配备高效且可预测的计算资源。Zytron 的*** alpha 网络,特性包括 0 gas,0.2S 区块时间,专为游戏设计的预编译合约,将在近期推出,有 10 款游戏计划作为先驱测试者。

该套件提供 4 个即插即用的核心组件:

  • 主权 Rollup: 游戏中***重要的是可玩性,这需要在分布式系统中具有***高的可用性(CAP),并且整个系统可以快速升级和自动部署。
  • 服务器分片: 将游戏的世界地图分布到不同的节点上,以提高单个节点的承载能力。同时,它提供了一套高效的检索算法,以快速在全球地图上的不同节点间移动,切换不同的节点服务,并同步信息。
  • 数据兼容性: 一个对于存储抽象***关重要的组件,该协议集成了更加用户友好的关系型和缓存数据库,以加快游戏数据处理。这个功能解决了高效数据管理和快速访问的需求,这对于保持流畅的游戏体验***关重要。
  • 定制网络: 鉴于游戏的高网络需求,该框架优化了底层的点对点 (P2P) 网络层,以支持游戏场景。这包括对小组内消息传输的优化,使用 NAT 穿越和打洞技术实现快速高效的连接。此外,网络还针对游戏设计了一种特殊的 UDP 协议,旨在将延迟保持在 10 毫秒以下。这确保了快速可靠的数据传输,这对于实时游戏体验***关重要。

主权Rollup是一种较新的概念,它在普通Rollup的基础上增加了更***别的自主性和灵活性,允许在其上构建独立的、具有完全自治功能的区块链网络。这意味着,每个主权Rollup都可以拥有自己的共识机制、状态机和治理模型,同时仍然保持与主链的兼容性。

如何使用Zypher开发可验证化链上游戏?

通过上面框架图,我们可以了解Zytron套件的各个组件功能:

1. 核心组件提供了游戏链的基础设施,允许高度的定制和优化。

- 主权 Rollup保证了游戏的可玩性和高可用性,支持系统的快速升级和自动部署。

- 服务器分片通过将游戏世界分布在多个节点上,提高了单个节点的负载能力。

- 数据兼容性通过集成用户友好的数据库系统,确保游戏数据的快速处理。

- 定制网络优化了底层 P2P 网络层,满足游戏的高网络需求,包括优化小组间的消息传递和减少延迟。

2. 链上组件包含运行在链上的基础部分,以保障游戏逻辑的正确性和资产的安全性。

- 链上验证器确保所有交易和游戏操作都是有效和合法的。

- 智能合约作为游戏规则和逻辑的编码载体,处理玩家之间的互动和游戏状态的变更。

3. 模块组件提供了特定游戏功能和服务的实现。

- ZK系统为隐私保护提供支持,如隐私计算和验证。

- 账户系统和即时通讯系统提供用户管理和实时通信功能。

- 监控系统用于监控网络状况和游戏运行状况。

- 房间系统、金融系统和AI系统提供游戏内房间管理、财务交易和人工智能支持。

- 日志系统记录所有操作和事件,以便分析和调试。

如何使用Zypher开发可验证化链上游戏?

上图是Zytron kit堆栈的工作流程:

  • 交易首先在 Layer 3 上产生,由 Sequencer 排序。
  • Runner 节点监听 Layer 1/2 的事件和 Sequencer 的输出,它们之间进行通信以执行交易并达成共识实现服务分片功能。
  • 数据定期提交到 Celestia,用于确保数据的可用性和安全性。
  • 客户端通过轻量级同步与 Layer 3 交互,并可以调用 Layer 3 提供的服务。

更有意思的是,前面两个引擎套件,包括AW Engine和Secret Engine都可以以预编译的形式与Zytron kit集成,以更为简约的形式为链上游戏提供高效、响应快速、功能丰富的基础设施。***也可以根据自己的需求选择相应的组件,以创建符合他们游戏设计的链环境。Zypher不仅支持ETH生态,也正在积极的探索BTC生态中链上游戏以及L3的可能性,Zypher和BTC 的Layer2 B² Network官宣合作称将基于 B² Network 以及其 DA Layer B² Hub 部署链上游戏专属 Layer 3,这将是 BTC 生态中***支持链上游戏的 Layer 3。Zypher已经成为首批支持BTC生态的链上游戏开发引擎。

WEEX唯客交易所是全球交易深度***好的合约交易所之一,位居CMC交易所流动性排名前五,订单厚度、价差领先同行,微秒级撮合,零滑点、零插针,***大程度降低交易成本及流动性风险,让用户面对极端行情也能丝滑成交。

WEEX交易所宣布将于今夏上线其全球生态激励通证WEEX Token(WXT)。WXT被设计为WEEX交易所生态系统的基石,作为动态激励机制,主要用于激励WEEX交易平台社区的合作伙伴、贡献者、先驱和活跃成员。

WXT总供应量100亿枚,初始流通量39亿枚,WEEX交易平台投资者保护基金、WXT生态基金各持有15%,15%用于持币激励,5%面向代理、渠道等合作伙伴私募,其余50%将全部用于WEEX交易所生态激励,包括:团队激励(20%)、活动拉新(15%)、品牌建设/KOL合作(15%)。WEEX Token是一种实用型代币,规划了丰富的使用场景和赋能机制,包括:Launchpad、近10项持有者专属权益,以及回购销毁通缩机制等。

据悉,WXT仅开放代理、渠道等合作伙伴折扣认购,未来零售投资者可通过新用户注册、交易挖矿、参与平台活动等方式获得WXT奖励。

WEEX官网:weex.com

WXT专区:weex.com/wxt

(WEEX交易所官网:www.weex.com)

你也可以在 CMCCoingecko非小号X (Twitter)中文 X (Twitter)YoutubeFacebookLinkedin微博 上关注我们,***时间获取更多投资资讯和空投福利。

在线咨询

WEEX华语社群:https://t.me/weex_group

WEEX英文社群:https://t.me/Weex_Global

文章版权及转载声明:

作者:0431网址导航本文地址:https://0431jz.cn/info/25635.html发布于 2024-04-20
文章转载或复制请以超链接形式并注明出处0431JZ.CN - 0431网址导航

赞(0