CryptoKitties
您的位置:首页 > 资讯 > 区块链游戏 > 技术大神破解以太猫(CryptoKitties)遗传规律,普通猫生出稀有猫

技术大神破解以太猫(CryptoKitties)遗传规律,普通猫生出稀有猫

时间:2018-02-09  来源:淘游戏  作者:丸子    

    摘要:技术大神破解以太猫(CryptoKitties)遗传规律,普通猫生出稀有猫。

        据说,2018年农历大年初一,《CryptoKitties》要登陆中国市场,和普通的叫法不同,之前大家一致称之为以太猫,加密猫,数字猫或者区块猫。但这次进入中国市场,游戏官方给游戏启用一个特别的中文名——《迷恋猫》。为什么起这样一个名字,大概是“迷恋”与“密链”同音,也有“加密区块链”的意思,而避免直接叫做以太猫、加密猫或者区块猫,则是规避国内政策的因素。客观而言,虽然区块链技术目前在国内仍是一大热门,但区块链游戏则一直受到“热情呵护”。此前,国内多家开发“区块链宠物”的游戏公司纷纷放弃区块链宠物计划,正好说明了有关部门对此审查十分严格。

m1.jpg

这款名为《以太猫》(CryptoKitties)的游戏开创了区块链游戏的风潮。

与普通游戏不同的是,区块链游戏不仅是作为玩乐的游戏,也成为了各大用户们的一大投资手段。价格最高的一只以太猫,以246.95个以太币的价格成交,约为11.8万美金、77万人民币。

正因为这一原因,最近,某知名互联网公司 算法工程师蔡志威声称,自己破解了以太猫属性的遗传规律,用普通特征属性的猫配种出高属性的猫来售卖,并给广大读者们分享了这段“操作心得”。

以下是蔡志威具体的分享内容:

去年12月,以太坊上的养猫游戏大火,也吸引了一大批的用户入局。游戏的规则也很简单:买两只猫,每隔一段时间进行交配,然后生出一只新的小猫,小猫的属性跟猫父母有一定关联性。

以太猫的价格一点儿也不比现实中的猫便宜,猫的外形特征和属性决定了自身的价格,而属性特征都是由猫的基因决定的。

那么,如果能研究出猫属性遗传的规则,是否可以用普通的小猫生育出稀有的小猫来售卖呢?

最后通过研究,终于破解了以太猫属性的遗传规律。总体来说,破解的法则流程一共有四步:

step 1:从区块链中读取到猫的基因信息

从游戏网站中,我们能看到一些小猫的基因,但是网站的数据更新很慢,最好是一次性得到所有小猫的基因和属性来分析,所以我从区块链方面入手。最后发现,可以从执行转帐的地址[2]中看到以太猫的合约地址。

具体操作是,首先在以太坊上的智能合约中,通过转账去执行一段代码,那么代码执行的结果会被写入到区块链中。

而读取的代码(比如读一个猫的基因)并不需要通过转帐。在本地的客户端同步数据后,便可以直接从本地的接口读取到。

因此,我从工具页面中读取到了以太猫的合约接口,其中GetKitty接口可以传入ID,这样便可以得到猫的基因、父母ID、生育状态等信息。

step 2:了解哪种特征属性的猫需要哪些基因

得到了猫的基因信息后,就要了解基因与特征之间的关系,明白什么样的基因能生出什么特征的小猫。

我看到很多人都尝试过去分析基因与猫的特征的关系,但其实大部分人其实看到的是十六进制的数据,这样获得的有效信息会很少。

因此我改从二进制信息入手,用机器学习中常用的“决策树”的方法:按猫的基因的256位作为256个特征(注:在这个游戏中,猫的基因是一段256位的序列),来分别预测猫是否有对应的特征。

猫的特征在某些位等于某个值的时候,基因就会有某个特征。比如说第234和235位都是1时,就会出现jagur(猫的一个属性)特征。通过之后的尝试,这个猜想得到了验证,通过这个结果模型训练出来的预测准确率为100%。关系如图(以第230位为例):

至此,我们已经可以知道,如果要生出具有某种特征的小猫需要有什么样的基因。

step 3:了解哪些猫父母能生出特定基因的小猫

接下来,还需要知道选什么猫来当父母,才可以生出特定基因的小猫。

在合约中,我输入要交配的猫的基因,以及出生的block数,得出了可以生出的小猫的基因。

因为要大量的数据统计才能分析出猫的每个属性是跟哪些基因位相关的。所以我通过机器学习的方法学习出父母的基因,合成后代基因的算法,抓取了所有小猫的代码。

接着,我把猫父母基因的二进制作为一个特征,再选用决策树这种可解释性更强的算法,训练出树。

如图(以第230位为例):

通过训练树的方法后,我有两点总结:

第一,每一个猫后代的基因跟猫父母的每一位是对应的。比如说猫父母的第134位都是1,那么后代第134位也是1的概率很大,这个几率高达50%以上。

第二,相邻位的基因同时遗传给下代的概率会更大。(比如说父母133和134位分别是10和01时,后代基因一般都是10或01,很少会出现11或00的情况)。

step 4:推理出两只普通猫生出稀有猫的方法

根据以上三步的发现,我得到了一种策略去生出任何我们想要的稀有猫。具体流程总结如下:

首先,搜索现在所有在出售的小猫,找两只猫进行配对。

这两只猫需要满足两个条件:首先是基因里仅有1位不满足猫的稀有属性,并且两个猫不满的基因位要不相同、也不能相邻。

举个例子,你需要第125位是0,234位是1,235位是0属性的小猫,那么需要找两只配对的属性应该如下:一只猫是125,234,235位分别是1,1,0的,另外一只猫125,234,235位分别是1,0,0。

然后让这两只猫不断重复生育,在足够次数之后一般都能生出想要的猫。

从成本来看,我一共用了10个左右的以太币来买猫(按当时的价格来算,大约是8万左右人民币)。而通过得出的方法,我在两天内程序自动买了几十只猫,生育了约500-600只小猫,得到了50多只的稀有的僵尸猫和Mistletoe猫(约合人民币20万左右)。

最后,我在两周内一共赚了价值12万人民币左右的以太币。但后来因为市场萎缩得太快,没什么新人入场买猫,我就没有再继续卖猫了。

————以上就是这个工程师所谈的破解的具体方法。有兴趣的玩家可以实际操作验证一下。验证起来并不难。而且相对游戏刚推出时爆炒的价格,以太猫的价格已经下降许多了,投资和验证的风险也小了很多。

《以太猫》简介:以太猫,英文名字CryptoKitties(Crypto Kitties),是一款区块链宠物养成游戏,由Axiom Zen和以太坊智能联合开发。游戏中,玩家可以通过购买以太币(ETH,一种基于公链的数字代币)领取以太猫,并为其购买食物等。该游戏与此前的电子宠物游戏最大的不同就是,用户可以自主选择是否出售以太坊区块链中的电子猫,并从中获取利益。现在国内已有不少参考CryptoKitties的基于以太坊智能合约开发的区块链宠物游戏,例如以太狗,以太马,以太猫中国版等等。国外还有一款比较著名的即将上市的区块链游戏则是fishbank。

淘手游,淘链游,了解更多游戏新闻就来 淘游戏新闻频道

CryptoKitties   礼包

  • 类型: 养成  Q版 
  • 平台:苹果
  • 状态:运营
  • 更新: 2018-03-01
  • 专区:点此进入
  • 论坛:点此进入

攻略 评测 视频 截图预览

CryptoKitties

CryptoKitties
类型: 养成  Q版 
平台:苹果
状态:运营
版本号:1.0
更新时间:2018-03-01

谜恋猫(Cryptokitties)这款区块链游戏由axiomzen团队开发,2017年11月正式上线。与一般常规意义上的游戏不同的是它是基于以太坊区块链的一款...[详情]

网游排行榜

  • 热门
  • 下载