Blockchain/Niveau IV · Tiefer ins Protokoll/4.2 Upgrades/Lektion 1
Taproot und Schnorr-Signaturen
Der Schlüssel, der den Vertrag versteckt, und die Signatur, die in eine Tasche passt
MaterialienEin Block-Explorer, der rohe Transaktionsdaten im Hex-Format anzeigen kannEine Wallet, die Taproot-Adressen (bc1p) unterstütztDie Spezifikationsdokumente BIP341 und BIP340
Neugier
- Warum sieht eine komplexe Vereinbarung mehrerer Parteien auf der Blockchain genauso aus wie eine einfache Einzelzahlung?
- Wie können mehrere private Schlüssel zu einem einzigen öffentlichen Schlüssel kombiniert werden, ohne dass Beobachter jemals von ihrer Existenz erfahren?
- Welche mathematische Eigenschaft ermöglicht es, dass eine Signatur von zehn Personen nicht von der einer einzelnen Person zu unterscheiden ist?
Erkunden
- Vor Taproot wurde eine komplexe Ausgabebedingung bei jeder Ausgabe der Coins vollständig offengelegt (und stand bei Bare Scripts sogar direkt im Output): Eine Multisig-Ausgabe zeigte den Schlüssel jedes Beteiligten, ein Timelock seine Dauer, ein Hashlock seine Struktur. Diese öffentliche Transparenz schuf Privatsphäre-Risiken für versierte Nutzer und blähte den Blockspace mit redundanten Daten auf. Das Netzwerk behandelte alle Scripts wie offene Bücher und zwang komplexe Konstruktionen, ihre gesamte Logik an jede Node und jeden Beobachter zu übertragen.
- Taproot (BIP341) ändert das Commitment-Modell. Ein Output verweist nun auf einen einzigen 32-Byte-Public-Key Q, berechnet als P + t·G. Dabei ist P ein interner Schlüssel, den der primäre Ausgabeberechtigte kontrolliert, während t ein Commitment auf die Merkle-Root eines optionalen Baums alternativer Scripts darstellt. On-chain sieht der Output aus wie jede Zahlung an einen einzelnen Schlüssel und verbirgt die Komplexität, die dahinter liegen mag.
- Schnorr-Signaturen (BIP340) sind die Grundlage für diese Effizienz. Im Gegensatz zu ECDSA, das eine variabel lange DER-Kodierung verwendet, die im Durchschnitt 71–72 Bytes umfasst, erzeugt Schnorr eine Signatur fester Größe von 64 Bytes (65 Bytes bei einem nicht standardmäßigen Signatur-Hash-Typ). Die feste Größe erleichtert die Verarbeitung und verringert das Gewicht der Transaktionen. Zudem ermöglicht die Linearität des Schnorr-Schemas die Aggregation von Schlüsseln: Mit einem Protokoll wie MuSig2 können mehrere öffentliche Schlüssel zu einem zusammengefassten Schlüssel kombiniert werden, wodurch Gruppen als eine einzige Einheit signieren können, ohne die einzelnen Teilnehmer preiszugeben.
- Das Ausgeben erfolgt über zwei unterschiedliche Pfade. Beim Key Path kooperieren alle Beteiligten und signieren mit ihrem aggregierten Schlüssel; die resultierende Transaktion ist von keiner gewöhnlichen Zahlung an einen einzelnen Schlüssel zu unterscheiden. Es werden keine Scripts offengelegt und keine zusätzlichen Daten angehängt. Das wahrt die Privatsphäre beim kooperativen Schließen von Lightning-Kanälen oder bei Multisig-Wallets und stellt sicher, dass komplexe Finanzarrangements keine Metadaten an das öffentliche Ledger der Blockchain preisgeben.
- Scheitert die Kooperation, kommt der Script Path zum Einsatz. Der Ausgebende legt ein bestimmtes Blatt (Leaf) des Merkle-Trees zusammen mit einem Nachweis seiner Zugehörigkeit offen. Ungenutzte Zweige bleiben verborgen, wodurch die Privatsphäre der alternativen Bedingungen gewahrt bleibt. Dieser Mechanismus, bekannt als Merkelized Abstract Syntax Trees (MAST), erlaubt es, dass verschiedene Ausgaberegeln – etwa verzögerte Abhebungen oder Notfallschlüssel – in einem einzigen Output nebeneinander bestehen, ohne dass sie offengelegt werden, bevor es unbedingt nötig ist.
- Die praktischen Auswirkungen sind erheblich. Taproot-Adressen beginnen mit „bc1p“. MuSig2 (BIP327) standardisiert die Schlüsselaggregation und ermöglicht interoperables Multisig über Wallets verschiedener Anbieter hinweg. Schwellenwertverfahren wie FROST werden für ähnliche Zwecke entwickelt. Im November 2021 übernahm das Netzwerk bei Block 709.632 diese Struktur, wodurch komplexe Scripts bei kooperativer Nutzung kleiner, günstiger und standardmäßig privat werden.
Kernfakten
- Taproot (BIP341) wurde im November 2021 bei Block 709.632 aktiviert.
- Ein Taproot-Output legt sich auf einen einzigen Schlüssel Q = P + t·G fest, wobei t ein Tagged Hash aus P und, falls vorhanden, der Wurzel eines Script-Baums ist.
- Schnorr-Signaturen (BIP340) haben eine feste Größe von 64 Bytes, wodurch der Overhead der DER-Kodierung entfällt.
- Beim Ausgeben über den Key Path werden keine Scripts offengelegt; solche Ausgaben sind von Zahlungen an einen einzelnen Schlüssel nicht zu unterscheiden.
- Beim Ausgeben über den Script Path wird nur das tatsächlich verwendete Script-Leaf offengelegt; die anderen Zweige bleiben verborgen.
- MuSig2 (BIP327) ermöglicht die Aggregation von Schlüsseln nach dem Prinzip „n von n“ für interoperable Multisig-Wallets.
Übung neun, sechs, drei, eins
9SammelnListen Sie 9 verschiedene Arten von Ausgabebedingungen oder Scripts auf, die es in Bitcoin vor Taproot gab. Notieren Sie jeweils die spezifischen Privatsphäre-Lecks oder Größennachteile, die damit on-chain verbunden waren.
6GruppierenGruppieren Sie die 9 Bedingungen in 6 Kategorien danach, wie sie in einem Taproot-Output behandelt werden: vollständig über den Key Path verborgen, nur im Streitfall offengelegt, über MuSig2 aggregiert oder durch andere strukturelle Änderungen.
3VerdichtenReduzieren Sie die 6 Cluster auf 3 zentrale Gründe, warum das Verstecken von Skripten hinter einem einzigen Schlüssel die Netzwerkeffizienz sowie die Privatsphäre der Nutzer verbessert.
1KristallisierenSchreiben Sie 1 Satz, der erklärt, wie die Merkle-Tree-Struktur in Taproot komplexe Finanzvereinbarungen ermöglicht, ohne deren Bedingungen öffentlich offenzulegen.
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.