RTS区块链游戏《Dark Forest》是一款建立在以太坊上的去中心化实时战略游戏,自从去年8月发布首个测试版以来,《Dark Forest》的热度就只增不减,目前仅twitter账户就拥有1.48万粉丝,就连V神都在YouTube上推荐了它!
《Dark Forest》灵感来源于刘慈欣著名的科幻小说《三体》三部曲的第二部《黑暗森林》及其同名思想实验。作为一款MMO太空征服游戏,玩家们将在一个由程序化生成的、加密的无限宇宙中探索发现并征服星球。
2021年年初,《Dark Forest》移动到了速度相对较快、手续费相对更低的xDai网络。前几天刚结束了V0.6版本的第四轮活动,每场活动都会在技术和玩法上带来突破,也取得了不错的效果。
在《Dark Forest》中,星球分为两种:一种是普通星球,一种是有银矿的星球。第二种星球可以不断产生银(Siliver),银可以用来给普通星球升级、提高属性。
玩家们将在游戏中不断探索、占领更多新星球,扩张自己的生存区域。
也许看到这,有些玩家仍会觉得这个游戏不过如此、并不新奇,那么到底为什么《Dark Forest》能经久不衰,在一年多的时间里热度不减呢?
这要从《Dark Forest》两个方面的特点来看:1、zkSNARKs和不完全信息游戏;2、加密战争迷雾
zkSNARKs和不完全信息游戏
完全信息游戏是指所有玩家都知道游戏宇宙全部状态的游戏。比如跳棋、围棋、国际象棋等游戏中,所有玩家总是知道棋盘上所有棋子的位置。
又比如在加密领域,NFT游戏《Crypto Kitties》中,所有玩家都可以查询到每个猫咪的属性、持有者等等,所以它也是一个完整信息游戏。
不完全信息游戏也被称为 "隐藏信息游戏",是指玩家可能不知道游戏世界全部状态的游戏。比如扑克游戏,你往往不知道对手们持有哪些牌。
《Dark Forest》跟《星际争霸》、《EVE Online》这类战略游戏也属于这个范畴。不完全信息游戏能够给予玩家更多机会,去探索更丰富、更戏剧性的策略空间。
在这类RTS游戏中,信息隐藏是通过 "战争迷雾 "来实施的——游戏地图上玩家未探索的区域是都是未知的。这个我们放到后面细说。
zkSNARKs是一个强大的密码学工具,可以用来验证秘密数据的计算。
例如在一个类似国际象棋的游戏中使用零知识证明:"我把我的马从秘密地点A移到秘密地点B,我不会告诉你A和B的实际位置,但可以证明从A到B的移动确实是一个有效的L型。"
以太坊上的应用零知识(ZK)密码学在过去一年有了飞跃性的发展,像iden3的SnarkJS这样的新工具首次实现了高效的、浏览器内的ZK证明和验证。
这些应用zkSNARK技术的最新进展使得《Dark Forest》得以建立一个基于zkSNARKs的隐藏信息游戏。
在此之前几乎不可能在去中心化系统上建立不完全信息设置,因为大多数去中心化系统的数据层在设计上是完全开放和透明的。
如果将完整的游戏状态存储在一个任何人都可以查看的透明数据层中,就不可能有私人信息的概念。
而零知识密码学改变了这一点。有了zkSNARKs,玩家可以保留私人状态,同时公开提交可验证有效的行动。
加密战争迷雾
SNARK安全的加密战争迷雾,是《Dark Forest》的一个核心理念。
在《Dark Forest》中,玩家不向核心智能合约提交他们所占领的星球的坐标,而是提交对其星球位置的承诺(通过对星球坐标的哈希运算),以及证明哈希运算有效的零知识证明,这就保障了星球位置的保密性。
而当玩家想要移动时,他们提交他们要移动的星球的哈希值和他们要移动到的星球哈希值,以及一个零知识证明来证明这构成了一个 "有效 "的移动即可。
由于哈希值很难被逆转,检查Dark Forest合同不会告诉你其他玩家的实际位置。找到其他玩家的唯一方法就是进行搜索。
在《Dark Forest》中,这意味着对游戏宇宙的区域进行 "散列",寻找与已经公布的散列对应的坐标。将战争迷雾引入这种结构,使其只有通过计算才能揭开。
为了赋予这个游戏世界更为有趣的属性,他们还在这个核心思想的基础上添加了一些更复杂的zkSNARK技巧。