從《捕風追影》說起:決定上萬億加密資產的 2048 個單詞
想告訴“此沙”:你離擁有上百億港幣,頂多也就 2048 次嘗試。
作者:Tyler
最近看了成龍大哥的口碑新作《捕風追影》,裡面有個橋段挺有意思------上百億港幣的加密資產,被鎖在一個 12 個單詞的助記詞錢包裡,結局只剩最後一個單詞未知。
我看完去試了下,結果發現第 10 位和第 12 位並不在標準助記詞庫裡,顯然編劇是故意這麼寫,避免有人照著劇情復原錢包搞詐騙,畢竟鏈上類似的騙局並不罕見:
騙子會故意洩露一個「帶餘額」的錢包地址(典型在 Tron 鏈上,利用 Owner 機制),誘導大家轉入 Gas,守株待兔,資金一旦轉入就再也拿不回來了。
但這裡有趣的一點在於,電影裡說只差最後一個單詞不知道。可在真實世界裡,助記詞遵循 BIP39 標準 ,一共就 2048 個單詞,也就是說,暴力破解最後一位,頂多也就 2048 種可能,如果再縮小範圍,比如電影中已知開頭字母是「es」,那可能性更少,一分鐘就能試完。
不過,電影之外更值得重溫的問題是:助記詞、私鑰、公鑰,到底是什麼關係?為什麼丟了助記詞就等於丟了所有資產?
一、助記詞:私鑰:公鑰/地址 = 「鑰匙串」:「鑰匙」:「門牌號」
助記詞是遵循 BIP39 標準的備份方式,從 2048 個英文單詞的詞庫中,通過算法隨機選取並組合而成的 12、18 或 24 個單詞。
這組助記詞經過 PBKDF2 算法處理後,會生成一個種子(Seed),再由這個 Seed 按照 BIP32/BIP44 等路徑標準,派生出一系列私鑰,進而對應一系列的公鑰/地址。
一組助記詞 → 生成一系列私鑰 → 生成一系列公鑰 → 對應一系列地址
換句話說:
- 助記詞 = 鑰匙串,和私鑰往往是一對多的關係,理論上一組助記詞可以衍生出成千上萬個私鑰;
- 私鑰 = 鑰匙,每一把私鑰對應一個地址的使用權;
- 公鑰/地址 = 門牌號,可以公開,別人能用它給你轉帳;
所以可以將助記詞視為你的「鑰匙串」,而每個私鑰就像其中一把能開門的鑰匙,用來簽名、證明你對某個錢包地址的控制權------當你發起一筆交易時,就是用私鑰來簽名,告訴全網:「這筆轉帳是我授權的」。
二、那能不能自己挑選助記詞?
那是不是有朋友就會覺得:我能不能自己來湊 12 個單詞?比如生日、最喜歡的英文單詞、偶像名字,這樣更有個性。
答案是:可以,但極度危險。
因為計算機生成的隨機數是真隨機,而人類挑單詞時幾乎都帶有模式(常見詞、習慣用詞、順序偏好),這會大幅縮小搜索空間,讓你的助記詞更容易被猜中。
之前就出過「偽隨機錢包」的安全事件,有些錢包生成助記詞時使用了偽隨機算法,結果熵遠遠不足,被黑客暴力遍歷直接窮舉破解------2015 年黑客組織 Blockchain Bandit 就利用故障的隨機數生成器和程式碼漏洞,系統性地搜尋弱安全私鑰,成功掃出了 70 多萬個脆弱錢包地址,並盜走了其中超過 5 萬枚 ETH。
當然有些極客會用骰子(得確保骰子也足夠均勻)搖隨機數,再映射到 BIP39 單詞庫,這才算手工安全,但對大多數人來說,沒必要搞這麼複雜,反而容易出錯。
三、能不能暴力撞出 V 神或其他巨鯨的錢包?
這個問題我當年也腦補過,幻想自己哪天生成了一個錢包地址,結果一看裡邊有上百萬枚 ETH,瞬間財富自由,直接偷家某位巨鯨。
不得不說,光想就挺誘人。但現實是:概率幾乎等於零。
為什麼?因為助記詞的可能組合數量已經誇張到超出人類想像:
- 12 個單詞:有效組合數約 2¹²⁸ ≈ 3.4 × 10³⁸
- 24 個單詞:有效組合數約 2²⁵⁶ ≈ 1.16 × 10⁷⁷
這個數量級是什麼概念?
我們都知道地球上的沙子多到數不清,但科學家們估算過一個近似值,假設地球上的所有沙灘、沙漠加起來,沙子的總數大約是 7.5×10¹⁸ 粒,這也意味著:
- 12 個單詞的有效組合數,相當於地球全部沙子總數的 4.5 × 10¹⁹ 倍
- 24 個單詞的有效組合數,更是地球上沙子總數的 1.5 × 10⁵⁸ 倍
換句話說,就好像地球上每一粒沙子,都變成一顆「新地球」,每個新地球裡還有沙灘和沙子,然後你要在所有這些沙子裡,一次性隨機找到你事先標記好的那一粒。
這已經遠遠超出人類可以想像的規模。
所以,暴力破解錢包的概率,不是「極低」,而是在已知的物理學和計算能力下,等同於零,想靠「撞庫」發財,還不如去買彩券,中奖概率高得多。
回到電影的那個設定:如果真有人只差一個助記詞單詞,那確實有可能通過暴力遍歷去嘗試。
最後,關於錢包/助記詞/私鑰的幾點安全小貼士:
- 優先使用經過時間和市場檢驗、開源代碼審計的非托管錢包,如 MetaMask、Trust Wallet、SafePal 等,有條件的直接使用硬體錢包;
- 助記詞和私鑰,永遠不要截圖、不要存網盤、不要複製粘貼、不要發給別人;
- 最好紙筆抄寫(可以考慮使用不鏽鋼助記詞板,防潮、防火、防腐蝕),放在安全的地方,且 2~3 處多點備份;
- 公鑰/地址可以放心公開,它就是你的門牌號,但要注意識別釣魚鏈接;
- 建議用乾淨的設備管理錢包,不要隨便裝來歷不明的插件或 App;
- 記住一句話:任何人向你要助記詞,100% 是騙子。
免責聲明:文章中的所有內容僅代表作者的觀點,與本平台無關。用戶不應以本文作為投資決策的參考。
您也可能喜歡
Bitget 現貨槓桿新增 BARD/USDT!
Bitget 現貨槓桿新增 FLOCK/USDT!
0GUSDT 現已上線盤前合約交易
Bitget 現貨槓桿新增 SKY/USDT, ALGO/USDT, MERL/USDT!
加密貨幣價格
更多








