比特幣助記詞 24 個單字,真的比 12 個更安全嗎?

比特幣助記詞 24 個單字,真的比 12 個更安全嗎?的文章封面插畫

建立比特幣錢包時,有些軟體提供 12 個助記詞,有些硬體裝置則交出 24 個。單字多一倍,看起來就像鎖多加了一倍複雜度,也很容易讓人推論:12 詞只是勉強可用,24 詞才適合認真保管資產。

不過,助記詞的安全性不能只用字數比較。詞數確實會改變隨機空間,可是攻擊者更常利用備份外洩、弱亂數、釣魚輸入或裝置缺陷。若整份備份已被看見,再多的單字也不會讓已知內容重新變成祕密。

因此,24 詞在理論上提供更高的抗猜測餘裕;正確產生的 12 詞也已具有遠超現實暴力搜尋能力的空間。真正值得比較的,是生成品質、使用情境與保管過程,而非把詞數當成單一安全分數。

單字是隨機資料的可抄寫形式

常見的 BIP39 助記詞使用 2,048 個固定單字。錢包先取得隨機資料,再附上由雜湊算出的校驗資訊,最後每 11 位元對應一個詞。12 詞通常承載 128 位元原始隨機資料與 4 位元校驗;24 詞則承載 256 位元原始資料與 8 位元校驗。

這表示可用組合並非單純以「多 12 個詞」描述。若生成器真的均勻使用 128 位元空間,猜中指定 12 詞所需面對的候選數已極其龐大。24 詞把理論空間推得更遠,但兩者都建立在同一前提:起始隨機資料不可預測,而且生成過程沒有被操控。

校驗碼也不等於額外密碼。它能排除許多格式錯誤,協助錢包發現抄錯或順序異常,卻不會阻止取得完整單字的人重建種子。詞數、校驗能力與保密狀態要分開理解。

128 位元已經遠超可行的搜尋範圍

人腦容易把 128 和 256 看成只差一倍,但位元每增加一位,候選空間就乘以二。理想的 128 位元隨機祕密約有 2 的 128 次方種可能;即使大量設備持續猜測,完整掃遍仍超出可行尺度。

這不代表 12 詞在任何情況都安全。如果使用者自己挑詞、生成器的亂數來源有缺陷,或供應鏈預先知道裝置產生的內容,實際候選空間可能遠小於標示值。畫面顯示 12 個格式正確的單字,只能證明編碼成立,不能證明背後真的保留了 128 位元不可預測性。

同樣地,24 詞若來自有偏差的程序,也可能只有看起來很長。安全強度取決於攻擊者不知道多少資訊,而非使用者抄了多少格。

更長的備份也會增加操作表面

24 詞的優點很直接:在生成品質相同的條件下,它提供更大的窮舉餘裕,也可能符合某些裝置或組織既有的安全設計。不過,日常保管還有另一面。需要抄寫、核對與復原的內容更多,漏詞、順序顛倒、字跡混淆與備份不完整的機會也可能增加。

這些錯誤不一定能由校驗碼自動修好。校驗只能判斷某個完整候選是否自洽,無法知道原本想寫的是哪一組。若備份被切成多份自行分藏,沒有經過嚴謹門檻設計,還可能造成任何單一位置都不足以復原,或其中一份遺失就永久失去控制權。

反過來說,把 12 詞拍照、存進雲端記事本,或在陌生網站輸入,也不會因理論熵很高而安全。攻擊者若能直接讀到備份,根本不需要從所有可能組合開始猜。

Passphrase 解決的是另一個問題

部分錢包允許在助記詞之外加入 BIP39 passphrase。它會和單字一起產生另一顆種子,功能與替原錢包加上一個可重設的登入密碼不同。任何不同字元都可能導向另一套有效錢包,因此遺忘或輸入錯誤通常不會出現「密碼錯誤」提示。

足夠強且分開保管的 passphrase,能在助記詞單獨外洩時增加一道障礙;代價是復原資料多了一項不可遺失、不可猜錯的祕密。把 12 詞加 passphrase 和單純改用 24 詞視為同一種升級,會忽略兩者防範的情境與操作風險並不相同。

選擇要回到整條風險鏈

若可信錢包預設產生 12 詞,沒有必要只因字數較少就判定它不安全;若裝置採用 24 詞,也不必為了方便自行截短。使用者更應確認助記詞由可信設備隨機產生、初始化時沒有預先印好的固定內容、備份可以離線且清楚地保存,並在不暴露祕密的前提下熟悉復原流程。

還要分清楚錢包本身的控制資料與介面保護。裝置 PIN 可以阻擋他人直接操作硬體,無法阻止已取得助記詞的人在另一台裝置復原。多重簽章則把控制權分散到多把鑰匙,處理的是單一備份點失守問題,也不能用單一詞數直接比較。

所以,24 詞確實比 12 詞包含更大的理論隨機空間,但「更大」不等於所有情境下都有可感知的安全提升。對妥善生成的助記詞而言,12 詞的暴力猜測門檻已非常高;現實風險往往先出現在生成、抄錄、存放、輸入與復原。先把整條保管流程做對,再評估是否需要額外的理論餘裕,才不會讓較長的備份掩蓋更接近人的失敗點。