30 歲工程師破解畫作密碼,領走 5 個比特幣獎金

這幅畫作隱藏了重要資訊——一個比特幣地址(簡稱為 1FLAMEN6)的私鑰——找到這個私鑰就可以取走 1FLAMEN6 內的 4.87 個比特幣,作為破解謎題的獎金。去年 11 月中,一名駭客匯款到這個地址,令總數變成 5 個比特幣。
評論
評論

原文刊登於 關鍵評論網 ,Kayue 撰文,INSIDE 獲授權轉載。

2015 年 4 月,Twitter 用戶 coin_artist 貼出她跟藝術家 Rob Myers 聯手創作畫作,題目為 TORCHED H34R7S︰

Photo credit: coin _artist 貼文截圖

畫作隱藏了重要資訊——一個比特幣地址(簡稱為 1FLAMEN6)的私鑰——找到這個私鑰就可以取走 1FLAMEN6 內的 4.87 個比特幣,作為破解謎題的獎金。去年 11 月中,一名駭客匯款到這個地址,令總數變成 5 個比特幣。

謎題公布兩年多以來,有興趣破解的人持續關注 1FLAMEN6 這個地址,但獎金一直無人能領取——直到今年 2 月 1 日,當時獎金價值為 46831 美元。

《Motherboard》找到破解謎題的 30 歲程式員 Isaac(化名),他向記者表示身處的國家持有比特幣並不安全,因此希望保持匿名。他表示自己跟妻子喜歡破解謎題,所以他刻意尋找跟加密貨幣有關的謎題,而他只不過在約一個月前才得悉這道謎題。

Isaac 的破解方法獲得 coin_artist 確認,此外他亦以數碼簽署方式證明自己持有那些比特幣。coin_artist 指起初公布謎題時,曾出現致力要破解的社群,但過了數個月後興趣開始消減,她認為比特幣 2017 年價格急升,重新燃起人們對破解謎題的興趣。

要破解這張畫作,首先要注意的是右下角綁上鎖匙的紅色絲帶,短絲帶代表 0,長絲帶代表 1,對應的數值就是 011010。當然,答案沒那麼簡單,整串密鑰的重點,就在於邊框的「火焰」。

1FLAMEN6_key
1FLAMEN6_key
Photo credit: coin_artist

為方便理解,以下先講述這些火焰如何設計,反過來就是破解方法。

作為謎底的私鑰本身採用 WIF 格式,一是個 52 位的字串,以 58 位制編碼——即採用數字 1 至 9,所有 I、O 及 l 以外的大小寫字母編碼,主要是避免字母及數字相似而引起混淆。

coin_artist 及 Myers 兩人為這個 52 位的私鑰前面加上一些資料,包括放在最開頭的「b34u7y, truth, and rarity」(即「beauty, truth and rarity」,出自莎士比亞的詩作 〈鳳凰與斑鳩〉),得出 76 位的字串,再轉成二進碼,每個字母換成 8 位元的字串,總共 608 位元。

然後這 608 位元需要用紅色絲帶代表的字串「011010」去「改頭換面」,方法是每 6 個位元跟「011010」進行「異或運算」(exclusive or/XOR operation)。這個運算是比對兩個字串相應的位元是否相同,如果相同就寫成 0,不同就寫成 1。舉個例,「111000」跟「011010」進行異或運算的結果是「100101」、「100101」跟「011010」進行異或運算的結果則是「111111」。

經「011010」以異或運算改寫後,得出一個新的 608 位元字串,然後兩人將這 608 個位元分為 152 個 4 位元的字串,仔細數一下四邊紅色或黃色框的「火舌」,就會發現剛好是 152,他們正是把每個 4 位元字串編碼到一條火舌上。

1FLAMEN6_flames
1FLAMEN6_flames
Photo credit: coin_artist

每條火舌有四組特徵,每項特徵按次序對應一個位元(括號內的數字)︰

  1. 短(0)/長(1)
  2. 紅色框(0)/黃色框(1)
  3. 闊(0)/窄(1)
  4. 紫色內部(0)/綠色內部(1)

例如「1010」就代表一條「長、紅色框、窄、紫色內部」的火舌。畫作四邊的火焰就是按這個編碼方式繪製出來,由左上角內部開始,順時針繞一個圈,再從左上的外部逆時針走,安排好 152 條火舌。

1FLAMEN6_order
1FLAMEN6_order
Photo credit: coin_artist

知道編碼方法的話,要解開謎底不算困難,當然最難的部分正正在於要先知道這個神秘的編碼方式。Issac 也不是獨力解決問題,在花了一段時間徒勞無功後,他專注在火焰上,因為看起來像編碼,但仍然無法破譯。後來他找到同道中人 Trin,兩人同屬一個為破解謎題而設的 Telegram 群組。

Trin 表示,在去年 12 月當 coin_artist 發放圖片的高清版本時,他意識到火焰代表 4 位元的字串,但不知道如何處理,他的直覺認為需要以紅色絲帶的 6 位元密碼作異或運算,然而在為火焰解碼方面未有進展。聽到 Trin 的線索後,Isaac 以 Java 寫了個小程式運算,按 Trin 的說法他在 20 分鐘後成功破解謎題。

為答謝 Trin 的提示,Isaac 送了 0.5 個比特幣給給 Trin。他的獎金亦不限於那 5 個比特幣,由於比特幣經歷多次「分家」,他同樣獲得相應的比特幣現金(Bitcoin Cash)及比特幣黃金(Bitcoin Gold)。

去年底比特幣升至近 2 萬美元的高位,然而今年初開始不斷下跌,目前已跌穿 7 千美元關口。Issac 則對記者表示,他計劃繼續持有這些破解謎題得來的比特幣,無意放售。

資料來源︰

 



精選熱門好工作

資料科學家_數據分析師

伊雲谷
新北市.台灣

獎勵 NT$15,000

人力資源經(副)理 / HR Professional

布爾喬亞公關顧問股份有限公司
臺北市.台灣

獎勵 NT$15,000

UX 數據分析師

長青資訊有限公司
臺中市.台灣

獎勵 NT$15,000