Dark Forest :采用零知识证明技术的游戏

Dark Forest是一款MMO(大型多人在线游戏类型)游戏。我比较感兴趣的是这款游戏使用了零知识证明技术。零知识证明技术应用越来越丰富:隐私,跨链,zk Rollup,游戏等等。本文介绍Dark Forest的基本策略,如何结合零知识证明技术。在文章的最后,介绍最新版本v0.6 Round 3的游戏体验和截图。

目前Dark Forest版本已经迭代到0.6。但是,github上的最新的代码并没有公开电路的部分。为了方便理解它如何采用零知识证明技术,可以查看github公布的0.3的完整代码:

https://github.com/darkforest-eth/darkforest-v0.3.git

看看智能合约的源代码,可以对Dark Forest的游戏策略有一定的了解。智能合约的源代码在目录:

darkforest-v0.3/eth/contracts

整个游戏宇宙由“星球”(Planet)组成:

一个星球有两种“资源”:人口(population)和矿(目前支持silver-银)。人口和矿慢慢增长,但是有上限。有矿可以升级。DarkForestInitialize.sol定义了几种星球类型。

零时科技:Ronin侧链被盗6.25亿美金部分已转移至Huobi及FTX:3月30日消息,据零时情报站报道,Ronin侧链被盗6.25 亿美金部分已转移至 Huobi 及 FTX。目前,黑客将部分 USDC 兑换为 ETH,将 6250 ETH 分散转移,其中 3750 ETH 转移到 Huobi,1220 ETH 转移到 FTX,1 ETH 转移到 Crypto.com,剩余资金余额仍停留在黑客地址,黑客发起攻击资金 1 ETH 来源为 Binance。[2022/3/30 14:26:34]

从一个星球能将资源移动到另外一个星球。星球的移动存在速度。移动的同时可以指明携带的资源。当到达时,如果携带的人员超过该星球的人口,就可以攻占星球。攻占逻辑可以查看darkforest-v0.3/eth/contracts/DarkForestLazyUpdate.sol的applyArrival函数(当移动完成后触发):

如果是到达自己的星球,人口和银矿直接累加。如果是其他人的星球,如果作战人数不够(小于星球人口),到达星球的人口相应减少。如果作战人数大于到达星球人口,攻占星球,并更新人口(作战牺牲)。

SupraOracles CEO:解决预言机相关难题可以促进DeFi领域继续呈指数级增长:12月16日消息,跨链预言机解决方案SupraOracles首席执行官兼联合创始人Joshua Tobkin发文称,去中心化金融(DeFi)是加密市场增长最快的领域,仅在一年内总锁仓量(TVL)就从约250亿美元增至近1000亿美元。不过DeFi面临一个巨大挑战:智能合约漏洞攻击和预言机漏洞导致DeFi领域被盗资金超过14亿美元。

随着DeFi生态系统变得更加复杂和可组合,预言机风险只会升级。现有的预言机领域主要由难以平衡去中心化、速度和安全性的解决方案所主导,一些解决方案错误地过分关注速度,同时在这一过程中牺牲了去中心化和安全性。这样做将为额外的性能故障、安全漏洞和漏洞铺平道路,而这些都无法推动开放网络上去中心化技术的大规模机构采用。

此外还存在互操作性的问题。在整个Web3领域,人们都在共同呼吁建立一个多链的未来,去中心化网络群集成在一起,为所有用户和机构创建一个无缝的技术网格。任何真正希望取代传统技术堆栈的预言机解决方案都必须为这种可互操作的未来做好准备。

Tobkin表示,通过解决预言机困境相关难题,我们可以加强DeFi的安全性。这将使这一新兴行业能够向新的大型传统金融资本池开放,以帮助这一个无需许可、开放的新金融范式继续呈指数级增长。总的来说,如果不保护Oracle层,我们就不配成为未来金融的管理者。我们必须做得更好。(Nasdaq)[2021/12/16 7:42:44]

星球的移动和攻占是整个游戏的策略重点。既然是移动攻击,每个星球有一个坐标。为了增加游戏的策略体验,星球的具体坐标并不公开。有点像在浩瀚的宇宙中,只能观察(枚举)周围有限空间(hash碰撞)寻找其他星球。为了在不公开星球坐标的情况,还能证明星球的移动正确,引入了零知识证明技术。

asDark Forest游戏V0.3利用零知识证明技术证明了两个和星球位置有关的操作:1/ 星球初始化(init) 2/ 星球移动(move)。电路逻辑在darkforest-v0.3/circuits/中。电路采用circom开发。电路的证明采用Groth16协议。两个电路相对都比较简单:

init电路

init电路用来确保星球创建的时候,坐标在范围内。x和y坐标都不超过2^32次方。

在半径为r的圆形范围内:

mimc(x,y) 的hash计算正确。x/y是private input,hash值是public input。

move电路

在星球移动时,检查移动的范围不能超过半径为distMax的圆:

确定原始坐标的hash值以及移动后的hash值,显然具体坐标是private input,hash值是public input。

随着Dark Forest版本的迭代,更新了不少新的玩法。和位置有关的证明的电路也变多了,但是基本逻辑类似,感兴趣的小伙伴可以自行查看。

体验了一下最新的游戏版本:v0.6 Round 3。目前参加游戏需要邀请码。

进入游戏的主界面如上,由4部分组成:1/ 最左边是工具栏,玩家可以查看自己的星球(Planets)和装备(Artifacts)。游戏支持各种插件(plugins)。2/ 最右边是交易记录 3/ 中间是整个宇宙星球分布图。从某个玩家的视角看,整个宇宙由黑色背景和雾色组成。黑色背景是已经开拓的宇宙世界。雾色区域是没有开拓的宇宙世界。在开拓的宇宙世界中有各种等级的星球。4/ 底部是开拓扫描控制栏,可以控制扫描是否开始,从什么坐标扫描。注意在宇宙分布图中的靶向图标,这个图标就是指明正在扫描的宇宙空间。进入游戏的时候,向导程序会引导熟悉基本的功能按钮。默认情况下,扫描程序不停的扫描未知宇宙空间。

点击某个星球,可以查看该星球的具体参数。下图是攻占的一个星球的参数信息:

红色:当前人口数/人口上限。蓝色:当前的矿数/矿上限。粉红色:防御率(百分制)/ 移动速度 / 攻击范围。咖啡色:装备。“send”按钮可以发送人口和矿到其他星球上。“send”功能就是对应电路中的move操作。在move的移动过程中,两个星球中间有白色连线。白色连线上会显示移动的进度。

各种星球的属性不同,有些可以产矿,有些有装备,有些能升级,有些不能升级等等。

每个星球从level 1开始。Round 3的目标是攻占并拥有level 3以上的星球。离原点越近的星球,分数越高者排名越高。在原点还设置了level 9的星球,攻占了这个星球的玩家为第一名。

Dark Forest是一款实时策略游戏。星球的移动和攻占是整个游戏的策略重点。为了在不公开星球坐标的情况,还能证明星球的移动正确,引入了零知识证明技术。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

以太坊交易Ludena Protocol :游戏与区块链技术结合的新星 —— 韩国极具潜力的区块链游戏整合平台

众所周知,加密货币在韩国区块链产业中占据着十分特殊的地位,韩国同时也被公认为炒币最狂热的国家之一,加密货币在韩国甚至有一个独特的繁荣景象,叫“泡菜溢价”。韩国社会中参与加密货币的投资者人数已呈现出爆炸式的增长,且越来越多的年轻人愿意加入其中。放眼全球资本市场,即便是小众的币圈,韩国在这其中也被认为是一个特殊的存在。

比特币价格零知识证明如何与Filecoin网络结合

最近,Protocol Labs研究团队发布了zk-SNARKs for the World site网站。这个网站介绍了目前在Filecoin网络上整合零知识证明密码学所完成的工作。这些努力已持续三年,已让Filecoin成为目前最大的zk-SNARK部署网络,并且每天生成了600万到700万个零知识证明。

[0:15ms0-8:631ms