Kurant

Egal ob man Bitcoin ausgeben oder nur empfangen möchte, Bitcoin-Adressen sind allgegenwärtig. Für den einfachen Nutzer sind sie oft der erste und damit auch wichtigste Berührungspunkt mit dem Bitcoin-Netzwerk. Umso relevanter ist es daher, die Unterschiede zwischen den verschiedenen Formaten zu erkennen und natürlich auch zu verstehen. Daher schauen wir uns in diesem Beitrag die vier gängigen Standards für einfache Bitcoin-Wallets etwas genauer an und vergleichen die Unterschiede miteinander.

Adresse, Standard und Script

Vorher sollten jedoch einige Begrifflichkeiten geklärt werden. Eine Bitcoin-Adresse ist nämlich keine eindeutige „Anschrift auf der Blockchain“, wie der Name zunächst vermuten lässt, sondern vielmehr eine Bauanleitung. Sie erklärt der verwendeten Wallet-Software, wie der Empfänger seine Bitcoin erhalten möchte. Wenn wir also von unterschiedlichen Adressformaten sprechen, dann meinen wir damit nicht nur die Bauanleitung selbst, die sich in ihrem Aufbau und ihrem Aussehen unterscheiden kann, sondern vor allem auch das, was daraus gebaut werden soll: das Bitcoin-Script. Dieses definiert ähnlich einem kleinen Computerprogramm die Bedingungen, um eine bestimmte Menge Bitcoin ausgeben zu dürfen.

Ein anderes Adressformat bedeutet daher auch einen komplett anderen Wallet-Standard, der zusätzliche Funktionen bieten kann oder eben nicht. Unterschiedliche Adressformate führen auch zu unterschiedlichem Anspruch von Speicherplatz in den Transaktionen selbst, was am Ende entscheidend für die Höhe der Transaktionsgebühren ist. Wir beschäftigen uns in diesem Beitrag daher nicht nur mit den Adressen selbst, sondern auch mit dem, was dahintersteckt.

Lese-Tipp: Die Bitcoin Script Sprache einfach erklärt

Legacy

Mit dem Dinosaurier unter den Bitcoin-Standards, der aus diesem Grund auch einfach „Legacy“ genannt wird, hat man das Konzept von Adressen überhaupt erst eingeführt. Früher sendete man sich Bitcoin nämlich noch direkt an einen öffentlichen Schlüssel, was zwar naheliegend, aber leider auch unpraktisch und teuer war. Ein einzelner öffentlicher Schlüssel ist schließlich ziemlich lang. Die Idee, Transaktionen stattdessen an einen kürzeren Hashwert eines öffentlichen Schlüssels zu tätigen war geboren, und damit auch der Pay-to-Public-Key-Hash (P2PKH) Script-Standard. Ein Grundprinzip, das bis heute aktiv verwendet wird.

Eine Legacy-Adresse beinhaltet aber nicht nur diesen Hashwert, also die eigentliche „Kontonummer“ des Empfängers, sondern hat einige weitere Eigenschaften, die vor allem die Nutzererfahrung verbessern und Fehleranfälligkeit im Alltag reduzieren soll. Das fängt bereits bei den Buchstaben und Zahlen an, die zur Codierung einer Legacy-Adresse verwendet werden: Zweideutige Zeichen wie der Buchstabe O und die Zahl 0 kommen beispielsweise erst gar nicht vor. Zusätzlich setzt man an das Ende der Adresse eine sogenannte Checksumme. Diese ist direkt mit dem eigentlichen Inhalt auf geschickte Weise mathematisch verknüpft, sodass sie bei einem Tippfehler ungültig wäre. Gibt man also eine „falsche“ Adresse in eine Bitcoin-Wallet ein, hat diese noch die Möglichkeit den Fehler zu erkennen und den Nutzer zu warnen.

Erkennen kann man eine Legacy-Adresse an der Versionsnummer 1, die stets an den Anfang gesetzt wird:

 

1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Wrapped-Segwit

Der Wrapped-Segwit oder auch Nested-Segwit genannte Standard ist auf den ersten Blick wahrscheinlich der seltsamste, vor allem aus heutiger Sicht. Damals, mit dem Segwit-Update im Jahr 2017, war er aber entscheidend, um möglichst einfach und ohne große Umstellungen von niedrigeren Transaktionsgebühren, die mit Segwit ermöglicht wurden, zu profitieren. Denn obwohl der Name „Segwit“ im Name steht, handelt es sich hier eigentlich nur um einen weiteren Legacy-Standard namens Pay-to-Script-Hash (P2SH). Dieser wurde und wird bis heute für komplexere Verwahrungs-Methoden wie z.B. Multisig-Wallets genutzt, da man nicht wie oben beschrieben an einen Hash eines öffentlichen Schlüssels, sondern an den Hash eines ganzen Bitcoin-Scripts Transaktionen tätigen kann. Damit sind schlichtweg deutlich mehr Möglichkeiten geboten.

P2SH-Adressen haben eine andere Versionsnummer, sie starten nämlich mit einer 3, funktionieren ansonsten aber analog zu den oben beschrieben P2PKH-Adressen. Entscheidend ist deshalb an dieser Stelle: Nur weil eine Adresse mit einer 3 beginnt, versteckt sich dahinter nicht automatisch der Wrapped-Segwit Standard.

 

37sfXRaSVnTXHP751Na7ZrfyzST1FHakCv

 

Aber was genau macht eine Wrapped-Segwit Adresse dann überhaupt aus? Auf den ersten Blick, zumindest rein äußerlich, erstmal gar nichts. Der Trick liegt vergraben im verwendeten Script-Standard, der sich hinter dem Script-Hash der Adresse verbirgt. Ohne dem nächsten Abschnitt zu viel vorwegzunehmen, hat man mit dem Segwit-Update einen neuen Wallet-Standard geschaffen. Dieser bot einige Vorteile, doch nicht jede bestehende Wallet-Software konnte den neuen Standard vom einen auf den anderen Tag unterstützen. Selbst wenn die eigene Wallet bereits vollständig „Segwit-Enabled“ war, konnte man nicht immer davon ausgehen, dass dies auch für andere Transaktionspartner gilt. Um nicht in einen Kompatibilitäts-Albtraum zu stürzen, musste man deshalb eine Möglichkeit für ältere Wallets finden, an neuere Segwit-Wallets Transaktionen tätigen zu können, ohne dass diese vollständig auf die Vorteile von Segwit verzichten müssen.

Den neuen Standard, Pay-to-Witness-Public-Key-Hash (P2WPKH), auf den im folgenden Abschnitt über Native-Segwit näher eingegangen wird, verpackte (en. wrap) man daher einfach in einem herkömmlichen P2SH-Script. Ein Hybrid aus alt und neu war geschaffen, der einen Kompromiss zwischen breiter Unterstützung und den Vorteilen von Segwit ermöglichte.

Native-Segwit

Das Segwit-Update mitsamt allen Vorteilen in einem Absatz zu erklären würde zwar den Rahmen sprengen, doch zumindest auf den für Endnutzer relevantesten Aspekt, können wir einen genaueren Blick werfen: niedrigere Transaktionsgebühren. Zur Erinnerung: Die Höhe der Gebühr, die für eine Transaktion anfällt, hängt von der Größe, also dem verbrauchten Speicherplatz und nicht der Höhe des Bitcoin-Betrags ab. Mit einer Transaktion, die dem Native-Segwit Standard folgt, können im Durchschnitt etwa 30% dieser Gebühren eingespart werden.

Lese-Tipp: Das Segwit Update einfach erklärt

Doch wie ist das möglich? Ist der Aufbau eines P2WPKH-Scripts effizienter und benötigt weniger Platz? Nein, überhaupt nicht. Die günstigeren Gebühren, auch als Witness Discount bekannt, sind rein künstlich durch eine Design-Entscheidung zu begründen. Mit Segwit hängen wir an den ursprünglichen Bitcoin-Block, der maximal 1 MB groß werden darf, sozusagen einen Anhänger, und lagern Daten wie z.B. digitale Signaturen einfach aus. Je mehr Transaktionen diesen zusätzlichen Speicherplatz nutzen, desto mehr Platz bleibt im ursprünglichen Block also übrig. Der freie Gebührenmarkt bewertet solche Transaktionen entsprechend besser, da mehr Transaktionen in einen Block passen und diese finanziell attraktiver für Bitcoin-Miner sind.

Doch nicht nur im Hintergrund ist einiges neu, auch das Format der Bitcoin-Adressen selbst hat sich mit Native-Segwit geändert. Die bech32-Codierung ist nicht nur performanter, sondern ermöglicht noch bessere Fehlererkennung. Erkennen kann man Native-Segwit Adressen an den ersten vier Zeichen bc1q.

 

bc1qnj2502g4eeu9h2pp669xxl6vkseepmgrfjgx6q
Info

Hinweis: Um die Vergünstigung durch die Nutzung von Segwit zu veranschaulichen und mit bisherigen Transaktionsgrößen vergleichbarer zu machen, nutzt man zur Größenangabe virtuelle Bytes (vB). Diese berechnen die vierfache Vergünstigung von Daten im „Segwit-Anhänger“ direkt mit ein. Diese Größeneinheit ist also für die Berechnung der Transaktionsgebühren relevant, nicht aber für den tatsächlich verwendeten Speicherplatz auf einer Festplatte.

Taproot

Mit dem Taproot-Update im November 2021 bekam das Bitcoin-Netzwerk einen eleganten neuen Signatur-Algorithmus und viele technische Neuerungen, die einige spannende Möglichkeiten eröffnen, auf die wir genauer in unserem Beitrag zum Taproot-Update eingehen. Für den einfachen Nutzer einer gewöhnlichen Bitcoin-Wallet sind viele der mit Taproot ermöglichten Vorteile auf den ersten Blick nicht sonderlich relevant.

Ein Wechsel auf Taproot-Adressen und den neuen Pay-to-Taproot (P2TR) Standard kann sich aber dennoch lohnen. Um einige Vorteile zu nennen:

  • Performance: Die neuen Schnorr-Signaturen können effizienter und „im Bündel“ verifiziert werden, womit Bitcoin-Nodes entlastet werden können. Auch Hardware-Wallets kommen mit dem Erzeugen von Schnorr-Signaturen etwas besser zurecht.
  • Privatsphäre: Auf den ersten Blick kann man den konkreten Anwendungsfall bzw. Kontext einer Taproot-Transaktion nicht erkennen. Man taucht also gemeinsam mit komplexeren Anwendern (z.B. Multisig, Lightning-Netzwerk, usw.) unter.
  • Vorhersehbare Gebühren: Die Größe einer Schnorr-Signatur ist im Gegensatz zu ECDSA, dem bisherigen Signatur-Verfahren, im voraus bereits bekannt, was die Abschätzung und Optimierung der gewählten Transaktionsgebühr verbessert.

Aber mal ehrlich: Die allermeisten Nutzer sind ganz besonders an einem interessiert: Gebühren sparen. Und das geht schließlich mit dem aktuellen Native-Segwit Standard auch schon sehr gut. In vielen Fällen ist man heute mit Native-Segwit sogar günstiger unterwegs. Doch eines sollte man beachten: Während Taproot-Outputs sogar größer geworden sind, konnte bei den Inputs etwas eingespart werden. Transaktionen mit verhältnismäßig mehr Inputs als Outputs sind mit Taproot also günstiger und damit für Nutzer eines Bitcoin-Sparplans besonders interessant.

Sollte in Zukunft die Adoption des Taproot-Standards merklich anziehen, wird der Vorteil der kleineren Outputs von Native-Segwit nach und nach verschwinden. Denn die Outputs einer Transaktion kann man sich als Sender schließlich nicht aussuchen, sondern sind von der Wallet, die vom Empfänger genutzt wird, abhängig. Möchte dieser seine Bitcoin auf einer Taproot-Adresse empfangen, muss man für den etwas größeren Output entsprechend selbst bezahlen. Bis es so weit kommt, muss die Unterstützung bei Wallets und Dienstleistern wie Kryptobörsen aber noch merklich ansteigen.

Was das Format der Adressen selbst betrifft, gab es lediglich eine kleine Schönheitsverbesserung, die einen Fehler im bech32-Verfahren beseitigte. Taproot-Adressen sind daher mit dem angepassten bech32m-Verfahren codiert und haben außerdem eine andere Versionsnummer, was man am vierten Zeichen p, statt q, also bc1p erkennen kann.

 

bc1psvs8lx0kz3dl5nfnfkdjl3dy4vw3p34y97ytqt34hcapjeryn0gqg6njml

Übersicht und Empfehlungen

Schauen wir uns die konkreten Größen der Inputs und Outputs mit den verschiedenen Wallet-Standards etwas genauer an.
Für etwas aussagekräftigere Zahlen simulieren wir auch zwei typische Transaktionen, mit einem Input und zwei Outputs – und umgekehrt.
 

  Legacy
(P2PKH)
Wrapped-Segwit
(P2SH-P2WPKH)
Native-Segwit
(P2WPKH)
Taproot
(P2TR)
Startet mit… 1… 3… bc1q… bc1p…
Codierung Base58Check Base58Check bech32 bech32m
Overhead 10 10 10,5 10,5
Inputs 148 91 68 57,5
Outputs 34 32 31 43
1-in-2-out 226 165 140, 154
2-in-1-out 340 224 177,5 168,5
Kompatibilität Hoch Sehr hoch Hoch Relativ gering

Die vier gängigen Script- bzw. Adress-Standards für single-sig Wallets im Größenvergleich | Angaben in virtuellen Byte (vB)

Info

Wir lernen aus der Tabelle:

  • Das Legacy-Adressformat ist den anderen Dreien bei weitem unterlegen und führt im Vergleich teilweise zu doppelt so hohen Transaktionsgebühren. Es gibt aus heutiger Sicht keinen relevanten Grund mehr auf Bitcoins ältesten Adressstandard zu setzen.
  • Auch wenn Transaktionen mit Wrapped-Segwit schon eine deutliche Verbesserung in der Größenfrage darstellen, gibt es auch hier keinen wirklich relevanten Vorteil mehr. Nur in Einzelfällen, wenn der ursprüngliche Anwendungsfall, nämlich Kompatibilität mit älteren Wallets, benötigt wird, sollte man auf diesen Standard zurückgreifen.
  • Die allermeisten Nutzer sollten sich aktuell für den Native-Segwit Standard entscheiden bzw. nutzen diesen wahrscheinlich ohnehin bereits. Zum einen profitiert man hier aktuell von den geringsten Gebühren, solange eine Transaktion mehr Outputs als Inputs hat. Zum anderen ist die Verbreitung bei Dienstleistern und Unterstützung bei Wallets mittlerweile ziemlich hoch und Kompatiblitäts-Probleme sind zur Seltenheit geworden.
  • Das große Hindernis aus Sicht eines einfachen Nutzers, Taproot-Adressen zu nutzen, ist die nach wie vor geringe Unterstützung vor allem bei Kryptobörsen und -brokern. Während viele Hardware-Wallets den neuen Standard mittlerweile unterstützen, gibt es dennoch einige Software-Wallets, die hier noch nicht nachgezogen haben. Denn davon abgesehen ist der neue Standard auch für den einfachen HODLer interessant: Beim Sparen von Bitcoin sammeln sich viele UTXO, weshalb Transaktionen häufig viele Inputs und nur wenige Outputs besitzen. Die Gebühren fallen bei solchen Transaktionen mit Taproot-Adressen häufig am geringsten aus. Hinzu kommen die bereits oben erwähnten Vorteile und der Effekt der zunehmend attraktiven Gebühren, weshalb man hier sicherlich vom Standard der Zukunft sprechen kann.