55

10分钟解密,奖金1400万的比特币游戏

 5 years ago
source link: https://www.tuoluocaijing.cn/article/detail-13168.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如果你是电影和游戏发烧友,那么你对《头号玩家》一定不陌生,斯皮尔伯格用一个反乌托邦式的科幻电影结构,塑造了一部全球世纪流行文化编年史。

闪灵、高达、哥斯拉...在男主角的过关斩将中一一呈现,虚拟和现实的交织,高智商烧脑的快感,让人欲罢不能。

EbqAF3y.png!web

如果在现实世界也有这样一款烧脑游戏,你玩不玩?

310bitcoinchallege就是一款高智商解谜游戏。制作者号称里面有310个TC,需要玩家通过解密的方式寻找到线索,从而获取310个BTC。

游戏中共有四个谜题,除了310的终极谜题,还有奖金分别为以下数额比特币的谜题:

1、0.1BTC

2、0.2BTC

3、0.31BTC

参与者需要从中寻找钱包地址的私钥来赢取比特币。

在网站上,制作者放出了钱包地址:39uAUwEFDi5bBbdBm5ViD8sxDBBrz7SUP4。

10月4日,一位叫做"Lustre"的人成功破解了这份画中藏有0.1BTC的秘钥,并转走了其中的币。

10月9日下午,另一位匿名玩家成功破解了第二个挑战,并获得了0.2BTC

第一个秘钥的破解方法在10月8日下午被一众玩家共同猜出,并将方法公布在国外论坛bitcointalk和reddit上。但是截至目前,第二个秘钥是如何被破解的还没有人公布出来。

01 制作者给出解密的线索

制作者Pip曾经提到:“如果没有任何进展,我会给出一些线索”, “别指望在几小时或者几天内解决问题,不过要是有人能够实现,那真的很棒!”

根据eddit、Bitcointalk以及discord讨论组汇总的信息,我们总结了所有可能用于解决这一问题的理论、线索。

Pip说想要解决谜题,将图片打印出来是必经之路(不仅仅是用软件分析),不过这句话应该只是个玩笑。

这张图既不是藏宝图,上面也没有任何与坐标的有关的东西,但将里面的点和线镜象之后,就会发现绝大多数元素神奇的对应上了。

价值1400万的310个比特币,就在其中。

Fv2qAbq.png!web

所以解密的绝大部分工程还是要在电脑上完成,尤其是解密者需要检查哈希和助记词,看起来似乎只有技术大咖才能找到隐藏其中的比特币。

02 线索一 隐藏的原始数据

有人说:“我相信Pip在图片中藏了四条Payload。”

euQv2eI.png!web

提起payload,大家可能比较陌生,翻译过来是有效载荷。

通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息。

比如数据量的大小、校验位等,这样就相当于给已经分批的原始数据加一些外套。这些外套起标示作用,使得原始数据不易丢失。

数据+外套=传输通道的基本传输单元,叫做数据帧或数据包。

其中的原始数据就是payload。

MruU3ay.png!web

这些原始数据以某种特殊的加密形式被隐藏在了图片里,所以玩家需要解密才手段能看见(比如说利用图片的分层、色彩的RGB来提取图像)。

不过找到这些Payload并不难,难的是解密。

如果用过PS的小伙伴会知道,在正常的图片当中,会有很多通道。

yIvMRju.png!web

alpha通道是一个单独通道,相当于一个关联表一样的东西,来定义这个像素点的透明度的属性。

当只有它这一张图的时候不会有什么作用,但是当将有透明度的图片和其他的图片进行叠加的时候,透明度就能够产生它的作用了。

如果一张透明的图片,则阿尔法的作用之就是0,在叠加的时候,这块区域上的图片之后有本来的颜色,而不会有它自己的颜色。

alpha的作用位1的时候,就是将图片覆盖在了这块区域上。

例如下图中,整个图像是一块纯蓝色。通道中是一个蝴蝶的灰度图。两者相加以后我们就可以得到蓝色蝴蝶。

uEbyqmF.png!web

所以经过PS处理后,图片的alpha层的310行是一串二进制字符串。

但图片中可能不止有一串这样的二进制字符串。

有的用户表示:“alpha层中的字符串是基于Base64(双层加码的),因此可能会有使用不同的解码来解密”。

有的人认为较小的字符串包含在较大的字符串中。还有有些人推测在图片中格的底线嵌入了一个字符串。

03 线索二 加密字符串

当玩家知道线索在图片的alpha图层中之后,他迅速发现了这串字符串是通过Base64加密的OpenSSL加密字符串。

Base64是一种常用的加密手段,OpenSSL则是一个功能强大的工具包,它集成了众多密码算法及实用工具。

我们即可以利用它提供的命令台工具生成密钥、证书来加密解密文件,也可以在利用其提供的API接口在代码中对传输信息进行加密。

niiUrqV.png!web

BTCChallenge用解密手段,解出了一串地址,并假设这是已经被转走0.1比特币的地址,继续解密。

同时图片上还有「2018年10月2日」的字样,这是挑战发布的日期,用小写字母写在图像上,用于解码第一个地址。

MNFB7jU.png!web

Pip在网站上写道:“将你到目前为止获得的SHA256哈希写在一行。”(这或许可以用来验证你的哈希是否正确)

nYf2imf.png!web

这里提到的哈希,熟悉区块链的人应该都会经常听到。

但在计算机世界,哈希有着更广泛的意义。

哈希是通过对文件内容进行加密运算得到的一组二进制值,主要用途是用于文件校验或签名。

不同的文件(哪怕细微的差异)得到的哈希值均不相同,因此哈希值可做为文件唯一性判别。

对于普通上网者而言,可以通过对下载后的文件进行哈希值较验,以判断该文件是否在发布后被人修改过,保证下载的正确性。

UJvAV3I.png!web

Pip表示:“如果不知道如何获取那0.1比特币(无法提供正确的哈希),不要去进行无意义的尝试。”

他还说也许0.1BTC的钱包背后的东西更多,但也未必。但是我们知道的是,0.2BTC的谜题中,用到了第一个谜题的答案

3aQv2yn.png!web

图像上的曲线和圆圈可能暗指前BTC图像拼图,解密可能要用到摩斯密码、二进制字串符。

04 线索三 右下角的表格

在原图中,最容易被注意到的便是下方6*3的表格。

imuieqJ.png!web

这些数字网格是十六进制的代码,制作者使用了移位密码(shift key)。

移位密码是最简单的一类代替密码,具体算法就是将字母表的字母右移k个位置(k<26),并对字母表长度作模运算。

经过一番研究后,发现移位密码是我们前文提到过的日期,同样在图中出现的Oct 2 2018(即代码20181002)。

我们得到了一个新的6*3的网格。

zmyaQzR.png!web

第一排的310并没有任何实际意义,算是Pip对挑战者的小小肯定。

第二和第三排的12组数字依然是十六进制的,我们将其转变为十进制,便得到了12个数字。

Inq2Ufz.png!web

这12与钱包之间的联系又有什么联系?

经过一阵思考,玩家们想到了助记词。

一般来说,钱包有12位助记词,每一个助记词都有相应对应的数字,系统随即生成。

uIZBVfY.png!web

数字编号从1号开始,单词从abandon开始,很容易让人想起背四级单词的噩梦。

我们在助记词的表单中,寻找数字所对应的助记词,便得到了下列对应关系。

zE3MJjf.png!web

通过导入上述私钥 「cry buyer grain save vault sign lyrics rhythm  music fury horror mansion」,我们获得了一个钱包地址

经过查询,的确在10月4日有过转出0.1比特币的交易,数据一致。

eQJ7Vbv.png!web

为了还原以上过程,我们录制了一个视频:

<iframe src="https://res.tuoluocaijing.cn/7178ea3d7ab1c54bddee758a652bc27a?imageView2/3/w/760/h/100/q/75|imageslim" style="box-sizing: border-box; line-height: normal; outline-style: initial; outline-width: 0px; background: transparent; white-space: inherit;"></iframe>

同时我司小哥哥也写了一个模拟软件,放在了github上,文末有获取方法。

至于为什么十六机制用了移位密码,为什么又是转换为十进制而不是二进制,到现在为止,还没有人能搞清楚其中的缘由。

特别说明:解密过程翻译自bitcointalk:

https://bitcointalk.org/index.php?topic=5042285.40

如有雷同,纯属巧合

05 神秘的制作者

制作者在游戏页面说,他 靠早期挖矿和买比特币赚了很多钱,而这次拿来做游戏奖励的310个比特币大部分是免费空投得来的。

做这个游戏的原因,是因为他觉得比特币改变了他的生活。无论谁破解代码,都可以用比特币做自己想做的事情。

有意思的是,制作者并没有表露自己真正的身份,他说大家可以叫他“Pip”。

发起人自称“Pip”,或许这个名称也有玄机。

《卫报》曾经报道过一篇文章,是一个解谜故事。

一个人和他的朋友Pip以及Blossom被恶魔抓起来。他们每个人手中都有一堆苹果,最少1个,最多9个,并且数量两两不同,每个人有机会向恶魔问一个问题,但问完之后他们要说出一共有多少个苹果。

Pip的问题是“总数是偶数吗?”答案是否定的;Blossom的问题是“总数是素数吗?”答案也是否定的。“我”知道自己有5个苹果,这时候“我”该问什么问题呢?只有一种选择“总数是不是15个?”。

解密的过程很长也很有意思,有兴趣的朋友可以去网上搜出来了解一下。

MVzMBzb.png!web

Pip在网站中说,他匿名的原因是因为他不想整个宇宙都知道自己的比特币财富,而且也不打算透露自己到底有多少BTC,他根本不在意自己是不是有更多钱。

也就是说,钱对他来说,是真正的身外之物。

我突然想起了王思聪的那句话:“我不在意别人有没有钱,反正都没有我有钱。”

06 极客们的狂欢

在游戏解密过程中,我们提到了一系列专业术语,二进制、十进制、十六进制、哈希、payload、alpha图层...这些令普通人费解的词语,明明白白的告诉着大家:

这是一个极客的游戏。

制作者以极其复杂的加密方式,来玩了一场1400万元的游戏。

在游戏当中,有不少有意思的事情:

玩家必须要完成前三个挑战才能进入最后一个挑战,每个挑战结束后还有相应得奖奖金, 这让人想起《头号玩家》,不知是否是对斯皮尔伯格的一次致敬。

VfMzMjI.png!web

这张图片的原图来自一个名叫Peter Heeling的荷兰摄影师,在 2016年10月25日拍下的免费图片。

原图是一片绿油油的森林,经过模糊等后期处理之后,变为了隐藏310比特币的「宝藏线索图」。

U3yABj3.png!web

游戏的玩家,也异常的有趣:

有人甚至想到雇佣同伴,来获得大奖。

如果你想解决一个价值200万美元的谜题,那你起码要有300万美元的气魄。

雇15个人,每人每月支付2000美元。

如果我们成功解密,那么就平分200万美元;

即使失败了,我们也能一起度过一段有趣的时光。

就在我们文章写完不久,有人已经找出了第二关线索,成功拿走了0.2BTC。

BzUVFru.png!web

这一次,据说玩家用了更加复杂的解密方式解开谜题,具体的解密方式,我们dapdap将持续关注,在后续的文章中会第一时间进行解析。

后台回复关键词「加群」,加入游戏讨论群,获得游戏第一手资讯

后台回复关键词「工具」,可获得以下所有工具包


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK