8 Min. Lesezeit

Taproot & Schnorr Signaturen erklärt

Im November 2021 wurde ein bedeutendes Bitcoin-Upgrade aktiviert: Taproot. Es bringt Schnorr-Signaturen, MAST und verbesserte Privacy in einem Paket zusammen. Dieser Artikel erklärt die drei Bausteine und warum sie gemeinsam mehr sind als die Summe ihrer Teile.

«Taproot is a proposal to make all outputs and cooperative spends indistinguishable from each other. It is, in my opinion, the best possible version of the idea.»

— Pieter Wuille, Bitcoin Core Entwickler und Hauptautor von BIP 341

Überblick

Taproot (BIP 341) ist nicht ein einzelnes Feature, sondern ein Bündel aus drei zusammenhängenden Verbesserungen: Schnorr-Signaturen (BIP 340), MAST-Strukturen und deren Kombination im Taproot-Ausgabetyp. Gemeinsam ermöglichen sie kleinere Transaktionen, bessere Privacy und mächtigere Smart Contracts – ohne die Einfachheit des Protokolls zu opfern.

Das Upgrade wurde jahrelang vorbereitet und intensiv begutachtet. Es verändert nicht die Konsensregeln von bestehenden Transaktionen, sondern fügt einen neuen Ausgabetyp hinzu: SegWit Version 1 (Adressen mit bc1p...).

Schnorr Signaturen

Seit seiner Entstehung verwendete Bitcoin den ECDSA-Algorithmus (Elliptic Curve Digital Signature Algorithm) für digitale Signaturen. Satoshi wählte ECDSA, weil es zum damaligen Zeitpunkt das einzige weit verbreitete und patentfreie Signaturverfahren auf elliptischen Kurven war.

Schnorr-Signaturen, benannt nach dem deutschen Mathematiker Claus-Peter Schnorr, sind mathematisch einfacher und bieten entscheidende Vorteile gegenüber ECDSA:

  • Linearität: Schnorr-Signaturen sind linear – das bedeutet, mehrere Signaturen können mathematisch zu einer einzigen kombiniert werden. Bei ECDSA ist das nicht möglich.
  • Key Aggregation (MuSig2): Dank der Linearität können mehrere öffentliche Schlüssel zu einem einzigen aggregierten Schlüssel kombiniert werden. Eine 3-von-3-Multisig-Transaktion sieht auf der Blockchain aus wie eine gewöhnliche Einzelsignatur-Transaktion.
  • Batch-Validierung: Schnorr-Signaturen ermöglichen eine effizientere Batch-Validierung mehrerer Signaturen gleichzeitig. Cross-Input Signature Aggregation (CISA) — bei der mehrere Inputs einer Transaktion eine einzige gemeinsame Signatur teilen — ist ein aktives Forschungsthema, aber noch nicht im Bitcoin-Protokoll implementiert.
  • Beweisbare Sicherheit: Schnorr-Signaturen haben einen formalen Sicherheitsbeweis im Random-Oracle-Modell. ECDSA hat keinen vergleichbaren Beweis.

In Bitcoin sind Schnorr-Signaturen in BIP 340 spezifiziert. Sie verwenden dieselbe elliptische Kurve (secp256k1) wie ECDSA, sodass bestehende Schlüssel kompatibel bleiben. Schnorr-Signaturen sind zudem immer exakt 64 Bytes gross – kürzer als ECDSA-Signaturen, die typischerweise 71–72 Bytes belegen.

Warum nicht von Anfang an? Claus-Peter Schnorr hielt ein Patent auf sein Signaturverfahren (US Patent 4,995,082), das erst 2008 auslief – im selben Jahr, in dem Satoshi das Bitcoin Whitepaper veröffentlichte. Zum Zeitpunkt der Implementierung war ECDSA die sicherere Wahl in Bezug auf Patentfreiheit.

MAST – Merkelized Abstract Syntax Trees

MAST steht für Merkelized Abstract Syntax Trees. Die Idee: Komplexe Ausgabebedingungen werden in einem Merkle Tree organisiert, wobei jedes Blatt einen möglichen Ausgabepfad repräsentiert. Beim Ausgeben muss nur der tatsächlich verwendete Pfad enthüllt werden – alle anderen Pfade bleiben verborgen.

Ein Beispiel: Alice erstellt ein Script mit drei Ausgabemöglichkeiten:

  1. Alice kann jederzeit mit ihrer Signatur ausgeben
  2. Bob kann nach 6 Monaten mit seiner Signatur ausgeben (Zeitschloss)
  3. Alice und Bob können gemeinsam jederzeit ausgeben (2-von-2 Multisig)

Ohne MAST müssten alle drei Bedingungen bei der Ausgabe offengelegt werden – auch die ungenutzten. Mit MAST wird nur der gewählte Pfad enthüllt. Wenn Alice sofort ausgibt, erfährt niemand, dass es überhaupt alternative Bedingungen gab.

Die Effizienz steigt mit der Komplexität: Bei einem Script mit 8 möglichen Pfaden müssen nur 3 Hashes offengelegt werden (log₂(8) = 3), statt alle 8 Pfade. Je mehr Pfade, desto grösser der Vorteil gegenüber herkömmlichen Scripts.

Taproot kombiniert

Taproot (BIP 341) verbindet Schnorr-Signaturen und MAST zu einem Ganzen. Jede Taproot-Ausgabe hat zwei Ausgabemöglichkeiten:

  • Key Path (Schlüsselpfad): Eine einfache Schnorr-Signatur mit dem aggregierten öffentlichen Schlüssel. Das ist der effizienteste und privateste Weg. Wenn sich alle Beteiligten einig sind, sieht die Transaktion aus wie eine gewöhnliche Einzelsignatur-Zahlung.
  • Script Path (Scriptpfad): Falls der Key Path nicht genutzt werden kann (z.B. weil ein Teilnehmer nicht kooperiert), wird der Merkle-Pfad zum relevanten Script enthüllt und ausgeführt. Nur der genutzte Pfad wird offengelegt.

Der öffentliche Schlüssel einer Taproot-Ausgabe ist ein sogenannter Tweaked Public Key: Der aggregierte Schlüssel wird mit der Merkle Root des Script-Baums mathematisch verknüpft. Dadurch «versteckt» sich der gesamte Script-Baum im öffentlichen Schlüssel, ohne dessen Grösse zu verändern.

Privacy-Vorteile

Der grösste Privacy-Gewinn von Taproot liegt darin, dass alle kooperativen Ausgaben identisch aussehen. Auf der Blockchain ist nicht erkennbar, ob eine Transaktion:

  • eine einfache Zahlung von einer Person war
  • eine 2-von-3-Multisig-Transaktion war
  • die Schliessung eines Lightning-Kanals war
  • eine komplexe Smart-Contract-Ausführung war

Solange der Key Path verwendet wird, sind all diese Transaktionen nicht voneinander zu unterscheiden. Das erhöht die Anonymity Set massiv: Jede Taproot-Transaktion sieht gleich aus und verschmilzt mit allen anderen. Chain-Analyse-Firmen können nicht mehr anhand des Transaktionstyps Rückschlüsse auf die Aktivität ziehen.

Auch beim Script Path werden nur die genutzten Bedingungen sichtbar. Ein Vertrag mit 20 möglichen Ausgabepfaden enthüllt nur den einen, der tatsächlich ausgeführt wird. Die restlichen 19 Pfade bleiben für immer verborgen.

Effizienz

Taproot-Transaktionen sind effizienter als ihre Vorgänger:

  • Kleinere Signaturen: Schnorr-Signaturen sind 64 Bytes statt 71–72 Bytes (ECDSA). Bei Transaktionen mit vielen Inputs summiert sich die Einsparung.
  • Key Aggregation: Eine Multisig-Ausgabe über den Key Path braucht nur eine einzige Signatur statt mehrerer. Eine 5-von-5-Multisig wird so klein wie eine einfache Zahlung.
  • Batch-Validierung: Schnorr-Signaturen können in Batches validiert werden. Statt jede Signatur einzeln zu prüfen, kann ein Node einen ganzen Block von Signaturen in einem Durchgang verifizieren – deutlich schneller als einzelne ECDSA-Prüfungen.

Die Batch-Validierung ist besonders für Full Nodes relevant: Bei der initialen Synchronisierung der Blockchain (IBD – Initial Block Download) müssen Millionen von Signaturen verifiziert werden. Schnorr-Batch-Validierung kann diesen Prozess erheblich beschleunigen.

Aktivierung

Die Aktivierung von Taproot erfolgte über den Speedy Trial-Mechanismus (BIP 8). Miner signalisierten ihre Bereitschaft in einer Signalisierungsperiode. Am 12. Juni 2021 war das Quorum von 90% erreicht – Taproot wurde auf Block 709'632 festgelegt, der am 14. November 2021 gemined wurde.

Die Aktivierung verlief reibungslos und ohne Kontroverse – ein Kontrast zur umstrittenen SegWit-Aktivierung 2017. Die breite Unterstützung zeigte den Konsens der Community für dieses Upgrade. Seit der Aktivierung steigt die Nutzung von Taproot-Adressen stetig. Zahlreiche Wallets und Dienste unterstützen inzwischen das Senden an und von bc1p-Adressen.

Quellen

Nächste Schritte

BTC ...