10分鐘解密,獎金1400萬的比特幣游戲區(qū)塊鏈
如果你是電影和游戲發(fā)燒友,那么你對《頭號玩家》一定不陌生,斯皮爾伯格用一個反烏托邦式的科幻電影結(jié)構(gòu),塑造了一部全球世紀(jì)流行文化...
如果在現(xiàn)實(shí)世界也有這樣一款燒腦游戲,你玩不玩?
310bitcoinchallege就是一款高智商解謎游戲。制作者號稱里面有310個BTC,需要玩家通過解密的方式尋找到線索,從而獲取310個BTC。
游戲中共有四個謎題,除了310比特幣的終極謎題,還有獎金分別為以下數(shù)額比特幣的謎題:
1、0.1BTC
2、0.2BTC
3、0.31BTC
參與者需要從中尋找錢包地址的私鑰來贏取比特幣。
在網(wǎng)站上,制作者放出了錢包地址:39uAUwEFDi5bBbdBm5ViD8sxDBBrz7SUP4。
10月4日,一位叫做”Lustre”的人成功破解了這份畫中藏有0.1BTC的秘鑰,并轉(zhuǎn)走了其中的幣。
10月9日下午,另一位匿名玩家成功破解了第二個挑戰(zhàn),并獲得了0.2BTC
第一個秘鑰的破解方法在10月8日下午被一眾玩家共同猜出,并將方法公布在國外論壇bitcointalk和reddit上。但是截至目前,第二個秘鑰是如何被破解的還沒有人公布出來。
制作者Pip曾經(jīng)提到:“如果沒有任何進(jìn)展,我會給出一些線索”,“別指望在幾小時或者幾天內(nèi)解決問題,不過要是有人能夠?qū)崿F(xiàn),那真的很棒!”
根據(jù)Reddit、Bitcointalk以及discord討論組匯總的信息,我們總結(jié)了所有可能用于解決這一問題的理論、線索。
Pip說想要解決謎題,將圖片打印出來是必經(jīng)之路(不僅僅是用軟件分析),不過這句話應(yīng)該只是個玩笑。
這張圖既不是藏寶圖,上面也沒有任何與坐標(biāo)的有關(guān)的東西,但將里面的點(diǎn)和線鏡象之后,就會發(fā)現(xiàn)絕大多數(shù)元素神奇的對應(yīng)上了。
價值1400萬的310個比特幣,就在其中。
所以解密的絕大部分工程還是要在電腦上完成,尤其是解密者需要檢查哈希和助記詞,看起來似乎只有技術(shù)大咖才能找到隱藏其中的比特幣。
有人說:“我相信Pip在圖片中藏了四條Payload。”
提起payload,大家可能比較陌生,翻譯過來是有效載荷。
通常在傳輸數(shù)據(jù)時,為了使數(shù)據(jù)傳輸更可靠,要把原始數(shù)據(jù)分批傳輸,并且在每一批數(shù)據(jù)的頭和尾都加上一定的輔助信息。
比如數(shù)據(jù)量的大小、校驗(yàn)位等,這樣就相當(dāng)于給已經(jīng)分批的原始數(shù)據(jù)加一些外套。這些外套起標(biāo)示作用,使得原始數(shù)據(jù)不易丟失。
數(shù)據(jù)+外套=傳輸通道的基本傳輸單元,叫做數(shù)據(jù)幀或數(shù)據(jù)包。
其中的原始數(shù)據(jù)就是payload。
這些原始數(shù)據(jù)以某種特殊的加密形式被隱藏在了圖片里,所以玩家需要解密才手段能看見(比如說利用圖片的分層、色彩的RGB來提取圖像)。
不過找到這些Payload并不難,難的是解密。
如果用過PS的小伙伴會知道,在正常的圖片當(dāng)中,會有很多通道。
alpha通道是一個單獨(dú)通道,相當(dāng)于一個關(guān)聯(lián)表一樣的東西,來定義這個像素點(diǎn)的透明度的屬性。
當(dāng)只有它這一張圖的時候不會有什么作用,但是當(dāng)將有透明度的圖片和其他的圖片進(jìn)行疊加的時候,透明度就能夠產(chǎn)生它的作用了。
如果一張透明的圖片,則阿爾法的作用之就是0,在疊加的時候,這塊區(qū)域上的圖片之后有本來的顏色,而不會有它自己的顏色。
alpha的作用位1的時候,就是將圖片覆蓋在了這塊區(qū)域上。
例如下圖中,整個圖像是一塊純藍(lán)色。通道中是一個蝴蝶的灰度圖。兩者相加以后我們就可以得到藍(lán)色蝴蝶。
所以經(jīng)過PS處理后,圖片的alpha層的310行是一串二進(jìn)制字符串。
但圖片中可能不止有一串這樣的二進(jìn)制字符串。
有的用戶表示:“alpha層中的字符串是基于Base64(雙層加碼的),因此可能會有使用不同的解碼來解密”。
有的人認(rèn)為較小的字符串包含在較大的字符串中。還有有些人推測在圖片中格的底線嵌入了一個字符串。
當(dāng)玩家知道線索在圖片的alpha圖層中之后,他迅速發(fā)現(xiàn)了這串字符串是通過Base64加密的OpenSSL加密字符串。
Base64是一種常用的加密手段,OpenSSL則是一個功能強(qiáng)大的工具包,它集成了眾多密碼算法及實(shí)用工具。
我們即可以利用它提供的命令臺工具生成密鑰、證書來加密解密文件,也可以在利用其提供的API接口在代碼中對傳輸信息進(jìn)行加密。
BTCChallenge用解密手段,解出了一串地址,并假設(shè)這是已經(jīng)被轉(zhuǎn)走0.1比特幣的地址,繼續(xù)解密。
同時圖片上還有「2018年10月2日」的字樣,這是挑戰(zhàn)發(fā)布的日期,用小寫字母寫在圖像上,用于解碼第一個地址。
Pip在網(wǎng)站上寫道:“將你到目前為止獲得的SHA256哈希寫在一行。”(這或許可以用來驗(yàn)證你的哈希是否正確)
這里提到的哈希,熟悉區(qū)塊鏈的人應(yīng)該都會經(jīng)常聽到。
但在計算機(jī)世界,哈希有著更廣泛的意義。
哈希是通過對文件內(nèi)容進(jìn)行加密運(yùn)算得到的一組二進(jìn)制值,主要用途是用于文件校驗(yàn)或簽名。
不同的文件(哪怕細(xì)微的差異)得到的哈希值均不相同,因此哈希值可做為文件唯一性判別。
對于普通上網(wǎng)者而言,可以通過對下載后的文件進(jìn)行哈希值較驗(yàn),以判斷該文件是否在發(fā)布后被人修改過,保證下載的正確性。
Pip表示:“如果不知道如何獲取那0.1比特幣(無法提供正確的哈希),不要去進(jìn)行無意義的嘗試。”
他還說也許0.1BTC的錢包背后的東西更多,但也未必。但是我們知道的是,0.2BTC的謎題中,用到了第一個謎題的答案
圖像上的曲線和圓圈可能暗指前BTC圖像拼圖,解密可能要用到摩斯密碼、二進(jìn)制字串符。
在原圖中,最容易被注意到的便是下方6*3的表格。
這些數(shù)字網(wǎng)格是十六進(jìn)制的代碼,制作者使用了移位密碼(shift key)。
移位密碼是最簡單的一類代替密碼,具體算法就是將字母表的字母右移k個位置(k<26),并對字母表長度作模運(yùn)算。
經(jīng)過一番研究后,發(fā)現(xiàn)移位密碼是我們前文提到過的日期,同樣在圖中出現(xiàn)的Oct 2 2018(即代碼20181002)。
我們得到了一個新的6*3的網(wǎng)格。
第一排的310并沒有任何實(shí)際意義,算是Pip對挑戰(zhàn)者的小小肯定。
第二和第三排的12組數(shù)字依然是十六進(jìn)制的,我們將其轉(zhuǎn)變?yōu)槭M(jìn)制,便得到了12個數(shù)字。
這12與錢包之間的聯(lián)系又有什么聯(lián)系?
經(jīng)過一陣思考,玩家們想到了助記詞。
一般來說,錢包有12位助記詞,每一個助記詞都有相應(yīng)對應(yīng)的數(shù)字,系統(tǒng)隨即生成。
數(shù)字編號從1號開始,單詞從abandon開始,很容易讓人想起背四級單詞的噩夢。
我們在助記詞的表單中,尋找數(shù)字所對應(yīng)的助記詞,便得到了下列對應(yīng)關(guān)系。
通過導(dǎo)入上述私鑰 「cry buyer grain save vault sign lyrics rhythm music fury horror mansion」,我們獲得了一個錢包地址
經(jīng)過查詢,的確在10月4日有過轉(zhuǎn)出0.1比特幣的交易,數(shù)據(jù)一致。
至于為什么十六機(jī)制用了移位密碼,為什么又是轉(zhuǎn)換為十進(jìn)制而不是二進(jìn)制,到現(xiàn)在為止,還沒有人能搞清楚其中的緣由。
特別說明:解密過程翻譯自bitcointalk:
https://bitcointalk.org/index.php?topic=5042285.40
如有雷同,純屬巧合
制作者在游戲頁面說,他靠早期挖礦和買比特幣賺了很多錢,而這次拿來做游戲獎勵的310個比特幣大部分是免費(fèi)空投得來的。
做這個游戲的原因,是因?yàn)樗X得比特幣改變了他的生活。無論誰破解代碼,都可以用比特幣做自己想做的事情。
有意思的是,制作者并沒有表露自己真正的身份,他說大家可以叫他“Pip”。
發(fā)起人自稱“Pip”,或許這個名稱也有玄機(jī)。
《衛(wèi)報》曾經(jīng)報道過一篇文章,是一個解謎故事。
一個人和他的朋友Pip以及Blossom被惡魔抓起來。他們每個人手中都有一堆蘋果,最少1個,最多9個,并且數(shù)量兩兩不同,每個人有機(jī)會向惡魔問一個問題,但問完之后他們要說出一共有多少個蘋果。
Pip的問題是“總數(shù)是偶數(shù)嗎?”答案是否定的;Blossom的問題是“總數(shù)是素數(shù)嗎?”答案也是否定的。“我”知道自己有5個蘋果,這時候“我”該問什么問題呢?只有一種選擇“總數(shù)是不是15個?”。
解密的過程很長也很有意思,有興趣的朋友可以去網(wǎng)上搜出來了解一下。
Pip在網(wǎng)站中說,他匿名的原因是因?yàn)樗幌胝麄€宇宙都知道自己的比特幣財富,而且也不打算透露自己到底有多少BTC,他根本不在意自己是不是有更多錢。
也就是說,錢對他來說,是真正的身外之物。
我突然想起了王思聰?shù)哪蔷湓挘骸拔也辉谝鈩e人有沒有錢,反正都沒有我有錢。”
在游戲解密過程中,我們提到了一系列專業(yè)術(shù)語,二進(jìn)制、十進(jìn)制、十六進(jìn)制、哈希、payload、alpha圖層…這些令普通人費(fèi)解的詞語,明明白白的告訴著大家:
這是一個極客的游戲。
制作者以極其復(fù)雜的加密方式,來玩了一場1400萬元的游戲。
在游戲當(dāng)中,有不少有意思的事情:
玩家必須要完成前三個挑戰(zhàn)才能進(jìn)入最后一個挑戰(zhàn),每個挑戰(zhàn)結(jié)束后還有相應(yīng)得獎獎金,這讓人想起《頭號玩家》,不知是否是對斯皮爾伯格的一次致敬。
這張圖片的原圖來自一個名叫Peter Heeling的荷蘭攝影師,在2016年10月25日拍下的免費(fèi)圖片。
原圖是一片綠油油的森林,經(jīng)過模糊等后期處理之后,變?yōu)榱穗[藏310比特幣的「寶藏線索圖」。
游戲的玩家,也異常的有趣:
有人甚至想到雇傭同伴,來獲得大獎。
如果你想解決一個價值200萬美元的謎題,那你起碼要有300萬美元的氣魄。
雇15個人,每人每月支付2000美元。
如果我們成功解密,那么就平分200萬美元;
即使失敗了,我們也能一起度過一段有趣的時光。
就在我們文章寫完不久,有人已經(jīng)找出了第二關(guān)線索,成功拿走了0.2BTC。
這一次,據(jù)說玩家用了更加復(fù)雜的解密方式解開謎題,具體的解密方式,我們dapdap將持續(xù)關(guān)注,在后續(xù)的文章中會第一時間進(jìn)行解析。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。