Świat kryptografii wydaje się być światem przypadku. Wyceny kryptowalut kreują się jak chcą a klucze prywatne i publiczne są ciągami losowych znaków podobnie jak seedy, które są z nich generowane. Za wszystkim stoi jednak potężna matematyka, która sprawia, że to wszystko ma sens i dodatkowo zapewnia niezwykle wysoki poziom bezpieczeństwa. Owa matematyka pozwala na bardzo wiele w świecie w kryptografii jak np. własny i spersonalizowany adres Bitcoin. W jaki sposób więc go stworzyć? Czy zajmuje to dużo czasu? Czy nawet laicy mogą mieć własne spersonalizowane adresy dla BTC? Na te wszystkie pytania znajdziecie odpowiedzi w tym poradniku.
Spersonalizowane numery kont bankowych
Tak jak w obecnym świecie finansów tak i w świecie kryptografii każdy z nas może mieć własne konto bankowe bądź kryptowalutowe. O ile w świecie klasycznych finansów utworzenie owego konta może zając sporo czasu, tak w przypadku np. Bitcoina jest to kwestia sekund. Nie istnieje także limit posiadania ilości adresów BTC dla jednego użytkownika. Można mieć ich dosłownie milion. Charakteryzują się tym, że zawsze zaczynają się od 1 lub 3. Zawierają także małe i duże litery z alfabetu łacińskiego jak i wszystkie cyfry z wyjątkiem zera, dużej litery O oraz dużej litery I i małej litery l. Wynika to z faktu bardzo dużego podobieństwa kształtów O i 0 oraz I i l. Używanie ich mogłoby doprowadzić do wielu błędnych transakcji, które zostałyby wysłane na niewłaściwy adres Bitcoin. Dość dobrze charakterystykę adresów Bitcoina opisuje Wikipedia gdzie możemy przeczytać, że:
Każda osoba uczestnicząca w sieci bitcoin ma portfel zawierający dowolną liczbę par kluczy kryptograficznych. Adresy bitcoinowe, które są generowane z kluczy publicznych za pomocą funkcji haszującej, działają jako miejsce źródłowe oraz miejsce docelowe dla wszystkich płatności. Odpowiadające im prywatne klucze autoryzują płatności tylko dla posiadającego je użytkownika. Adresy nie zawierają żadnej informacji na temat ich właściciela i są zazwyczaj anonimowe.
Adresy, w łatwej do odczytania przez człowieka formie, są ciągami tekstowymi składającymi się z liczb i liter o długości około 34 znaków w formie zbliżonej do 16mfTR2HMw9zELLNezq2xvCnqRiPBLqwUC. Rozpoczynają się zawsze od liczby 1 lub 3, zawierają wielkie i małe litery oraz cyfry alfabetu łacińskiego z wykluczeniem cyfry 0, wielkiej litery O, wielkiej litery I i małej litery l. Użytkownicy bitcoina mogą posiadać wiele adresów, a właściwie mogą generować nowe adresy bez żadnych ograniczeń, ponieważ generowanie nowego adresu jest relatywnie szybkie, równe wygenerowaniu nowej pary kluczy prywatnego/publicznego, co nie wymaga nawet kontaktu z resztą sieci. Jest także wykorzystywany do jednoznacznej identyfikacji zapłaty za towar poprzez tworzenie unikalnego adresu bitcoin dla każdej transakcji, ponieważ obecnie sieć nie dopuszcza tytułu przelewu znanego z tradycyjnych form przekazu. Tworzenie jednorazowych adresów wykorzystywanych do pojedynczego celu może też pomóc w zachowaniu anonimowości użytkownika.
Jak mieć własny adres Bitcoin?
Niedawno na forum Bitcointalk pojawił się wpis, w którym użytkownik Tytanowy Janusz opisał jak można stworzyć własny spersonalizowany adres Bitcoina. Cały wpis znajduje się tutaj. Janusz zaznacza, że o ile możliwa jest każda kombinacja o tyle te dłuższe i bardziej skomplikowane jak np. zbudowane z pierwszej dużej litery i reszty małych mogą być trudniejsze dla naszego komputera do stworzenia:
W takim adresie teoretycznie można wygenerować każde słowo z paroma wyjątkami jednak długość wymyślonego ciągu znaków jest ograniczona. Wynika to z technologii, która polega na generowaniu losowych adresów tak szybko, jak to możliwe do momentu, aż natrafi się na wybrany przez nas ciąg. Im dłuższy ciąg znaków wybierzesz, tym mniej możliwych kombinacji istnieje i mniejsza szansa na trafienie na jedną. Wielkie litery są bardziej prawdopodobne do znalezienia w porównaniu do małych liter. Na przykład na znalezienie prefixa 1Bitmover potrzeba 2 miesięcy dla 50% szansy znalezienia, podczas gdy 1bitmover jest 58 razy rzadsze.
Jak już wyżej wspominano w takim adresie nie mogą występować 0, O, I oraz l, ze względu na bardzo mocne graficzne podobieństwo.
Spersonalizowany adres Bitcoin krok po kroku
Na Githubie możemy znaleźć program vanitygen wrzucony przez użytkownika samr7, który pomoże nam w całym procesie. Link dostępny tutaj. Pobieramy więc najnowszą wersję programu. Aktualnie jest to wersja 22.
Po ściągnięciu programu zaleca odłączenie się komputera od Internetu aby zminimalizować ryzyko działania wirusów bądź wtyczek, które mogą wykraść nasz klucz prywatny z nowego adresu. Następnie otwieramy wiersz poleceń poprzez kliknięcie prawym przyciskiem myszy na ikonę Windows na pasku narzędzi i wybraniu PowerShell (administrator). Możemy również wpisać CMD w oknie „uruchom” lub poprzez kombinację Windows oraz R. Po otwarciu wiersza poleceń należy znaleźć plik vanitygen. Janusz jako przykład pokazuje ten sposób:
Po wpisaniu komend i naciśnięciu Enter zobaczymy następujący komunikat:
Jak widzimy na powyższej grafice dostępny wachlarz opcji jest naprawdę spory. Warto pamiętać, że im dłuższa część spersonalizowanego adresu tym więcej czasu zajmie programowi na jego stworzenie. Również chęć posiadania np. wszystkich liter jako małe może znacznie wydłużyć czas oczekiwania na adres. Jeżeli ktoś zdecyduje się randomową wielkość liter to obniży czas tworzenia takiego adresu. W celach instruktażowych Janusz pokazuje jak stworzyć adres rozpoczynający się od 1test. Wymaga to wpisania komendy: C:\BTC\vgen>vanitygen.exe -o C:\BTC\vgen\test.txt 1test. Następnie wciskamy Enter. Program pokaże nam informacje na temat tworzenia i wyszukiwania nowego adresu Bitcoin:
W ostatniej linijce możemy dostrzec ciekawe informacje jak prędkość wyszukiwania w jednostce miliona kluczy na sekundę (Mkey/s), wielkości grupy roboczej (total), prawdopodobieństwa znalezienia owego klucza w grupie roboczej (Prob.) oraz prawdopodobieństwa znalezienia go w najbliższym czasie (% in min). Po pewnym czasie, który może sięgnąć nawet kilku minut, w przypadku sukcesu program wyświetli nam spersonalizowany adres Bitcoin oraz jego klucz prywatny.
Warto wspomnieć, że wyświetlony powyżej adres jest od razu gotowy do użytkowania i może przyjmować oraz wysyłać BTC. Oczywiście jak zawsze warto zwrócić uwagę na bezpieczeństwo i zapisać swój klucz prywatny w bezpiecznym miejscu. Dobrym pomysłem jest USB lub kartka papieru, które można schować w tylko nam znane miejsce. Robienie zdjęcia bądź screenu klucza prywatnego jest bardzo złym pomysłem, gdyż dość łatwo jest ukraść taki plik z dysku komputera bądź telefonu.
Maciej Kmita