koduj | dekoduj | kompresuj

> bech32 | segwit | bc1 <

// Bech32 - kodowanie adresów Bitcoin SegWit z wykrywaniem błędów

[SEGWIT]

Adresy Bitcoin

Natywny format dla adresów Bitcoin SegWit zaczynających się od bc1.

[ERROR-DETECTION]

Lepsze wykrywanie błędów

Lepiej wykrywa i lokalizuje błędy niż format Base58Check.

[CASE-INSENSITIVE]

Przyjazny kodom QR

Małe litery pozwalają tworzyć mniejsze i bardziej czytelne kody QR.

>> informacje techniczne

Jak działa Bech32:

Bech32 używa alfabetu złożonego z 32 znaków (bez łatwo mylonych znaków) oraz kodu BCH do wykrywania błędów. Adres składa się z części czytelnej dla człowieka (HRP), separatora 1, danych oraz sześciu znaków sumy kontrolnej.

Struktura:

bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 bc = HRP (główna sieć Bitcoin) 1 = separator qw508d = dane (grupy 5‑bitowe) kv8f3t4 = suma kontrolna (ostatnie 6 znaków)

Dlaczego warto używać Bech32:

  • >Adresy Bitcoin SegWit
  • >Faktury Lightning Network
  • >Adresy kryptowalut
  • >Kodowanie odporne na błędy
  • >Optymalizacja pod kątem kodów QR

>> najczęstsze pytania

Czym jest Bech32?

Bech32 to format base32 z sumą kontrolną, używany głównie dla adresów Bitcoin SegWit. Został zaprojektowany jako bardziej niezawodna alternatywa dla starszych formatów adresów dzięki lepszemu wykrywaniu błędów.

Jaka jest różnica między Bech32 a Bech32m?

Bech32m to ulepszona wersja, która naprawia słabość w oryginalnym algorytmie sumy kontrolnej Bech32. Używana jest dla adresów Taproot (bc1p), podczas gdy klasyczne adresy SegWit używają Bech32.

Dlaczego adresy Bech32 są pisane małymi literami?

Adresy złożone wyłącznie z małych liter generują mniejsze kody QR i są łatwiejsze do wpisania. Format nie rozróżnia wielkości liter, ale dla spójności przyjęto konwencję używania małych liter.

Czym jest HRP?

HRP (Human Readable Part) identyfikuje typ adresu i sieć. Przykładowo bc oznacza główną sieć Bitcoin, tb sieć testową, a ltc — Litecoin.

// Krótka ściąga

valueZnak
0 8 16 24q g s c
1 9 17 25p f 3 e
2 10 18 26z 2 j 6
3 11 19 27r t n m
4 12 20 28y v 5 u
5 13 21 299 d 4 a
6 14 22 30x w k 7
7 15 23 318 0 h l

// Przykłady kodu

Charset    qpzry9x8gf2tvdw0s3jn54khce6mua7l   (32 symbols, no 1 b i o)
Format     <hrp> + "1" + <data> + <6-char checksum>   (max 90 chars)
HRP        bc (Bitcoin) | tb (testnet) | ltc (Litecoin) | lnbc (Lightning)
Checksum   Bech32 constant 1  (BIP-173)  |  Bech32m constant 0x2bc830a3  (BIP-350)
Example    bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

>> Więcej pytań

P: Czym różni się Bech32 od Bech32m?

O: Ten sam format i zestaw znaków, ale inna stała sumy kontrolnej: Bech32 (BIP-173) używa 1, Bech32m (BIP-350) używa 0x2bc830a3. Bech32m służy do SegWit v1 i wyższych, czyli Taproot (bc1p…); Bech32 do v0 (bc1q…).

P: Dlaczego w alfabecie Bech32 brakuje 1, b, i oraz o?

O: 32 znaki qpzry9x8gf2tvdw0s3jn54khce6mua7l pomijają mylące symbole: 1 jest separatorem, a b, i, o przypominają 6, 1 i 0. Kod jest poprawny tylko małymi albo tylko wielkimi literami, nigdy mieszanymi.

P: Jak dobrze suma kontrolna Bech32 wykrywa błędy?

O: 6 znaków kontrolnych opiera się na kodzie BCH. Gwarantuje wykrycie każdego błędu do 4 znaków i znacznie lepiej niż Base58Check wychwytuje literówki. Długość jest ograniczona do 90 znaków.

Inne języki