Taproot kommt: Was es ist und wie es Bitcoin nützen wird

Schriftsteller:Gutes, Erstellt: 2019-02-12 09:33:46, aktualisiert:

Bitcoin-Nutzer könnten bald von einem Trick namens Taproot profitieren können. Erst von Bitcoin Core-Mitwirkenden und ehemaligen Blockstream-CTO Gregory Maxwell vorgeschlagen, würde Taproot die Flexibilität von Bitcoin-Smart Contracts erweitern und dabei mehr Privatsphäre bieten. Selbst die komplexesten Smart Contracts wären auf der Blockchain in der Regel nicht von normalen Transaktionen zu unterscheiden.

Während es ein großes Unterfangen ist, ist dies nicht nur Theorie. Mehrere der produktivsten Bitcoin-Core-Mitwirkenden , darunter Pieter Wuille, Anthony Towns, Johnson Lau, Jonas Nick, Andrew Poelstra, Tim Ruffing, Rusty Russell und tatsächlich Gregory Maxwell arbeiten an einem Schnorr-Signaturvorschlag, der Taproot in einem Protokoll-Upgrade umfassen würde.

Hier ist, was Taproot ist und wie es funktioniert.

P2SH

Alle Bitcoins sind im Wesentlichen in Skripten verriegelt: ein paar Codezeilen, die in eine Transaktion eingebettet sind, die in der Blockchain enthalten ist, und die definieren, wie die Münzen in der nächsten Transaktion ausgegeben werden können. Die Ausgabebedingungen beinhalten normalerweise die Bereitstellung einer Signatur, um den Besitz der Münzen zu beweisen.

Verschiedene Bedingungen können gemischt und abgestimmt werden, um komplexe Arten von intelligenten Verträgen zu erstellen. Ein Beispiel für einen solchen Vertrag könnte sein, dass Münzen ausgegeben werden können, wenn sowohl Alice als auch Bob unterschreiben, oder wenn Alice alleine nach einer Woche unterschreibt, oder wenn Bob alleine unterschreibt und gleichzeitig eine geheime Nummer angibt. Welche dieser drei Bedingungen zuerst erfüllt wird, ist die Art und Weise, wie die Münzen ausgegeben werden.

Seit 2012 sind Skripte (die Bedingungen) zunächst oft nicht öffentlich sichtbar; nur der neue Besitzer der Münzen weiß, wie sie ausgegeben werden können. Dies geschieht mit einem Trick namens P2SH (Pay to Script Hash), bei dem zunächst nur ein Hash des Skripts in die Blockchain aufgenommen wird. Diese scheinbar zufällig verschlüsselte Zahl hält die Münzen. Wenn der Besitzer die Münzen ausgibt, enthüllt er gleichzeitig das gesamte Skript sowie die Lösung zum Skript. Jeder kann dann den ersten Hash verwenden, um zu überprüfen, ob das bereitgestellte Skript tatsächlich das ursprüngliche Skript war, das die Münzen sperrt, und kann sofort zu dem Schluss kommen, dass die Anforderungen des Skripts erfüllt wurden.

Dennoch, wenn die Münzen ausgegeben werden, ist es derzeit notwendig, alle möglichen Bedingungen, die erfüllt worden sein könnten, einschließlich der Bedingungen, die nicht erfüllt wurden, offenzulegen. Dies hat zwei Hauptnachteile. Erstens, es ist datenschwere, besonders wenn es viele Bedingungen gibt. Und zweitens, es ist schlecht für die Privatsphäre. Jeder lernt alle verschiedenen Möglichkeiten kennen, wie Gelder ausgegeben werden könnten, die zum Beispiel zeigen können, welche Art von Brieftasche verwendet wurde und vielleicht sogar mehr.

Masten

MAST (Merkelized Abstract Syntax Tree) ist eine vorgeschlagene Lösung, die Merkle-Bäume (eine jahrzehntelange, kompakte Datenstruktur, die vom Kryptographen Ralph Merkle erfunden wurde) verwendet, um diese beiden Nachteile zu umgehen.

Der einzigartige Vorteil besteht darin, dass, wenn eine der Daten im Merkle-Baum offenbart wird, die Merkle-Wurzel und einige zusätzliche Daten (die Merkle-Pfad genannt werden) verwendet werden können, um zu überprüfen, ob diese spezifischen Daten in den Merkle-Baum aufgenommen wurden.

Mit MAST bedeutet dies, dass nur die Bedingung, die erfüllt ist, offengelegt werden muss. Wenn in dem ersten Beispiel oben Alice alleine die Mittel nach einer Woche ausgibt, offenbart sie einfach diese Bedingung (und den Merkle-Pfad). Niemand erfährt, dass das Geld auch von Alice und Bob zusammen oder von Bob allein ausgegeben worden sein könnte, wenn er eine geheime Nummer hinzugefügt hätte. Dies macht MAST effizienter als komplexe P2SH-Smart Contracts und fügt Privatsphäre hinzu.

Doch mit Schnorr kann Taproot noch besser: Eine Transaktion kann verbergen, dass eine MAST-Struktur überhaupt existierte.

Schnorr

Das Schnorr-Signaturschema steht seit langem auf der Wunschliste vieler Bitcoin-Entwickler und wird derzeit als Soft-Fork-Protokoll-Upgrade entwickelt. Viele Kryptografen halten das Schnorr-Signaturschema für das beste auf dem Gebiet, da seine mathematischen Eigenschaften ein hohes Maß an Richtigkeit bieten, es nicht an Formbarkeit leidet und relativ schnell zu überprüfen ist.

Als bekanntester Vorteil im Kontext von Bitcoin ermöglicht Schnorrs lineare Mathematik die Signaturaggregation: mehrere Signaturen in derselben Transaktion können zu einer kombiniert werden. Ein ähnlicher Trick könnte auf Multisig-Transaktionen angewendet werden. Durch die Kombination von öffentlichen Schlüsseln und Signaturen zu Schwellenöffentlichen Schlüsseln und Schwellensignaturen kann eine Multisig-Transaktion von jeder normalen Transaktion nicht unterschieden werden.

Und das Signaturschema kann auf noch interessantere Weise verwendet werden. Zum Beispiel ist es möglich, Daten zu verwenden, um sowohl einen privaten Schlüssel als auch einen öffentlichen Schlüssel zu tweak. Als vereinfachtes Beispiel könnten ein privater Schlüssel und sein entsprechender öffentlicher Schlüssel durch Multiplikation beider um zwei optimiert werden. Der private Schlüssel x 2 und der öffentliche Schlüssel x 2 würden immer noch übereinstimmen, und der private Schlüssel x 2 könnte immer noch Nachrichten signieren, die mit dem öffentlichen Schlüssel x 2 verifiziert werden konnten.

Das macht Taproot möglich.

Steckwurzeln

Taproot basiert auf einer interessanten Erkenntnis: Egal wie komplex, fast jede MAST-Konstruktion könnte (oder sollte) eine Bedingung enthalten, die es allen Teilnehmern ermöglicht, sich auf das Ergebnis zu einigen und einfach eine Abrechnungstransaktion zusammen zu unterzeichnen.

Taproot ähnelt MAST und beinhaltet immer eine Bedingung, unter der alle Teilnehmer zusammenarbeiten können, um die Mittel auszugeben: die Kooperationsschließung.

Durch die Verwendung von Schnorr-Signaturen wird es hier interessant.

Zunächst einmal würde der kooperative Schließvorgang Schnorrs Schwellen-Trick nutzen, um es wie eine normale Transaktion von einer Person zur anderen aussehen zu lassen. So werden die öffentlichen Schlüssel aller Teilnehmer zusammengefasst, was zum Schwellen-öffentlichen Schlüssel führt. Entsprechend diesem Schwellen-öffentlichen Schlüssel ermöglicht ihnen die Kombination aller Teilnehmer Unterschriften ihre Schwellen-Signatur , die Mittel auszugeben.

Bisher ist alles gut, aber das Geld auszugeben, als wäre es eine normale Transaktion, ist das Einzige, was sie tun können - es gibt noch keine MAST-ähnlichen Strukturen.

Alle alternativen Möglichkeiten, wie die Gelder ausgegeben werden können, die nicht-kooperativen Ergebnisse werden diesmal in ein anderes Skript kombiniert. Dieses Skript wird dann gehasht und verwendet, um den Schwellen-öffentlichen Schlüssel zu optimieren. Anstatt öffentlicher Schlüssel x 2, wie im Beispiel zuvor verwendet, führt dies zu einem Schwellen-öffentlicher Schlüssel x Skript. (Wir sind noch dabei zu vereinfachen.) Dieses Schwellen-öffentliche Schlüssel x Skript entspricht natürlich einem Schwellen-Signatur x Skript.

Nun, wenn das Geld kooperativ ausgegeben wird, kombinieren alle Teilnehmer ihre Unterschriften in die Schwellen-Signatur und optimieren sie mit dem Skript. Die resultierende Schwellen-Signatur x Skript ermöglicht es ihnen, die Mittel auszugeben.

Nur wenn sich ein kooperativer Abschluss als unmöglich erweist, kann der Schwellenwert des öffentlichen Schlüssels als das gezeigt werden, was er wirklich ist: angepasst.

In diesem Fall werden sowohl der ursprüngliche Schwellungsschlüssel als auch das Skript enthüllt. Dies beweist, dass der Schwellungsschlüssel x Skript mit diesem spezifischen Skript optimiert wurde. So wie der Hash in P2SH beweist das Tweak der Welt, dass die Mittel ausgegeben werden sollten, wenn die alternativen Bedingungen, wie in diesem Skript angegeben, erfüllt sind. (Und wie bei P2SH werden diese Bedingungen natürlich sofort erfüllt, um die Mittel auszugeben.)

Alternativ dazu kann der Schwellen-öffentliche Schlüssel nicht mit einem Skript optimiert werden, sondern mit einer Merkle-Wurzel eines Merkle-Baumes, der alle verschiedenen Bedingungen enthält, unter denen die Mittel ausgegeben werden können: eine MAST-Struktur.

Als solches bietet Taproot alle Vorteile von MAST, während unter normalen Umständen niemand jemals erfahren wird, dass eine normale Transaktion einen so komplexen Smart Contract als Fallback verbirgt.

Dies ist ein allgemeiner Überblick über das Taproot-Konzept; die Implementierungsspezifik kann variieren.


Mehr