有一個狐朋狗友,天天想着邪門歪道賺快錢,要我幫忙寫一個錢包碰撞程序,碰撞助記詞,檢查餘額,看能不能碰到裏面有大錢的錢包。這幾乎不可能,但是他覺得也許有一天會撞到,正好這兩天比較閒,就寫了一個,順路普及一下錢包碰撞的概率問題。(他可能是覺得他是天選之子)
從助記詞組合的組數和現活躍錢包的數量兩方面來分析
一、助記詞的組合總數
以太坊錢包遵循 BIP-39 標準,助記詞由 12、18 或 24 個單詞組成(常用 12 或 24)。每個單詞從 2048 個預定義的單詞中選擇,具體組合數如下:
12 個單詞
熵長度:128 位,校驗和 4 位,共 132 位。
有效組合數:2128≈3.4×10382128≈3.4×1038 種。
盡管可能的排列爲 204812≈2132204812≈2132,但僅 21282128 種符合校驗和規則。
24 個單詞
熵長度:256 位,校驗和 8 位,共 264 位。
有效組合數:2256≈1.1×10772256≈1.1×1077 種。
也就是說:
12 詞組合數 ≈ 340,282,366,920,938,463,463,374,607,431,768,211,456340,282,366,920,938,463,463,374,607,431,768,211,456
24 詞組合數 ≈ 115,792,089,237,316,195,423,570
查看原文