Jak wygenerować adres Ethereum złożony z samych cyfr?

in #crypto7 years ago

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