基于 zkSNARK 的「黑暗森林」:V 神都在玩的三体游戏

千岁山 水手 发布在 Web 3.0
 14075  0

1950 年,物理学家恩里科·费米提出了一个令无数人百思不得其解的问题:以宇宙惊人的年龄和庞大的星体数量来看,地外生命应该广泛存在,但为什么我们却什么也没发现。

这个问题在日后被称作「费米悖论」,该悖论的矛盾点在于地外文明存在性的过高估计和相关证据的缺失。无数科学家、研究者都试图对费米悖论作出解释,其中最著名的便是刘慈欣在《三体》中写到的「黑暗森林法则」。

黑暗森林法则

「斩尽杀绝,这是对一个文明最高的重视」——《三体 II:黑暗森林》

在《三体》中,刘慈欣把整个宇宙比做一个黑暗森林,把每个文明都比做潜行在黑暗森林中的、带枪的猎人,既要保证自己不被发现,又要想法设法找到并消灭其他的猎人,因为你不知道对方是天使还是魔鬼。

宇宙中各文明之间因为无法判断对方对自己是友善还是敌对,由于猜疑链和技术爆炸的影响,所以默认相互敌对,因此会在发现对方文明后立即予以毁灭(成本较小)。所以,在宇宙中,一旦暴露己方文明坐标就等于己方文明毁灭,毁灭者与被毁灭者甚至毫不相关、从未有过联系,毁灭只是因为「发现」。

就像书中写到的:「毁灭你,与你有何相干。」

这就是黑暗森林法则,即描述了在宇宙中轻易暴露自己坐标可能会带来的严重后果,也阐述了原因,更解释了费米悖论中为何会存在「相关证据的缺失」这一问题。黑暗森林法则也随着《三体》火遍全球而广为人知,那你有没有想过将黑暗森林法则做成一款游戏呢?


黑暗森林游戏简介


「黑暗森林」是一款 MMO (大型多人在线)太空征服游戏,宇宙中所有星球、玩家出生位置全部都是随机的,而玩家在一开始会拥有一颗自己的小星球,能量值和可见范围也很小,玩家可以通过征服其他行星来获取更高的能量值和更大的可见范围。游戏每个版本都会作为一场测试赛,每一轮的获胜者都将获得奖金。


基于 zkSNARK 的战争迷雾


「黑暗森林」游戏中的关键在于「不完全信息博弈」。


举例来说,当你在和另外两个玩家玩纸牌游戏「斗地主」时,你只能看到自己的牌,但是并不知道另外两个玩家手中有什么牌,因此在做决策时只能对其他玩家的手牌做一个估计,而无法得到确切的信息。这就叫做「不完全信息博弈」。而像象棋、围棋这类双方玩家都可以看到棋盘上的棋子,并预测落子可能性的游戏则属于「完全信息博弈」。


而「黑暗森林」把不完全信息博弈用到了「迷雾」中。所谓迷雾,即玩家的可见范围,这种设定其实在游戏领域已经屡见不鲜了,「魔兽争霸」、「红色警戒」、「星际争霸」等经典即时战略游戏就已经通过「迷雾」来隐藏玩家信息。在「黑暗森林」中,你不知道迷雾中的其他玩家发展如何,不知道他们是不是在入侵你星球的道路上,不知道他们距离你还有多远。


然而,目前大多数去中心化应用的数据层都是完全开放和透明的,如 Axie Infinity,每个玩家都可以查到 Axie 的主人、属性值、技能,这也就不存在「隐私」这一概念,也就无法引入「不完全信息博弈」这一概念。


为解决这一问题,「黑暗森林」采用了「简洁零知识证明(zkSNARK)」,通过 zkSNARK,玩家可以在保持隐私的状态下公开提交可验证的有效行动。在游戏中,玩家不需要向核心智能合约提交他们星球的坐标以及征服星球的坐标,而只需要提交对其星球位置的承诺(即经过哈希算法的星球坐标)以及一个可以证明哈希算法是有效的零知识证明,这也就能保证星球位置的隐秘性。


基于 xDai 的链上操作证明

阻碍以太坊网络链游持续发展的一大难题便是 Gas 费,如果游戏直接与以太坊主网进行交互,那么在网络拥堵时,几十甚至上百美元的 Gas 费将让普通用户寸步难行。

OKLink 数据:2021 年 1 月 4 日,以太坊 Gas 建议费为 294.31Gwei


而黑暗森林选择 xDai 这种 Layer2 解决方案可以将每一笔操作的上链手续费大大降低。

xDai 是一个拥有稳定储备货币的链,其交易和费用是通过 XDAI 进行的,而 xDAI 则是通过在以太坊上锁定 DAI,并通过 xDai 桥创建而来的。xDAI 的价值基本与美元锚定,这意味着交易成本是可预测的,不会受到市场波动的影响。

以太坊上一笔交易的实际成本,会因为链上拥堵和以太坊价格而产生很大的差异,而在 xDai 上,与以太坊相同的交易成本约为 0.01 美元。


发展历程及现状


黑暗森林的最初面世版本为 2020 年 8 月推出的 v0.3,如今已迭代至 v0.6 版本,每次版本均是以删档内测的方式开启,同时会向排名前 15 的优胜者送出 1024 枚 DAI 作为奖励。


每次黑暗森林新版本的开启,均会在以太坊社区掀起一波讨论热潮。