Bech32 to format zapisu adresów bitcoina zaczynających się od bc1, opisany w BIP 173 i wprowadzony w 2017 roku razem z SegWit. Służy do adresów natywnego SegWit (bc1q…). Jego następca, Bech32m (BIP 350), jest używany od aktywacji Taproot w listopadzie 2021 roku dla adresów bc1p…. Oba formaty mają wbudowaną sumę kontrolną, która wykrywa literówki, zanim wyślesz środki.
Budowa adresu Bech32
Adres składa się z trzech części:
- Prefiks (HRP) – bc w sieci głównej bitcoina, tb w testnecie. Inne sieci mają własne prefiksy, np. ltc w Litecoinie.
- Separator – zawsze cyfra 1. Dzieli prefiks od części z danymi, dlatego adres zaczyna się od „bc1”.
- Dane i suma kontrolna – wersja SegWit, właściwy program (skrót klucza lub skryptu) i 6 znaków sumy kontrolnej na końcu.
Część z danymi używa alfabetu 32 znaków: małych liter i cyfr bez „1”, „b”, „i” oraz „o”. Adres jest w całości małymi albo w całości wielkimi literami – nigdy mieszanymi. Wielkie litery pozwalają zapisać go w kodzie QR w trybie alfanumerycznym, co daje mniejszy kod.
Rodzaje adresów bitcoina
| Początek | Typ | Kodowanie | Uwagi |
|---|---|---|---|
| 1… | P2PKH (legacy) | Base58Check | najstarszy, najdroższy w opłatach |
| 3… | P2SH, w tym SegWit „opakowany” | Base58Check | zgodny ze starymi portfelami |
| bc1q… | P2WPKH / P2WSH (SegWit v0) | Bech32 | niższe opłaty, najpopularniejszy |
| bc1p… | P2TR (Taproot, SegWit v1) | Bech32m | Schnorr, lepsza prywatność skryptów |
Bech32 a Base58
Base58 też wyklucza znaki łatwe do pomylenia (0, O, I, l), więc nie to jest główną przewagą Bech32. Różnice są inne:
- Jednolita wielkość liter – Base58 miesza wielkie i małe litery, co utrudnia dyktowanie i przepisywanie.
- Silniejsza suma kontrolna – kod BCH w Bech32 gwarantuje wykrycie do 4 błędnych znaków w adresie i zwykle potrafi wskazać, gdzie jest błąd. Base58Check wykrywa błąd z bardzo dużym prawdopodobieństwem, ale nie wskaże jego miejsca.
- Tańsze transakcje – nie wynika to z samego kodowania, tylko z typu wyjścia SegWit, do którego adres prowadzi.
Dlaczego powstał Bech32m
W 2019 roku odkryto słabość Bech32: jeśli adres kończy się literą „p”, dopisanie lub usunięcie liter „q” tuż przed nią może dać adres z poprawną sumą kontrolną. Dla adresów SegWit v0 nie jest to groźne, bo mają ściśle określoną długość. Dla przyszłych wersji mogłoby być, dlatego BIP 350 zmienił stałą w sumie kontrolnej. Zasada jest prosta: SegWit v0 (bc1q) używa Bech32, a wersje 1 i wyższe (bc1p) – Bech32m.
Przykład: opłata za tę samą transakcję
Załóżmy, że wysyłasz bitcoina z jednego wejścia na dwa wyjścia (odbiorca i reszta), a stawka w mempoolu wynosi 20 sat/vB. Transakcja z wejściem legacy ma ok. 226 vB, a z wejściem natywnego SegWit ok. 141 vB.
| Typ wejścia | Rozmiar | Opłata przy 20 sat/vB |
|---|---|---|
| Legacy (1…) | ok. 226 vB | 4 520 sat |
| Natywny SegWit (bc1q…) | ok. 141 vB | 2 820 sat |
Oszczędność to ok. 38%. Przy portfelu z wieloma drobnymi wejściami różnica rośnie, bo każde dodatkowe wejście legacy kosztuje ponad dwa razy więcej miejsca niż wejście SegWit.
Najczęstsze błędy
- Wysyłka na adres bc1 z usługi, która go nie obsługuje – dziś rzadkie, ale starsze skrypty i niektóre giełdy potrafiły odrzucić bc1p.
- Przepisywanie adresu ręcznie zamiast kopiowania lub skanowania QR.
- Sprawdzanie tylko kilku pierwszych i ostatnich znaków – złośliwe oprogramowanie podmieniające schowek generuje adresy podobne na końcach.
- Mylenie sieci: adres bc1 jest bitcoinowy, a adres z prefiksem ltc1 należy do Litecoina.
Perspektywa tradera
Przy wypłatach z giełdy na własny portfel i z powrotem format adresu wpływa na koszt i ryzyko pomyłki. Używaj adresów bc1q lub bc1p, jeśli giełda je obsługuje – taniej przeniesiesz środki, gdy trzeba szybko dołożyć depozyt zabezpieczający. Przed pierwszą dużą wypłatą na nowy adres zrób przelew testowy na małą kwotę i sprawdź, czy dotarł. Zapisz w portfelu etykiety adresów, żeby nie wysłać środków na stary adres depozytowy, który giełda mogła wycofać.
Najczęstsze pytania
Czy adres bc1 jest bezpieczniejszy niż adres zaczynający się od 1?
Klucze są tak samo bezpieczne. Adres bc1 lepiej wykrywa literówki i prowadzi do tańszego typu wyjścia.
Czym różni się bc1q od bc1p?
bc1q to natywny SegWit (wersja 0) kodowany w Bech32. bc1p to Taproot (wersja 1) kodowany w Bech32m.
Czy mogę wysłać bitcoina z adresu legacy na adres bc1?
Tak. Typ adresu nadawcy nie ma znaczenia, liczy się tylko to, czy portfel lub giełda potrafi zbudować wyjście do danego formatu.
Dlaczego separatorem jest cyfra 1?
Bo nie występuje w alfabecie danych Bech32, więc jednoznacznie oddziela prefiks od reszty adresu.
Czy Bech32 używają też inne kryptowaluty?
Tak, m.in. Litecoin (ltc1…) i sieci z ekosystemu Cosmos, każda z własnym prefiksem.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


