Marcus Dapp
Head of Research
Taproot – Die Basis für Bitcoin DeFi
10.11.2021
Taproot – Eine friedliche Revolution
Taproot (TR) ist die erste Bitcoin-Protokoll-Soft-Fork seit Segregated Witness (BIP-141) im Jahr 2017. SegWit stellte einen grossen Schritt in diese Richtung dar, leider mit einer höchst umstrittenen Soft Fork, die eine lange und heftige Debatte sowohl über ihre Substanz (z.B. “Blocksize Wars”) als auch über die geeignete Aktivierungsmethode beinhaltete. Taproot hingegen ist eine eher friedliche Revolution: Über 90% der Miner haben im Juni 2021 ihre Unterstützung für den Aktivierungsprozess signalisiert, welcher der “lock-in by block height”-Methode (BIP 8) folgt. In wenigen Tagen wird Taproot bei einer Blockhöhe von #709632 im Bitcoin-Netzwerk aktiviert. Das Vermächtnis von SegWit besteht darin, dass es Layer-2-Innovationen wie Lightning ermöglichte, eindrucksvoll die Rolle der Nutzer bei der Entscheidung über die Zukunft von Bitcoins demonstrierte und damit den Weg für Taproot ebnete. Die Bitcoin-Entwickler erwarten, dass Taproot eine wichtige Voraussetzung für komplexere Bedingungen für Transaktionsausgaben und “Smart Contracts” im Bitcoin/Lightning-Netzwerk (LNP/BP) sein wird und damit zukünftig den Grundstein für die Bitcoin-systemeigene dezentrale Finanzwelt legt.
Das Interesse an merkelisierten scriptPubKeys (z.B. MAST) wird von zwei Hauptbereichen getrieben: Effizienz und Privatsphäre. Effizienz, da nicht ausgeführte Forks eines Skripts es vermeiden können, jemals auf die Blockchain zu kommen, und Privatsphäre, weil das Verstecken von nicht ausgeführtem Code Skripte in dem Masse ununterscheidbar macht, dass ihre einzigen Unterschiede in den nicht ausgeführten Teilen liegen. (...) Ein Punkt, der bei der Diskussion über merkelisierte Skripte auftaucht, ist die Frage, wie wir ausgefallenere Vertragsfälle so ununterscheidbar wie möglich von den häufigsten und langweiligsten Zahlungen machen können. (...) Es stellt sich jedoch heraus, dass es nicht nötig ist, einen Kompromiss zu schliessen. Der spezielle Fall einer "Schwellenwert-Signatur ODER beliebiger Bedingungen" kann mit einem speziellen delegierenden CHECKSIG, das ich Taproot nenne, von einer normalen Ein-Parteien-Signatur ununterscheidbar gemacht werden, ohne jeglichen Overhead.
Gregory Maxwell, Ankündigung der Taproot-Idee auf der bitcoin-dev Mailingliste, 23. Januar 2018
Tiefer graben, um (die Wurzel) «Taproot» zu finden
Beginnen wir mit einem kurzen Überblick über den Terminus: Während “Taproot” selbst ein Oberbegriff für die kommende Soft Fork ist, besteht Taproot eigentlich aus drei separaten Bitcoin Improvement Proposals (BIPs) – BIP340, BIP341 und BIP342. Bezeichnenderweise wird BIP341 auch selbst als “Taproot” bezeichnet.
Bevor wir tiefer in die einzelnen BIPs eintauchen, können wir bereits feststellen, dass Taproot es ermöglichen wird, Bitcoins unter interessanteren Ausgabebedingungen, sozusagen mit Smart Contracts, freizuschalten. Dabei wird die Privatsphäre besser gewahrt, da selbst die komplexesten Transaktionen nicht von normalen Transaktionen zu unterscheiden sind, bis die Ausgabenbedingung aufgedeckt wird. Bereits heute können verschiedene Arten von Sperr-Skripten (Timelocks, Multisigs, etc.) kombiniert werden, um komplexe Bitcoin-Transaktionen zu erstellen. Nehmen wir an, dass in einer Beispieltransaktion/einem Beispielvertrag die Münzen auf drei Arten ausgegeben werden könnten: (a) wenn Alice und Bob unterschreiben, (b) Alice unterschreibt alleine, nachdem sie eine gewisse Zeit gewartet hat, und (c) Bob unterschreibt alleine unter Angabe einer geheimen Nummer. Während Transaktionen vom Typ Pay-to-script-hash (P2SH) einen solchen Vertragscode hinter einem Hash verstecken, wird beim Ausgeben der Münzen der gesamte Vertragscode offengelegt. Da somit die gesamte Vertragslogik in vollem Umfang sichtbar ist, einschliesslich der nicht eingeschlagenen Pfade und der nicht beteiligten Parteien, stellt dies sowohl ein Problem für die Privatsphäre als auch eine Datenbelastung dar. Das liegt daran, dass viel mehr auf der Blockchain gespeichert werden muss, als für die erfolgreiche Ausführung der Transaktion tatsächlich erforderlich wäre. Selbst wenn der Schutz der Privatsphäre kein grosses Problem darstellen würde, sind sehr komplexe Transaktionen, z.B. Multisig-Transaktionen mit vielen beteiligten privaten Schlüsseln, umständlich zu verschlüsseln – ein Hindernis, wenn man zukünftig von der Logik her nicht-triviale intelligente Verträge/ smart contracts im Bitcoin-Netzwerk implementieren möchte.
Schnorr-Signaturen (BIP 340)
Bitcoin ordnet Bitcoin-Beträge öffentlichen Schlüsseln zu, die wir “unverbrauchte Transaktionsausgaben” (UTXO) nennen. Ein Nutzer führt eine Transaktion durch, indem er die Nachricht “sende Münzen auf dem öffentlichen Schlüssel/Adresse A zu öffentlichem Schlüssel/Adresse B” mit seinem privaten Schlüssel digital signiert. (Daher bedeutet der Verlust des privaten Schlüssels den Verlust des Zugriffs auf die Münzen; die sichere Aufbewahrung des privaten Schlüssels ist von grösster Bedeutung). Bislang verwendet Bitcoin ausschliesslich den ECDSA-Algorithmus zur Erzeugung und Kontrolle von Signaturen und wird einen neuen Algorithmus einführen – Schnorr. Was sind die Vorteile? Erstens ermöglicht der Schnorr-Algorithmus die sogenannte “Signatur-Aggregation”. Die verschiedenen Schlüssel für eine Multisig-Transaktion können zu einer Signatur zusammengefasst werden, die alle Einzelsignaturen “enthält”. Dadurch wird nicht nur der Umfang von Multisig-Zahlungen verringert, sondern auch die Privatsphäre insgesamt erhöht, da aus Sicht eines Aussenstehenden alle Lightning-Channel-Transaktionen, Multisigs und normale Transaktionen durch Schnorr-Signaturen gleich aussehen. Darüber hinaus sind Schnorr-Signaturen an sich um 11 % kleiner als ECDSA-Signaturen, was die Gebühren für alle Transaktionsarten senkt.
Taproot/SegWit v1 Ausgabenregeln (BIP 341)
Durch den Vorschlag eines neuen Transaktionsausgabetyps, genannt SegWit Version 1 (BIP-341), wird Taproot die Flexibilität von Bitcoin Smart Contracts erweitern und dabei mehr Privatsphäre bieten. TR-Transaktionen ermöglichen zwei verschiedene Arten der Ausgabe eines Outputs: einen Standard-Keyspend und einen beliebigen alternativen Ausgabepfad namens Scriptspend. Diese letztgenannten Ausgabepfade werden mit Merkelized Abstract Syntax Trees (MAST) implementiert. MASTs (BIP-116, 117) ermöglichen es, Ausgabenpfade komplexer Bedingungen in einer aus Ausgabenzweigen bestehenden Entscheidungsbaumstruktur darzustellen. Während früher das gesamte Freischaltskript während des Ausgabenprozesses offengelegt wurde, wird bei einer TR-Transaktion nur der tatsächlich eingeschlagene Ausgabenpfad offengelegt. Es wird nicht angegeben, wie diese Münzen sonst noch ausgegeben worden sein könnten, wodurch der Grad der Vertraulichkeit insbesondere bei Mehrparteienverträgen erhöht wird.
Tapscript (BIP 342)
Um Taproot-Skripte zu validieren, muss die Bitcoin-Skriptsprache in ihrer aktuellen Version auf der Ebene der akzeptierten Opcodes (den Befehlen oder Funktionen, die zur Konstruktion von Transaktionen verwendet werden), erweitert werden. Es würde den Rahmen dieses Artikels sprengen, auf weitere technische Details einzugehen. Es genügt aber zu erwähnen, dass mehrere Opcodes benötigt werden, um Schnorr-Signaturen zu unterstützen. Daher werden einige geändert, und andere neu eingeführt. Für die Nutzer sind zwei Auswirkungen bemerkenswert: Erstens ermöglicht Tapscript die Beschreibung von Transaktionsskripten mit Hilfe von MAST-Bäumen und damit eine wesentlich komplexere, vertragsähnliche Kontrolle über die Ausgabe von Bitcoins. Obwohl dies ein Schritt in Richtung “Smart Contract”-Funktionalität ist, bleibt ein entscheidender Unterschied zwischen der Skripterstellung in Bitcoin und Solidity-Verträgen in Ethereum bestehen: Bitcoin bleibt nicht-Turing-komplett, um die Komplexität der Programme gering zu halten und sie weniger anfällig für Fehler und unbeabsichtigte Nebeneffekte zu machen. Zweitens führt Tapscript ein Versionierungssystem für Ausgaberegeln ein und stellt v1 dieser Regeln dar; v0 wurde vor einigen Jahren von SegWit (BIP 143) eingeführt. Der Vorteil ist, dass die Weiterentwicklung der Skriptsprache in Zukunft wesentlich einfacher sein wird, da sie durch rückwärtskompatible Soft Forks anstelle von störenderen Hard Forks erfolgen kann.
Erwartete Vorteile
Im Laufe der Jahre und im Hinblick auf andere Kryptowährungsprojekte musste Bitcoin in vielen verschiedenen Bereichen Kritik einstecken: Es skaliert nicht, ist zu langsam, zu transparent und kann keine Smart Contracts abschliessen. Abstrahiert man die oben erwähnten technischen Details, kann man sagen, dass das Taproot-Upgrade Bitcoin in drei verschiedenen und entscheidenden Bereichen voranbringt, die zusammen all diese Kritikpunkte angehen: Skalierbarkeit, Privatsphäre und Fungibilität sowie Funktionalität. Die folgende Tabelle gibt einen nicht-technischen Überblick.
Tabelle 1. Taproot verbessert Bitcoin in drei entscheidenden Bereichen gegenüber bestehender Kritik.
Skalierbarkeit
- Kleinere Multisig-Transaktionen aufgrund von Signatur-Aggregation (30-75%)
- Batch-Validierung, 2,5x schnellere Blockvalidierung
- Allgemeine Gebühreneinsparungen aufgrund der kompakten Transaktionsgrösse
Privatsphäre & Fungibilität
- Alle Outputs und die meisten Ausgaben sind von normalen Transaktionen nicht zu unterscheiden
- Die meisten Skriptauswertungen können ausserhalb der Blockchain stattfinden
- Ausgaben zeigen nur den erfüllten Pfad, nicht das gesamte Skript
Funktionalität
- Grosse M-aus-N-Multisig-Transaktionen möglich
- Grössere allgemeine Skripte möglich
- Skript-Innovationen (Adapter, Blindsignaturen usw.) ermöglichen komplexe DeFi- und LN-Verbesserungen
Fazit
Obwohl es sich bei Taproot um ein zutiefst technisches Upgrade handelt, das sozusagen direkt im Maschinenraum des Bitcoin-Protokolls angesiedelt ist, könnten sich seine Auswirkungen als weitreichend erweisen. So wie SegWit blitzschnelle Zahlungen ermöglichte, könnte Taproot komplexe Smart Contracts und eine noch nie dagewesene On-Chain-Privatsphäre ermöglichen. Dies sind entscheidende Bausteine, die letztlich Konstrukte auf höherer Ebene, wie zum Beispiel dezentrale Finanzen und nicht-fungible Token, möglich machen. DeFi und NFTs haben bereits in der Vergangenheit das Interesse von Entwicklern und Nutzern geweckt: Die erste DeFi-Welle fand auf der führenden Smart-Contract-Plattform Ethereum statt, was sich auch im Preis des dortigen Tokens ETH widerspiegelt. Vielleicht ist Bitcoin noch nicht so weit und die zweite Welle von DeFi wird auf den Plattformen der Ethereum-Konkurrenten stattfinden. Aber andererseits hat sich Geduld auch während der SegWit-Einführungsphase bewährt. Für die dritte Welle könnte Bitcoin eine attraktive Plattform mit grundlegender Zuverlässigkeit für Smart-Contract-Entwickler bieten, die das grösste Netzwerk, die höchste Sicherheit, eine deutlich höhere Privatsphäre und eine äusserst attraktive Preisentwicklung – mit vergleichsweise niedrigen Gebühren – bietet. Wir werden sehen, welche Früchte aus den Taproots wachsen werden…