1Kids11111111111111111111111111111 到
1Kidszzzzzzzzzzzzzzzzzzzzzzzzzzzzz 的地址。這些以“1kid”開頭的地址范圍中大約有 58 的 29 次方地址。 顯示了這些有“1kids”前綴的地址。
“1Kids”靚號的范圍
From1Kids11111111111111111111111111111
To 1Kidszzzzzzzzzzzzzzzzzzzzzzzzzzzzz
我們把“1Kids”這個前綴當作數字,我們可以看看比特幣地址中這個前綴出現的頻率。如果是一臺普通性能的桌面電腦,沒有任何特殊的硬件,可以每秒發現大約 10 萬個密鑰。
靚號的出現的頻率(1KidsCharity)以及生成所需時間
長度地址前綴 概率 平均生成時間
1 1K 1/58 < 1 毫秒
長度地址前綴 概率 平均生成時間
2 1Ki 1/3,364 50 毫秒
3 1Kid 1/(195*103) < 2 秒
4 1Kids 1/(11*106) 1 分鐘
5 1KidsC 1/(656*106) 1 小 時
6 1KidsCh 1/(38*109) 2 天
7 1KidsCha 1/(2.2*1012) 3–4 月
8 1KidsChar 1/(128*1012)13–18 年
9 1KidsChari 1/(7*1015) 800 年
10 1KidsCharit 1/(400*1015)46,000 年11 1KidsCharity1/(23*1018) 250 萬 年
正如你所見,Eugenia 將不會很快地創建出以“1KidsCharity”開頭的靚號地址,即使她有數千臺的電腦同時進行運算。每增加一個字符就會增加 58 倍的計算難度。超過七個字符的搜索模式通常需要專用的硬件才能被找出,譬如用戶定制的具有多圖形處理單元(GPU)的桌面級設備。那些通常是無法繼續在比特幣挖礦中盈利的鉆機,被重新賦予了尋找靚號地址的任務。用 GPU 系統搜索靚號的速度比用通用 CPU 要快很多個量級。
另一種尋找靚號地址的方法是將工作外包給一個礦池里的靚號礦工們,如靚號礦池中的礦池。一個礦池是一種允許那些 GPU 硬件通過為他人尋找靚號地址來獲得比特幣的服務。對小額的賬單,Eugenia 可以外包搜索模式為 7 個字符靚號地址尋找工作,在幾個小時內就可以得到結果,而不必用一個 CPU 搜索上幾個月才得到結果。
生成一個靚號地址是一項通過蠻力的過程:嘗試一個隨機密鑰,檢查結果地址是否和所需的圖案想匹配,重復這個過程直到成功找到為止。例 4-8 是個靚號礦工的例子,用 C++程序來尋找靚號地址。這個例子運用到了我們在 56 頁“其他替代客戶端、資料庫、工具包”一節介紹過的 libbitcoin 庫。








