Adresstypen: P2PKH → P2TR

1…, 3…, bc1q…, bc1p…: was jedes Präfix bedeutet.

Eine Adresse ist nur eine kompakte, tippfehlerresistente Art, ein Locking-Script zu schreiben. Das Präfix sagt, welche Art von Script es ist.

P2PK (2009)

Die frühesten Münzen, darunter viele von Satoshi geminte, wurden direkt an einen öffentlichen Schlüssel gebunden. Es gibt kein Adressformat dafür, und es enthüllt den Schlüssel vor dem Ausgeben.

P2PKH: beginnt mit 1

„Pay to public key hash“ bindet Münzen an den 20-Byte-HASH160 eines öffentlichen Schlüssels. Die Adresse ist Base58Check-kodiert mit Versionsbyte 0x00. Sie hat eine 4-Byte-Prüfsumme, sodass ein Tippfehler fast immer erkannt wird.

P2SH: beginnt mit 3 (BIP16, 2012)

„Pay to script hash“ bindet Münzen an den Hash eines beliebigen Scripts, des Redeem-Scripts. Der Ausgebende enthüllt das Script und erfüllt es. Das machte Multisig praktisch, weil der Absender die Details nicht mehr kennen muss. P2SH wurde auch genutzt, um SegWit (P2SH-P2WPKH) während des Übergangs einzupacken.

P2WPKH und P2WSH: beginnen mit bc1q (BIP141, 2017)

Native SegWit-Version-0-Ausgaben. P2WPKH verpflichtet sich auf einen 20-Byte-Schlüsselhash, P2WSH auf einen 32-Byte-SHA-256 eines Scripts. Signaturen wandern in den Witness, der pro Byte günstiger ist. Adressen nutzen Bech32 (BIP173): Kleinbuchstaben, keine verwirrenden Zeichen und starke Fehlererkennung.

P2TR: beginnt mit bc1p (BIP341, 2021)

Taproot ist SegWit-Version 1. Die Ausgabe ist ein 32-Byte-x-only-öffentlicher Schlüssel, der mit einer einzelnen Schnorr-Signatur oder über einen versteckten Script-Baum ausgegeben werden kann. Bech32m (BIP350) ersetzte Bech32 für Version 1 und später, weil Bech32 eine Schwäche bei bestimmten eingefügten oder gelöschten Zeichen hatte.

Vergleich

Das Ausgeben eines Single-Key-Inputs kostet etwa 148 vBytes für P2PKH, etwa 68 für P2WPKH und etwa 57,5 für P2TR. Neuere Typen sind günstiger und mit Taproot privater, weil einfache und komplexe Ausgaben gleich aussehen können.

Faustregel

Jede Wallet sollte an alle diese senden können. Wenn deine nicht an bc1p-Adressen senden kann, ist sie veraltet.