Bitcoin jest cyfrową i globalną walutą systemu pieniężnego. Pozwala ludziom na wysyłanie i otrzymywanie pieniędzy przez Internet, nawet do kogoś, kogo nie znają lub komu nie ufają. Pieniądze mogą być wymieniane bez powiązania z prawdziwą tożsamością. Podstawą bezpieczeństwa Bitcoin jest matematyczna dziedzina kryptografii.

Bitcoin został wymyślony przez osobę posługującą się nazwiskiem Satoshi Nakamoto. Adres Bitcoin, lub po prostu adres, to identyfikator składający się z 26–35 liter i cyfr, zaczynający się od cyfry 1 lub 3, który reprezentuje możliwe miejsce docelowe dla płatności Bitcoin. Adresy mogą być generowane bez żadnych kosztów przez każdego użytkownika Bitcoin. Na przykład, używając Bitcoin Core, można kliknąć "Nowy adres" i zostać przypisanym do adresu. Jest również możliwe, aby uzyskać adres Bitcoin za pomocą konta na giełdzie lub usługi portfela online.

Jak działają adresy Bitcoin

Adres Bitcoin jest skróconą reprezentacją klucza publicznego (lub skryptu) powstałą w wyniku operacji kryptograficznych. Klucz publiczny jest matematycznie powiązany z tajnym kluczem prywatnym: ten ostatni pozwala podpisać transakcję i wydać środki przypisane do adresu. Klucz prywatny musi pozostać tajny — każdy, kto go posiada, może wydać powiązane z nim bitcoiny.

Proces tworzenia adresu najczęściej wygląda tak:

  • Wygenerowanie losowego klucza prywatnego.
  • Obliczenie odpowiadającego mu klucza publicznego (kryptografia krzywych eliptycznych).
  • Zastosowanie funkcji skrótu (SHA-256, a następnie RIPEMD-160) — w przypadku klasycznych adresów skrótem jest HASH160 klucza publicznego.
  • Dodanie bajtu wersji i obliczenie sumy kontrolnej, a następnie zakodowanie wyniku w formacie Base58Check — to daje adres zaczynający się od 1 lub 3.

Formaty adresów

Obecnie w powszechnym użyciu są dwa główne formaty adresów opisane poniżej:

P2PKH (Pay-to-PubKey-Hash) — adresy rozpoczynające się od cyfry 1; np: 1BvBMSEstWetqTFn5Au4m4GFg7xJaNVN2. Są to tradycyjne adresy, które płacą bezpośrednio na HASH klucza publicznego.

P2SH (Pay-to-Script-Hash) — nowszy typ zaczynający się od cyfry 3; np: 3MXknxVapwv6QkMoQv99MBuXZ2XpPewHn9. P2SH płaci do skrótu skryptu (np. multisig, złożone warunki wydania). Dzięki temu nadawca nie musi znać całego skryptu — wystarczy hash skryptu.

Warto także wspomnieć o jeszcze nowszym formacie:

Bech32 (SegWit) — adresy zaczynające się od "bc1" (np. bc1...). Są wykorzystywane przez SegWit (Segregated Witness) i oferują mniejsze opłaty transakcyjne oraz lepszą odporność na błędy. Bech32 używa innego schematu kodowania (bez Base58) i ma własne cechy walidacyjne.

Dlaczego adres ma 26–35 znaków?

Długość adresu w formacie Base58Check wynika z liczby bajtów użytych w danych (wersja + HASH160 + suma kontrolna) i sposobu kodowania Base58. Z tego powodu typowy adres mieści się w przedziale 26–35 znaków. Base58 zostało zaprojektowane tak, by unikać podobnych wizualnie znaków (np. 0, O, I, l), co zmniejsza ryzyko pomyłek przy ręcznym wprowadzaniu.

Weryfikacja i bezpieczeństwo adresu

  • Checksum (suma kontrolna): Base58Check zawiera sumę kontrolną — dlatego błędnie wpisany znak zwykle skutkuje niepoprawnym adresem i transakcja nie zostanie zaakceptowana przez portfel.
  • Brak pełnej anonimowości: chociaż adresy nie są bezpośrednio powiązane z tożsamością, blockchain jest publiczny — analiza przepływów i dodatkowe informacje (np. dane giełd) mogą ujawnić powiązania.
  • Nieodwracalność transakcji: transakcje Bitcoin są zwykle nieodwracalne. Jeśli wyślesz środki na zły adres lub padniesz ofiarą oszustwa, odzyskanie środków jest zwykle niemożliwe.
  • Phishing i malware: uważaj na fałszywe strony, aplikacje oraz na złośliwe oprogramowanie, które podmienia skopiowane adresy w schowku. Zawsze sprawdzaj adres przed wysłaniem dużych kwot.
  • Ochrona klucza prywatnego: używaj hasła do portfela, twórz kopie zapasowe (seed/mnemonic) i przechowuj je offline — rozważ sprzętowe portfele (hardware wallet) dla większych kwot.
  • Potwierdzenia: transakcje są bezpieczniejsze po uzyskaniu kilku potwierdzeń (bloków). Dla małych płatności jedno potwierdzenie może być wystarczające, dla większych zwykle oczekuje się więcej (np. 3–6 potwierdzeń).

Generowanie adresów i portfele

Adresy można generować lokalnie (offline) w portfelach pełnych (np. Bitcoin Core) lub lekki (SPV) oraz w urządzeniach sprzętowych. W praktyce większość współczesnych portfeli korzysta z portfeli deterministycznych (BIP32/BIP39/BIP44), które pozwalają na tworzenie wielu adresów z jednego ziarna (seed) reprezentowanego przez frazę mnemoniczną. Dzięki temu wystarczy zapisać i zabezpieczyć jedną frazę, by odzyskać wszystkie adresy i środki.

Praktyczne wskazówki

  • Zawsze sprawdzaj adres odbiorcy przed wysłaniem środków — najlepiej porównując kilka początkowych i końcowych znaków.
  • Unikaj przechowywania dużych ilości BTC na giełdach — lepszym rozwiązaniem są portfele, których kontrolujesz klucze prywatne.
  • Rozważ użycie adresów jednorazowych (bez ponownego używania adresu) dla lepszej prywatności.
  • Aktualizuj oprogramowanie portfela i systemu operacyjnego, aby chronić się przed znanymi lukami bezpieczeństwa.

Podsumowując: adresy P2PKH (1...) i P2SH (3...) są powszechnie używane i bezpieczne, o ile użytkownik prawidłowo zabezpieczy klucze prywatne i stosuje dobre praktyki bezpieczeństwa. Nowsze adresy bech32 (bc1...) oferują dodatkowe korzyści, zwłaszcza niższe opłaty i lepszą obsługę SegWit.