如何低成本制作助記詞板

熟悉加密貨幣的都知道,想要真正持有資產(chǎn),就必須把資產(chǎn)轉(zhuǎn)到自己的錢包里,而要長久保存錢包,就要用到?助記詞板。
助記詞板?的目的是,是用打孔,拼字,雕刻等手段,把一段代表著密鑰的文字保存在耐火耐腐蝕的金屬板上,實現(xiàn)長久保存的目的。
現(xiàn)在市面上的?助記詞板,種類少,價格昂貴,動輒幾百,我今天來介紹一個低成本制作?助記詞板?的方法。
有人會說,你都玩幣了,還在乎這點小錢么,抱歉,作者本人當前沒有持有任何加密資產(chǎn),過去也沒賺到過一分錢,不信你看我這窮困潦倒的 B 樣子。
我本人其實更多的是對?加密貨幣?的?加密?那一部分感興趣,通過?密鑰派生,可以派生出 GPG 密鑰?和 SSH 密鑰。配合 Trezor 等?硬件錢包,可以用于日常網(wǎng)絡(luò)安全,這里先不展開討論。
工具
我們會用到一個工具,半自動中心沖。

使用方法非常簡單,尖端對準一個平面,然后用力按壓。按壓過程中,內(nèi)部的彈簧機構(gòu)會一直積蓄能量,到一定程度的時候,內(nèi)部的機構(gòu)會瞬間把這些能量釋放出來,敲擊頂部的鉆頭。
它頂部的鉆頭十分堅硬,瞬間釋放的能量,可以在 不銹鋼板,甚至?鈦合金板?上?鑿出一個坑。

編解碼規(guī)則
有了坑,就有了一個比特位,可以用來代表 0/1,下一步我們需要一個?編碼規(guī)則。準確來說,是?解碼規(guī)則。
回到?助記詞?的原理,BIP39?助記詞,每個單詞代表著? 0~2048? 之間的一個數(shù)字,也就是?11 bit 信息。常見的 24 位助記詞,本質(zhì)上是 256 bit?隨機數(shù)據(jù),加上?8 bit 校驗數(shù)據(jù)。
我們可以把每個?助記詞?代表的?11 bit 原始數(shù)據(jù),直接用?半自動中心沖?砸在金屬板上。
這里推薦 OneKey 的點圖規(guī)則,它為每個助記詞加上了 1,這樣第一個助記詞 abandon 代表的?0,變成了?1,不至于成為一行空白;同時最后一個助記詞? zoo? 代表的全?1,會進一位到第?12?bit,這樣整體的寬度會變成?12?bit,便于規(guī)劃。
當然你大可以完全忽略這些細節(jié),翻看?Github?上?OneKey 的倉庫,有對照表
https://github.com/OneKeyHQ/bip39-dotmap
如此這般,我們可以打印一張 24x12 的?網(wǎng)格圖(加一些定位點),貼在一張紫銅板上,然后用半自動中心沖,把?助記詞?和若干?定位點?鑿在上面。

我選擇?紫銅板?是因為對于保存數(shù)據(jù)來說,紫銅板?耐火耐腐蝕能力已經(jīng)足夠了,并且銅質(zhì)地較軟,便于沖坑。
如果在淘寶上購買,一把好的?半自動中心沖?價格在?80?左右,一塊 5cmx10cm 紫銅板?才幾塊錢,相較于動輒幾百塊錢的助記詞板,便宜的太多了。
此外,我還為?WioTerminal?寫了一個?Arduino?程序,能夠通過搖桿輸入隨機熵,生成? BIP39?助記詞 和 點位圖,24x12 網(wǎng)格也放在倉庫的 resources 文件夾下了,歡迎來點個?Star。
https://github.com/guoyk93/wioterminal-mnemonic
最后提醒各位,任何情況下不能把助記詞暴露給其他人
這也是我設(shè)計這個方案的初衷,整個步驟可以自己在家完成,其他的什么淘寶上找金屬激光雕刻啊之類的,需要把助記詞發(fā)給他人的,腳趾頭想想就知道不安全。