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定义了几种星球类型。
从一个星球能将资源移动到另外一个星球。星球的移动存在速度。移动的同时可以指明携带的资源。当到达时,如果携带的人员超过该星球的人口,就可以攻占星球。攻占逻辑可以查看darkforest-v0.3/eth/contracts/DarkForestLazyUpdate.sol的applyArrival函数(当移动完成后触发):
闪电网络客户端 c-lightning 于比特币主网实现“双重资金”通道:据官方消息,由 Blockstream 开发的闪电网络客户端 c-lightning 已在比特币主网上开通了“双重资金”闪电网络通道(Dual-Funded Lightning Channel)。据 Blockstream 介绍,通常情况下,当一个闪电节点打开一个通道时,只有启动该通道的节点可以添加资金,之后可能会产生通道资金不平衡的问题,而双重资金通道是指在打开闪电通道时,两个节点都可以为通道提供资金。所以 Blockstream 认为,双重资金通道可以降低向闪电网络部署资金的成本。但是该方案的标准还处于草案状态,为了使得它成为一个标准,必须要由另一个闪电网络客户端实现。[2021/5/8 21:38:29]
如果是到达自己的星球,人口和银矿直接累加。如果是其他人的星球,如果作战人数不够(小于星球人口),到达星球的人口相应减少。如果作战人数大于到达星球人口,攻占星球,并更新人口(作战牺牲)。
星球的移动和攻占是整个游戏的策略重点。既然是移动攻击,每个星球有一个坐标。为了增加游戏的策略体验,星球的具体坐标并不公开。有点像在浩瀚的宇宙中,只能观察(枚举)周围有限空间(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是一款实时策略游戏。星球的移动和攻占是整个游戏的策略重点。为了在不公开星球坐标的情况,还能证明星球的移动正确,引入了零知识证明技术。
尽管加密货币市场遇冷,但NFT领域却越来越引人关注。 支付宝的蚂蚁链最新推出了“敦煌飞天”和“伍六七”两款主题NFT皮肤,基本上发售即秒光,国人对于限量、抢购的消费模式一如既往的毫无抵抗力。 热潮的背后,从不乏利益驱使,9.9元一套的NFT皮肤,咸鱼上的炒作价格普遍溢价百倍,不过后来都被紧急下了架。
提起暗网,人们很快联想到贩卖军火、、身份护照信息等非法交易,而其背后的技术——洋葱网络也因此声名大噪,无数次在海内外新闻头条中吸引了眼球。通过这个最早诞生于美国海军研究实验室的一款匿名通信软件,用户可透过 Tor 接达由全球志愿者免费提供的、包含 6000+个中继的覆盖网络,从而达至隐藏用户真实地址、避免网络监控及流量分析的目的。
据最新消息,基于BSC/HECO/Polygon部署的跨链杠杆挖矿借贷协议Bagels Finance于8月23日12:00(UTC+8)正式结束公测。本次测试活动中,用户体验了Bagels 1.0的部分核心功能,包括无损质押挖矿、杠杆借贷挖矿。
Outlier Ventures 首席执行官兼创始人 Jamie Burke 和协议实验室生态系统负责人 Colin Evran 谈到了 Web3 未来去中心化存储的商业机会,以及最近宣布的由 Outlier Ventures 创建的 Filecoin Base Camp 所扮演的角色。
稳定币项目向来为各个公链所重视,而最近一段时间,被称为“Heco上的MakerDAO”的Demeter引起了大家的关注,今天我们来讲解下Demeter的重要性重要性、优势以及套利机会。
这两天大热的项目,除了文本类 NFT「First First NFTs」,还有菠菜猴「Monkey Bet DAO」。 Cryptoslam 数据显示,过去 24 小时「Monkey Bet DAO」交易量涨幅超过 1000%,达到 1354 ETH。