Was bedeuten Schnorr-Signaturen für Bitcoin?
Startseite
Artikel
Was bedeuten Schnorr-Signaturen für Bitcoin?

Was bedeuten Schnorr-Signaturen für Bitcoin?

Fortgeschritten
Veröffentlicht Jul 8, 2020Aktualisiert Dec 28, 2022
6m

Einführung

Wie Sie vielleicht wissen, setzt Bitcoin die Eigentumsrechte mit etwas durch, das Elliptischer Kurven-Algorithmus für Digitale Signaturen (oder ECDSA) genannt wird. Der Algorithmus erlaubt es Ihnen, eine Zahl (d.h. einen privaten Schlüssel) zu nehmen und daraus einen öffentlichen Schlüssel abzuleiten.
Das Magische daran ist, dass es zwar einfach ist, den öffentlichen Schlüssel aus dem privaten Schlüssel zu erhalten, aber das Gegenteil unmöglich ist. Ihr privater Schlüssel ist Ihr Zugangscode zum Bitcoin-Netzwerk. Er ermöglicht es Ihnen, eine Adresse für den Empfang von Coins zu generieren, und ermöglicht es Ihnen später, diese auszugeben. 

In diesem Artikel werden wir einen Blick auf den Schnorr-Signatur-Algorithmus werfen, eine Alternative zu ECDSA, der einige aufregende Verbesserungen für Bitcoin bringen könnte.


Eine kurze Zusammenfassung zu digitalen Signaturen

Digitale Signaturen funktionieren genau wie ihre Vorgänger mit Stift und Papier, aber sie sind viel sicherer. Jeder kann eine Unterschrift mit Stift und Papier mit ein wenig Zeit und Mühe fälschen. Mit einem robusten digitalen Signaturschema kann man nicht dasselbe tun, selbst wenn man Hunderttausende von Jahren zur Verfügung hätte.

Es gibt mehrere Anwendungsfälle für digitale Signaturen. Ein beliebter Fall besteht darin, der Welt zu beweisen, dass Sie eine bestimmte Nachricht geschrieben haben. Wie bereits erwähnt, können Sie einen öffentlichen Schlüssel aus einem privaten Schlüssel erstellen (eine sehr lange Zahl, die Sie geheim halten sollten). Sie tun dies, indem Sie eine ausgeklügelte Mathematik über die secp256k1-Kurve ausführen. Von dort aus können Sie auch eine öffentliche Adresse aus Ihrem öffentlichen Schlüssel erzeugen.

Beachten Sie, dass es völlig sicher ist, Ihren öffentlichen Schlüssel jedermann zu zeigen. Sie können ihn auf Ihrer Website oder Twitter-Bio hinzufügen, damit andere Ihre Identität überprüfen können. Ebenso können Sie Ihre öffentlichen Adressen mit anderen teilen, damit diese Ihnen Kryptowährungen schicken können.

Mit Ihrem privaten Schlüssel können Sie eine digitale Signatur erstellen. Indem Sie eine Nachricht schreiben und eine Operation mit Ihrem privaten Schlüssel durchführen, erstellen Sie eine signierte Nachricht. Jeder kann sie mit Ihrem öffentlichen Schlüssel vergleichen, um zu überprüfen, ob sie tatsächlich von Ihnen signiert wurde.

Wie passt das zu Bitcoin? Nun, jedes Mal, wenn Sie eine Bitcoin-Transaktion durchführen, unterzeichnen Sie digital eine Nachricht, die besagt Ich sende diese Coins, die zuvor an mich gesendet wurden. Wenn sie dann an andere Nodes im Netzwerk gesendet wird, können diese überprüfen, ob die ECDSA-Signatur mit der Nachricht übereinstimmt. Wenn das nicht der Fall ist, werden sie sie einfach zurückweisen.


Was sind Schnorr-Signaturen?

Schnorr-Signaturen sind eine andere Art von Schema. Es funktioniert ähnlich wie der Algorithmus für digitale Signaturen mit elliptischer Kurve, den wir derzeit verwenden, weist aber gegenüber diesem eine Reihe von Vorteilen auf. Schnorr-Signaturen sind tatsächlich älter als ECDSA, was viele dazu veranlasst hat, sich zu fragen, warum sie nicht von Anfang an in Bitcoin integriert wurden.

Eine mögliche Erklärung ist, dass Claus P. Schnorr &ndash, der Erfinder des Schemas &ndash, dieses patentiert hat. Die Patente liefen Anfang 2008 aus, Monate vor der Veröffentlichung des Bitcoin Whitepapers, aber das System war immer noch nicht durchgängig standardisiert. Daher entschied sich Satoshi Nakamoto für das weithin akzeptierte (und als Open-Source verfügbare) ECDSA.


Warum sind Schnorr-Signaturen vorteilhaft?

Schnorr-Signaturen sind im Vergleich zu anderen Schemata recht einfach. Infolgedessen sind sie nachweislich sicherer als ihre Alternativen. Es mag Ihnen auf den ersten Blick nicht viel sagen, aber sie haben eine andere wichtige Eigenschaft: Linearität
Laienhaft ausgedrückt macht dies die Regelung für bestimmte Aktivitäten besonders attraktiv – vor allem Multisignatur-Transaktionen. Sie wissen vielleicht, dass Bitcoin bereits Multisig unterstützt, aber nicht auf die angenehmste Art und Weise.

Wenn Sie eine Adresse mit mehreren Unterschriften erstellen, braucht derjenige, der Ihnen Gelder schickt, nicht zu wissen, welche Bedingungen Sie für die Ausgabe der Eingaben festgelegt haben. Er weiß vielleicht nicht einmal, dass er Gelder an eine Multisig-Adresse sendet – die einzige Besonderheit an der Adresse ist, dass sie mit einer “3” beginnt.

Sie offenbaren jedoch seine Natur, wenn Sie die Gelder bewegen wollen. Angenommen, Sie haben zusammen mit Alice und Bob ein 3-von-3-Setup verwendet. Um z.B. 5 BTC auszugeben, müssen Sie alle drei die öffentlichen Schlüssel und gültigen Unterschriften zur Verfügung stellen. Wenn Sie die Gelder aus der Adresse transferieren, kann das gesamte Netzwerk sehen, was passiert ist, wenn es auf die Blockchain schaut. 

Aus der Sicht des Datenschutzes ist das nicht großartig. Hinzu kommt, dass, wenn wir ein größeres Multisig (z.B. 8 aus 10) erstellen, wir ziemlich viel Platz auf der Blockchain einnehmen. Das kann teuer werden, da es zu einer größeren Transaktion führt – denken Sie daran, dass Sie umso mehr bezahlen müssen, je mehr Bytes in Ihrer Transaktion enthalten sind.

Schnorr-Signaturen wurden als Lösung für diese Probleme der Privatsphäre und Skalierbarkeit angepriesen. Sie erlauben nämlich Dinge wie Signaturaggregation, die die Unterschriften mehrerer Unterzeichner zu einer einzigen Signatur zusammenfassen. Die daraus resultierende “Master-Signatur” wäre immer noch genauso lang wie eine reguläre Ein-Personen-Signatur, was zu erheblichen Platzeinsparungen führt. 
Darüber hinaus erschweren die kombinierten Signaturen es für einen Beobachter erheblich, festzustellen, wer eine Transaktion unterzeichnet (oder nicht unterzeichnet) hat. Bei m-von-m Schemata (bei denen alle Teilnehmer unterzeichnen müssen, um Gelder auszugeben) wären Sie nicht einmal in der Lage, zwischen Transaktionen mit einer einzigen Partei und solchen mit mehreren Parteien zu unterscheiden.
Entscheidend ist, dass die Schnorr-Signaturen ein Baustein für weitere Fortschritte sind. Einmal implementiert, können sie zur Verbesserung von Kryptotechnologien wie Atomic Swaps und dem Lightning Network eingesetzt werden.



Wann werden Schnorr-Signaturen in Bitcoin implementiert?

Wir sind uns nicht sicher. Wie bei den meisten Upgrades des Bitcoin-Protokolls könnte es einige Zeit dauern, bis sich die breitere Gemeinschaft der Bitcoin-Benutzer auf die Aufnahme der Schnorr-Signatur geeinigt hat. Die Bitcoin Core-Mitwirkenden Pieter Wuille, Jonas Nick und Tim Ruffing haben einen Bitcoin Verbesserungsvorschlag (BIP) eingereicht, aber es ist noch einiges an Arbeit zu tun.
Blockstream hat bereits eine Implementierung veröffentlicht – MuSig. Unter Berücksichtigung von Signatur- und Schlüsselaggregation kann sie durchaus als Grundlage für Bitcoins eigenes Schnorr-Signaturschema dienen.
Schnorr-Signaturen konnten als Soft-Fork in den Code eingebunden werden, was bedeutet, dass eine Änderung das Netzwerk nicht spalten würde. Stattdessen wäre es ein “Opt-in”-Upgrade. Nichtsdestotrotz wäre es optimistisch anzunehmen, dass wir sie in naher Zukunft integriert sehen werden – es könnte noch ein paar Jahre dauern, bis ein Konsens erreicht wird.


Fazit

Schnorr-Signaturen sind einer der am sehnlichsten erwarteten Meilensteine auf der aktuellen Bitcoin-Roadmap. Mit nur einem einzigen Upgrade könnten sie verbesserten Datenschutz und Vorteile durch  Skalierbarkeit bieten. Vielleicht noch interessanter ist, dass sie auch den Rahmen für weitere Entwicklungen bei Bitcoin Smart Contracts und fortgeschrittenere Konstruktionen wie Taproot bilden könnten.