黑暗森林是一款MMO(大多人在线游戏类)游戏。我更感兴趣的是,这个游戏使用零知识证明技术。零知识证明技术的应用越来越广泛:隐私、跨链、ZKRollup、游戏等。本文介绍了黑暗森林的基本策略以及如何结合零知识证明技术。在文章的**,介绍了**版本v0.6第3轮的游戏体验和屏幕截图。
目前,黑暗森林版本已经迭代到0.6。然而,GitHub上的**代码并没有透露部分电路。为了了解它是如何采用零知识证明技术的,您可以查看GitHub发布的0.3完整代码。
博弈策略
看看智能合约的源代码,你可以对黑暗森林的游戏策略有一定的了解。智能合约的源代码位于以下目录中:
黑暗森林-v0.3/ETH/contracts
整个游戏世界由“行星”组成:
一颗行星有两种“资源”:人口和挖矿业(目前支持白银)。人口和挖矿业增长缓慢,但有一个上限。有些地雷可以升级。Darkforestinitialize.SOL定义了几种行星类。
资源可以从一个星球转移到另一个星球。行星的运动是有速度的。移动时可以指示所携带的资源。当你到达时,如果你携带的人口超过地球上的人口,你就可以捕获地球。对于捕获逻辑,您可以查看darkforest-v0.3/ETH/contracts/darkforestlazyupdate.SOL的AppRival函数(在移动完成后触发):
如果它要到达自己的星球,人口和银矿石就会直接积累起来。如果它是别人的星球,如果战斗机数量不够(少于星球人口),到达该星球的人口将相应减少。如果战斗机数量大于到达行星的人口,则捕获该行星并更新人口(战斗牺牲)。
移动和捕获地球是整个游戏的战略重点。由于是移动攻击,每个星球都有一个坐标。为了增加游戏的战略体验,行星的具体坐标没有透露。有点像在浩瀚的宇宙中,我们只能观察(列举)周围的有限空间(散列碰撞)并寻找其他行星。为了在不泄露行星坐标的情况下证明行星的正确运动,引入了零知识证明技术。
零知识证明应用
Asdark forest游戏v0.3使用零知识证明技术来证明与行星位置相关的两个操作:1/行星初始化(init)2/行星移动。电路逻辑在darkforest-v0.3/circuits/中。该电路由circom公司开发。该电路经groth16协议验证。两种电路都相对简单:
初始化电路
初始电路用于确保创建行星时坐标在范围内。x和y坐标均不超过2^32的幂。
半径为R的圆内:
MIMC(x,y)的散列计算是正确的。X/y是私有输入,哈希值是公共输入。
移动电路
行星移动时,检查移动范围不能超过半径为distmax的圆:
确定原始坐标的哈希值和移动的哈希值。显然,特定坐标是私有输入,哈希值是公共输入。
随着黑暗森林版本的迭代,许多新的播放方法已经更新。有更多与位置相关的证明电路,但基本逻辑类似。感兴趣的合作伙伴可以自己检查。
体验v0.6第3轮
体验**游戏版本:v0.6第3轮。目前,您需要一个邀请码才能参与游戏。
如上所述进入游戏主界面,该界面由四部分组成:1/最左边是工具栏,玩家可以在其中查看自己的行星和工件。游戏支持各种插件。2 /极右是交易记录3,中间是整个宇宙的分布图。从玩家的角度来看,整个宇宙由黑色背景和雾色组成。黑色背景是发达的宇宙。多雾地区是一个未经探索的宇宙。在宇宙中有不同层次的行星。4/底部是显影扫描控制条,可以控制扫描是否开始以及从什么坐标开始。请注意宇宙地图上的目标图标,它表示正在扫描的空间。进入游戏时,向导程序将引导您熟悉基本功能按钮。默认情况下,扫描仪会不断扫描未知空间。
单击行星以查看行星的特定参数。下图显示了捕获的行星的参数信息:
红色:当前人口/人口上限。蓝色:当前矿石数量/矿石上限。粉红色:防御率(百分比系统)/移动速度/攻击范围。咖啡:设备“发送”按钮可以将人口和地雷发送到其他星球“发送”功能是相应电路中的移动操作。在移动过程中,两颗行星之间有一条白线。移动的进度将显示在白线上。
不同行星的性质是不同的。有的可以生产矿产,有的有设备,有的可以升级,有的不能升级,等等。
每颗行星从1级开始。第三轮的目标是捕获并拥有3级以上的行星。行星离原点越近,分数越高,排名越高。九级行星也被设定在原点,而捕获这颗行星的玩家是第一个。
总结:
黑暗森林是一款实时战略游戏。移动和捕获地球是整个游戏的战略重点。为了在不泄露行星坐标的情况下证明行星的正确运动,引入了零知识证明技术。
文章标题:黑暗森林:一个零知识证明技术的游戏
文章链接:https://www.btchangqing.cn/312763.html
更新时间:2021年08月16日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。