Adressetyper: P2PKH → P2TR

1…, 3…, bc1q…, bc1p…: hva hvert prefiks betyr.

En adresse er bare en kompakt, skrivefeil-robust måte å skrive et låsescript på. Prefikset forteller hvilken type script det er.

P2PK (2009)

De tidligste myntene, inkludert mange utvunnet av Satoshi, ble låst direkte til en offentlig nøkkel. Det finnes ingen adresseform for det, og det avslører nøkkelen før bruk.

P2PKH: starter med 1

«Pay to public key hash» låser mynter til 20-byte HASH160 av en offentlig nøkkel. Adressen er Base58Check-kodet med versjonsbyte 0x00. Den har en 4-byte sjekksum, så en skrivefeil fanges nesten alltid.

P2SH: starter med 3 (BIP16, 2012)

«Pay to script hash» låser mynter til hashen av et hvilket som helst script, redeem-scriptet. Den som bruker avslører scriptet og oppfyller det. Det gjorde multisig praktisk, fordi avsenderen ikke lenger trenger å kjenne detaljene. P2SH ble også brukt til å pakke inn SegWit (P2SH-P2WPKH) under overgangen.

P2WPKH og P2WSH: starter med bc1q (BIP141, 2017)

Native SegWit versjon 0-utdata. P2WPKH forplikter seg til en 20-byte nøkkelhash, P2WSH til en 32-byte SHA-256 av et script. Signaturer flyttes til witness, som er billigere per byte. Adresser bruker bech32 (BIP173): små bokstaver, ingen forvirrende tegn, og sterk feildeteksjon.

P2TR: starter med bc1p (BIP341, 2021)

Taproot er SegWit versjon 1. Utdataen er en 32-byte x-only offentlig nøkkel som kan brukes med én Schnorr-signatur eller gjennom et skjult tre av scripter. Bech32m (BIP350) erstattet bech32 for versjon 1 og senere, fordi bech32 hadde en svakhet med visse innsatte eller slettede tegn.

Sammenligning

Å bruke en enkeltnøkkel-inndata koster omtrent 148 vbytes for P2PKH, omkring 68 for P2WPKH og omkring 57,5 for P2TR. Nyere typer er billigere og, med Taproot, mer private, fordi enkle og komplekse bruk kan se like ut.

Tommelfingerregel

Hver lommebok bør kunne sende til alle disse. Hvis din ikke kan sende til bc1p-adresser, er den utdatert.