如何驗證骰子生成的助記詞

初始化數字貨幣加密錢包,其中最重要的環節就是創建助記詞。那你有沒有思考過一個問題——助記詞從何而來?實際上他來源於一串隨機數,也就是所謂的熵。該隨機數通常是由軟件錢包中的 PRNG(偽隨機數生成器)或者硬件錢包的 TRNG (真隨機數生成器)生成。這個過程中,保持高度的隨機性是私鑰不會被暴力破解的關鍵。關於 PRNG (偽隨機數生成器)和 TRNG (真隨機數生成器)之間的區別,我們在這篇文章中做了詳細解釋。

但是, TRNG(真隨機數生成器)也有一些缺點。TRNG 是由安全芯片供應商創建的專有代碼執行,也就是說,用戶在生成真隨機數時,需要去信任這個供應商是沒有問題的。 

對於一些加密货币的持有者來講,這種盲目的信任是不能接受的。所以這就是為什麼像 ColdCard 和 Keystone 這些品牌的硬件錢包可以允許用戶使用投擲骰子的方式生成自己的隨機數。您可以查看這篇教程了解如何用 Keystone 通過投擲骰子創建助記詞。

“Don’t trust, verify!”不僅僅是一句口號,而是我們應該努力堅持的標準,這也與 Keystone 團隊產生了強烈共鳴,我們會以盡可能高的產品透明度來實現這一目標。之前我們已經將操作系統和安全芯片固件代碼進行開源,在未來,我們會逐步實現“未驗證,勿相信”這一終極目標。

資深技術用戶可以在我們的 Github 中驗證我們的代碼。對於非技術用戶,可以使用 Ian Coleman 工具去驗證結果。

下面詳細介紹驗證過程:

假設您投擲了 50 次骰子,然後得到了一串數字:

51236422654236551235532545533355551153256611442361

將這些數字輸入 Keystone ,就會生成一套 24 位的助記詞。

請注意,将投擲产生的 50 个数字转换成六进制数,相當於 128 位字节。如果您投擲次數少於 50 ,隨機性可能會減弱,導致生成的助記詞安全係數較低。保險起見,我們更建議投擲 100 次。

Ian Coleman 的密鑰生成工具中,您可以打開“顯示熵詳細信息” (Show entropy details)。

然後在頁面的右側選擇 Dice [1-6] ,在助記詞長度這一列選擇 24 words 。然後在“熵”這一列輸入您剛在 Keystone 中輸入的數字。

然後您將得到一組助記詞,這與在 Keystone 上用骰子生成的助記詞完全相同。
如下所示:

boost nephew sea noise apology three grocery alter season gym leaf token defense today vacuum purse gate swear want road opera fine flag twice

建议您最好離線使用 Ian Coleman 網絡工具去驗證骰子助記詞,避免有潛在的惡意軟件控制你的鍵盤或對您的計算機實施其他網絡攻擊。您可以在 Ian Coleman 頁面的底部,找到離線使用指南。

這是“Don't trust, verify!”系列文章的第一篇。接下來我們还會講如何驗證固件升級包。敬請期待。

Subscribe to Keystone 硬件錢包
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.