Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 259|Odpoveď: 0

Podrobné vysvetlenie kódovania blockchain Base58, Base58Check, Bech32 a Bech32m

[Kopírovať odkaz]
Zverejnené 17.10.2025 09:01:55 | | | |
Base58, Base58Check, Bech32 a Bech32m sú bežne používané kódovacie formáty v blockchainovej technológii, primárne na zlepšenie čitateľnosti, zníženie chýb a zabezpečenie integrity dát. Tieto štyri kódy majú svoje výhody v zabezpečení bezpečnosti, kompatibility a schopností korekcie chýb a sú dôležitými základmi moderných blockchainových adresných systémov.

Base58

"Base58" je kódovacia metóda, ktorú vynašiel Satoshi Nakamoto, a je adaptovaná z dobre známej kódovacej metódy "Base64". Sada znakov Base64 obsahuje: všetky čísla a veľké a malé písmená, ako aj dva symboly ("+" a "/"); Celkovo 64 znakov. Satoshi Nakamoto odstránil číslo 0, veľké písmená I a O, malé písmeno l a symbol, a vzniklo Base58.

Znaková sada: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz



Base58Check

V porovnaní s Base58 má kódovanie Base58Check len o jeden výpočet kontrolného súčtu viac. Ako je uvedené nižšie:



Base58Check rieši problémy náchylnosti na chyby, ťažko rozpoznateľných a neoverených v tradičných kódovacích metódach, pričom poskytuje bezpečnú, kompaktnú, ľudsky priateľskú a chybovo detekujúcu metódu reprezentácie kľúčových dát v blockchaine (ako sú adresy a súkromné kľúče). Hoci ho teraz postupne nahrádza pokročilejší Bech32/Bech32m (pre SegWit adresy), zohral kľúčovú úlohu v ranom Bitcoin ekosystéme.

Bech32

"Bech32" je kódovacia metóda definovaná BIP 0173, ktorú napísali Pieter Wuille a Greg Maxwell. Toto kódovanie má však aj svoj pôvod: "Bech" označuje "BCH", cyklický algoritmus kódovania na korekciu chýb, ktorý vynašli traja matmatici v rokoch 1959 a 1960 (názov BCH pochádza z mien týchto troch matematikov). "32" znamená, že znaková sada kódovacej metódy má iba 32 znakov: malé písmená a čísla, okrem čísel "1", písmen "b", "i" a "o".



Na začiatku BIP 0173 autori poukazujú na nežiaduce aspekty Base58:

  • Base58 používa anglické písmená s veľkými aj malými písmenami, čo spôsobuje, že jeho údaje sa do QR kódov nepreberajú v menšom režime "numerickej abecedy", ale iba v režime väčších "bajtových dát".
  • Použitie puzdra aj púzdra tiež sťažuje prepisovanie, písanie a čítanie na klávesnici telefónu.
  • Kontrolný súčet vyžadoval dve po sebe idúce operácie SHA256, ktoré boli pomalé a nemali schopnosť nájsť nesprávne umiestnenie.
  • Väčšina lokalizovateľných metód kódovania chýb funguje len vtedy, ak je veľkosť znakovej sady na prvočísle a 58 nie je mocnina prvočísla.
  • Base58 je zložitejší na dekódovanie a pomalší na dekódovanie.

V dôsledku toho nový prístup Bech32 používa iba malé písmená a čísla; Keď je to potrebné, napríklad pri kreslení QR kódu, všetky tieto písmená môžu byť nahradené veľkými písmenami pre kompaktnejšie zobrazenie. Menšie QR kódy, keďže adresy Bech32 sú jednotné, môžete zakódovať ako QR kódy pomocou alfanumerického režimu. To znamená, že môžete vytvoriť kompaktnejší QR kód, pretože Base58 vyžaduje veľké a malé písmená (čo znamená, že nemôžete používať alfanumerický režim), zatiaľ čo Bech32 nie. Ako je uvedené nižšie:



Ako vidíte, napriek adrese Bech32Obsahuje viac znakov, ale možnosť používať alfanumerické vzory znamená, že QR kódy celkovo využívajú menej dát

Zároveň má Bech32 schopnosť lokalizovať chyby: dokáže nielen zistiť, že ste urobili chybu pri kopírovaní, ale aj ukázať, ktoré bity ste skopírovali nesprávne (táto schopnosť nájsť chyby je oveľa lepšia než Base58).

V skutočnosti má algoritmus BCH aj funkciu "korekcie chýb": dokáže nielen indikovať, ktoré bity ste skopírovali nesprávne, ale aj aké znaky by mali byť. Autori BIP 0173 však zistili jeho vnútorné nebezpečenstvá: na jednej strane posilnenie korekcie chýb oslabuje schopnosť lokalizovať chyby; Na druhej strane, ak používateľ príliš dôveruje schopnostiam softvéru na korekciu chýb, softvér môže opraviť chybné údaje zadané používateľom na "platné, ale zbytočné" dáta – hoci sú platné ako BCH kódované dáta; Je však možné, že obnovený Bitcoin skript nie je pod kontrolou príjemcu ani nikoho iného. To je mimoriadne nebezpečné. Preto BIP 0173 varuje: "Okrem upozornenia používateľov, ktoré bity mohli byť nesprávne skopírované, by softvér nemal implementovať funkcie korekcie chýb (dávať návrhy na korekcie)." ”

Okrem toho Bech32 nasleduje vzor nájdený v kódovaní Base58:

1. Dáta Bech32 začínajú odsekom "dáta s významom (hrp)", podobne ako predpona v Base58, ktorá môže naznačovať, o aký typ dát ide.
HRP môže použiť oveľa viac ako 32 znakov; Bech32 tiež používa číslo "1" ako oddeľovač na oddelenie HRP od dát, ktoré majú byť skutočne dekódované.
Okrem Bitcoinu existuje mnoho ďalších projektov, ktoré tiež prijali Bech32; HRP sa používa na rozlíšenie dát od rôznych položiek. Tu je zoznam registrovaných HRP, ktorý je veľmi zaujímavý (ale len zaujímavý).
2. Bech32 tiež navrhol kontrolný súčet, ktorý zaberá posledných 6 znakov zakódovaných dát.

Bech32m

"Bech32m" je kódovacia metóda definovaná BIP 0350. Väzba:Prihlásenie na hypertextový odkaz je viditeľné.Bol navrhnutý, pretože vývojári objavili zraniteľnosť v kódovaní Bech32:

Ak je posledný znak "p", vloženie alebo odstránenie ľubovoľného počtu "q" pred tento znak nespôsobí chybu kontrolného súčtu (údaje budú stále považované za platné), potomMechanizmus kontrolného súčtu úplne stráca svoju funkciuDokončiť.

Ak nepridáte štandardizovaný Bitcoin skript, tento problém sa dá ľahko vyriešiť: obe adresy P2WPKH aj P2WSH majú určitú dĺžku, stačí pridať kontrolu dĺžky. Avšak vzhľadom na to, že v budúcnosti budeme pridávať aj nové štandardizované skripty, dĺžka adresy sa môže meniť, takže je potrebné tento problém vyriešiť.

Bech32m tento problém rieši zmenou parametra v generátore kontrolných súčtov Bech32.

V súčasnosti sa Bech32m používa iba na kódovanie adries pre "P2TR" skripty, ktoré sú pridané s aktualizáciou "Taproot". V budúcnosti môže byť použitý pri adresovom kódovaní iných štandardizovaných skriptov.

Referencia:

Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.




Predchádzajúci:tiktok, Douyin zachytí balík a ukončí Frida skript, ktorý dokáže lokalizovať polohu SO súboru patch
Budúci:Úvod do Bitcoin adries typov Legacy, Nested SegWit, Native SegWit a Taproot
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com