Adres w Bitcoinie może składać się z 58 znaków (0-9, a-z, A-Z, z wykluczeniem 0OlI, jako że w wielu czcionkach te znaki mogą być trudne do rozróżnienia). Ethereum dopuszcza zaledwie 16 znaków (0-9, a-z/A-Z, wielkość liter nie ma znaczenia (no, powiedzmy)). Ma to ciekawe konsekwencje. Wygenerowanie adresu BTC składającego się wyłącznie z cyfr jest niemożliwe (słońce wcześniej zgaśnie), jednak można wygenerować taki adres w ETH. Nie jest to specjalnie skomplikowane, a na moim nieco już przestarzałym i5 4590 zajęło to niespełna godzinę. Jak to zrobić?
Posłużymy się programem o nazwie Ethaddrgen. Jego najnowsza wersja jest dostępna tutaj (jeśli nie wiesz, co wybrać, kliknij na x86_64-pc-windows-msvc.zip).
1. Wypakuj archiwum na pulpit.
2. Uruchom wiersz poleceń: start -> wpisz "cmd".
3. Wprowadź poniższe komendy:
cd desktop
ethaddrgen -e "[0-9]{40}"
4. Program zacznie generowanie adresu, który spełnia podane przez nas kryteria (tj. dozwolone są jedynie cyfry). Oprócz tego zmierzy nasz hashrate (ile adresów na sekundę jest w stanie wygenerować nasze CPU). By zwiększyć wydajność, polecam zamknąć wszystkie uruchomione programy.
Na marginesie: W tym artykule posługuję się terminem "generowanie", ale to w zasadzie zwykłe brute-force matematycznego wzoru.
5. Na koniec otrzymujemy klucz prywatny , który możemy zaimportować do portfeli takich jak WALLETH czy MyEtherWallet.
Czas (w minutach) potrzebny na wygenerowanie adresu składającego się z samych cyfr można przedstawić w postaci wzoru:
(gdzie x oznacza hashrate)
Możesz również posłużyć się tym arkuszem kalkulacyjnym, by oszacować czas potrzebny na wygenerowanie adresu.
Jak zapewne zauważyłeś w powyższym arkuszu, twój komputer potrzebuje 1,6x więcej czasu na wygenerowanie każdego kolejnego znaku. Podczas gdy przeciętnemu procesorowi znalezienie pełnego 40-cyfrowego adresu zajmie kilkadziesiąt minut, czas ten ulega znacznemu skróceniu, jeśli zezwolimy na litery w kilku ostatnich polach. Dla przykładu adres zawierający 35 cyfr wygenerować można poleceniem:
ethaddrgen -e "^[0-9]{35}"
Jeśli masz zamiar zostawić włączony komputer z programem na dłuższy czas, przydadzą ci się dwa parametry:
ethaddrgen -e "[0-9]{40}" --stream --quiet
Domyślnie program kończy pracę po trafieniu na pierwszy adres spełniający wprowadzone warunki. Pierwszy parametr wyłącza tę opcję. Drugi natomiast chowa wskaźnik hashrate'u, by po przyjściu z powrotem do komputera nie zastał nas spam. Jeśli znasz Regexa, możesz tworzyć swoje własne kryteria.
Przykładowe 40-cyfrowe adresy:
Adres
Klucz prywatny
0x7393666850372516202555118560290345508697
daef6e48bcf5f7e73af7a2d105aca9e27523856d81f840d09cd4fc38df7c2637
0x0185813917875760891863216441862791441805
d67fbbf9c8cfff45b63ece563e36b8af7550918b767c5761e0309363ba857b51
0x6850042085333134916357017142395716972316
cb1df4fe0521ef1f0984e33a462879ccd2a65296b30af026c273180f65913bd1