Was bedeuten Schnorr-Signaturen für Bitcoin?
Ende November 2021 ging eines der bedeutsamsten Upgrades in der Geschichte des Bitcoins an den Start. Das „Taproot“ getaufte Upgrade brachte wesentliche Änderungen in den Code der von Satoshi Nakamoto entwickelten Kryptowährung. Taproot sollte den Schutz der Privatsphäre erhöhen, die Netzwerkkosten senken und vordergründig die sogenannten Schnorr-Signaturen einführen. Nachfolgend erklären wir, was hinter den Schnorr-Signaturen steckt und warum diese einen erheblichen Einfluss auf die Signierung von Bitcoin-Transaktionen haben.
Einschub: was sind digitale Signaturen?
Der Bitcoin gilt als äußerst sicher, denn das Netzwerk ist dezentral, transparent und jede Transaktion ist durch digitale Signaturen verschlüsselt. Doch was bedeutet das eigentlich?
Mithilfe digitaler Signaturen können Nachrichten verschlüsselt werden. Grob vereinfacht erklärt, verschickt ein Sender eine Nachricht und verschlüsselt diese. Der Empfänger kann als einziger diese Nachricht wieder öffnen. In der Praxis gibt es zahlreiche Möglichkeiten, wie sich ein solches Verfahren abwickeln lässt.
Konzeptionell funktionieren all diese Verfahren nach einem sehr ähnlichen Prinzip. Aus einem privaten Schlüssel, den jeder Teilnehmer eines Netzwerks individuell generiert, lässt sich ein öffentlicher Schlüssel erstellen.
Der öffentliche Schlüssel gilt gewissermaßen als Beweis, dass mithilfe eines aus diesem Schlüssel abgeleiteten privaten Schlüssels eine Nachricht signiert wurde. Sobald ein Empfänger eine geheime Nachricht entschlüsseln will, nutzt er den passenden öffentlichen Schlüssel des Senders. In der Praxis haben sich zwei Verfahren durchgesetzt: die symmetrische und die asymmetrische Verschlüsselung.
Was ist das Besondere an den Schnorr-Signaturen?
Der deutsche Mathematikprofessor Claus Peter Schnorr hat das nach ihm benannte Signaturverfahren zwischen 1989 und 1991 entwickelt. Es ist ein kryptografisches Schema für digitale Signaturen und leitet sich aus der Schnorr-Identifikation ab.
Lange hielt Schnorr ein Patent auf seine Entwicklung, weshalb diese vermutlich nicht zu Beginn der Entwicklungsarbeiten in das Bitcoin-Protokoll integriert wurden. Dieses Patent lief im Jahr 2008 – also während Satoshi am Bitcoin arbeitete – aus. Heute geht man davon aus, dass der legendäre Entwickler des Bitcoins schlicht nicht wusste, dass er die Signaturen hätte verwenden dürfen.
Um zu verstehen, wie die Schnorr-Signaturen funktionieren, wollen wir zunächst einmal erklären, wie zuvor im Falle des Bitcoins signiert wurde. Das letzte große Bitcoin-Upgrade „Segwit“ revolutionierte die Art und Weise der Signierung von Transaktionen.
Segwit sorgte dafür, dass die zuvor geteilten Transaktionsdaten gebündelt in einem Datenblock zusammengefasst wurden. Dadurch wurde um 50 % mehr Platz in den Datenblöcken geschaffen, aber dennoch benötigte jede Transaktion die Signatur.
Mit den Schnorr-Signaturen soll erneut Platz geschaffen werden. Dies wird erreicht, indem nicht mehr für jede Transaktion zwischen einem Sender und Empfänger eine eigene Signatur benötigt wird.
Schnorr-Signaturen versus Elliptic Curve Digital Signature Algorithm (ECDSA)
Bis die Schnorr-Signaturen in das Protokoll integriert wurden, verwendete der Bitcoin den Elliptic Curve Digital Signature Algorithm. ECDSA ist eine Ableitung des Digital Signature Algorithm (DSA).
Elliptische Kurven haben gegenüber dem normalen DSA-Verfahren den Vorteil, dass die Bitlänge dem doppelten des Sicherheitsniveaus „t“ entspricht.
Dazu ein Beispiel: Geht man von einem Sicherheitsniveau von t = 80 Bit aus, bräuchte ein Hacker 280 Operationen, um einen privaten Schlüssel zu knacken. Ein DSA-Schlüssel hätte in dem Fall eine Länge von 1024 Bit, der ECDSA-Schlüssel dagegen weist nur 160 Bit auf. Die Signatur selbst ist in beiden Fällen mit 320 Bit jedoch gleich lang.
Der ECDSA wurde dazu verwendet, um aus einem geheimen Schlüssel einen öffentlichen Schlüssel abzuleiten. Da der private Schlüssel logischerweise geheim ist, ist es nicht möglich, aus dem öffentlichen Schlüssel einfach wieder den privaten Schlüssel abzuleiten.
Nun stellt sich natürlich die Frage, warum die Schnorr-Signaturen den Elliptic Curve Digital Signature Algorithm ersetzt haben, obwohl ECDSA sogar noch jünger ist und als äußerst sicher und wirkungsvoll gilt?
Das von Schnorr entwickelte Verfahren ermöglicht etwas, dass den Bitcoin noch schneller und sicherer macht: Multisignaturen durch Key-Aggregation. Zwar ermöglichte auch der ECDSA bereits Multisignaturen, allerdings nur über Umwege und in bestimmten Fällen mittels Pay to Script Hash (P2SH).
Schnorr-Signaturen schaffen diese Möglichkeit praktisch von Haus aus und sind mit 64 Byte dabei auch noch deutlich schlanker als ECDSA-Signaturen (72 Byte). Als Nebeneffekt sorgte das Taproot-Upgrade also für signifikante Platzeinsparungen auf der Bitcoin-Blockchain.
Die hohe Sicherheit wird dadurch erreicht, dass Schnorr-Signaturen nicht formbar sind. In dem Zusammenhang bedeutet die Formbarkeit von Signaturen, dass sie sich vor der Bestätigung noch verändern lassen.
Schnorr-Signaturen sind gemäß dem Random-Oracle-Modell beweisbar sicher, sofern eine hinreichend zufällige Hash-Funktion verwendet wird. ECDSA konnte diesen Beweis nicht erbringen und galt somit immer als (theoretisch) unsicher.
Folgender Tweet-Verlauf erklärt alles Relevante auch erneut hervorragend:
Asymmetric cryptography is a process that uses a pair of keys: public / private key.
Its most interesting application is *Digital signature*. It's a process where you can prove you know your private key without revealing it while anyone with your public key can verify your proof pic.twitter.com/H32ZB8bkTg
— Charles Guillemet (@P3b7_) September 17, 2021
Fazit: Schnorr-Signaturen machen den Bitcoin effizienter, sicherer und schneller
Das Taproot-Upgrade ist zweifellos einer der wichtigsten Meilensteine in der Geschichte des Bitcoins. Das liegt primär an einem Verfahren, welches Anfang der Neunzigerjahre von einem deutschen Mathematiker erfunden wurde.
Die Schnorr-Signaturen passen perfekt in das Anforderungsprofil des Bitcoins und wurden schließlich mit Taproot in das Protokoll von Satoshis Kryptowährung integriert. Sie ermöglichen Multisignaturen, sind platzsparender als das alte Verfahren ECDSA und aufgrund der unveränderbaren Form sehr sicher.
Taproot wurde mit überwältigender Mehrheit von den Minern akzeptiert und brachte neben Schnorr auch noch Merkle-Trees (verbergen Bedingungen von Smart Contracts in Hash-Bäumen) und Tapscript (neue Script-Sprache) ein.
Auf Langzeitsicht sind die Schnorr-Signaturen aber zweifelsohne die bedeutendste Neuerung. Sie reduzieren Schätzungen zufolge die Größe von Transaktionen um 20 Prozent. Dadurch wird die Skalierbarkeit verbessert, der Transaktionsdurchsatz erhöht und die Gebühren senken.