Ein Merkle-Baum reicht nicht aus. Ein ganzer Wald ist besser. Bild von bertk212 über flickr.com. Lizenz: Creative Commons

Eines der Upgrades auf Bitcoin, über das schon lange gesprochen wurde, das aber kaum jemand versteht, ist Taproot. Der Vorschlag zielt darauf ab, intelligente Verträge für Bitcoin privater und platzsparender zu gestalten. Es ist noch nicht bekannt, ob und wann es implementiert wird. Wir erklären die Idee mit Hilfe eines Vortrags von Blockstreams Chefwissenschaftler Andrew Poelstra.

Andrew Poelstra, Chefwissenschaftler von Blockstream, beschreibt das Konzept von Taproot in einem Vortrag auf der virtuellen Konferenz MIT Bitcoin Expo . Diejenigen, die noch nie von Taproot gehört haben: Dies ist eine Technologie, die von Blockstream und Gregory Maxwell entwickelt wurde, um intelligente Verträge für Bitcoin auf besonders private und platzsparende Weise zu unterzeichnen.

Taproot selbst ist je nach Perspektive wunderbar oder furchtbar komplex. Um dies zu verstehen, sollten Sie ein oder zwei Dinge über die internen Mechanismen von Bitcoin wissen. Deshalb erklärt Poelstra es nicht vollständig, sondern streift die Oberfläche. Das macht seinen Vortrag gut geeignet, um ihn hier zusammenzufassen.

Skripte in Bitcoin

Taproot, erklärt Poelstra, „ist ein Vorschlag für Bitcoin, der von Pieter Wuille, Gregory Maxwell und mir entwickelt wurde. Aber in den letzten ein oder zwei Jahren haben ungefähr 10 Leute über das IRC oder die Mailingliste gearbeitet und verschiedene Dinge beigetragen. Taproot ist eine neue Version einer Transaktionsausgabe, was bedeutet, dass es sich um eine neue Bedingung handelt, nämlich das Ausgeben von Bitcoins. ”

Um das zu verstehen, muss man etwas tiefer in Bitcoin eintauchen. Bitcoin hat ein "Skriptsystem". Dies ist "die Möglichkeit, eine Bedingung anzugeben, wann Münzen ausgegeben werden können." Die typische Bedingung ist folgende: Es gibt eine Adresse, die einen öffentlichen Schlüssel darstellt und die eine Transaktion mit dem passenden privaten signierten Schlüssel hat, kann die Münzen ausgeben. Aber dies ist, sagt Poelstra, "in Wahrheit ein Sonderfall dessen, was Bitcoin kann." Weil Sie "alle Bedingungen beschreiben können, unter denen Sie Münzen ausgeben können". Sie können also Hashes überprüfen, "was bedeutet, dass Sie einen Hash aus bestimmten Daten in die Blockchain einfügen, und die Bedingung ist, dass nur derjenige, der das Vorbild des Hashs – dh die zugrunde liegenden Daten – enthüllt," die Münzen ausgeben "kann Bilden Sie auch "Zeitverriegelungen", "die nicht zulassen, dass sich die Münzen bewegen, bevor eine bestimmte Zeit verstrichen ist. "Und so weiter. Sie können viele Bedingungen mit dem Skript definieren.

Die meisten Dinge, die Sie mit dem Skript tun können, sind jedoch" nicht besonders aufregend ". Es gibt viele Dinge, die Sie nicht tun können. Zum Beispiel eine" Geschwindigkeitsbegrenzung ". Dies bedeutet, dass Sie nur eine bestimmte Anzahl von Münzen an einem einzigen Tag bewegen können. "Dies ist eine Sache, die mit Bitcoin Script nicht möglich ist." Dies ist eine der Funktionen, die immer gewünscht werden. ist möglich, seit das Genesis-Upgrade die vollständigen Skriptbefehle von Bitcoin wiederhergestellt hat. Aber das ist nur nebenbei.

Eine andere Sache, die das Skript von Poelstra stört, ist das hohes Maß an Transparenz und verschwenderische Nutzung des Platzes in der Blockchain. Er erklärt dies am Beispiel eines Multisig-Vertrags der von zwei von drei Schlüsseln unterzeichnet wurde und in dem, wenn diese Schlüssel verloren gehen, ein Sicherungsschlüssel, der jedoch erst nach einer bestimmten Zeit signiert Zeit kann: "Sie können das tun, aber was in der Blockchain passiert, wenn Sie Münzen ausgeben, ist nur eine Bedingung. Sie haben das Skript, das viele verschiedene Dinge beschreibt, aber am Ende zählt nur eines davon. Bei der Ausgabe der Münzen zählt nur eine. „Alle Bedingungen müssen jedoch in der Blockchain gespeichert, offengelegt und validiert werden. Laut Poelstra wäre es „ideal, wenn Sie nicht alle diese Bedingungen offenlegen müssten. Wenn normalerweise nur einer zählt, warum veröffentlichen wir sie dann alle? Warum zwingen wir alle, sie herunterzuladen? Warum zwingen wir alle, sie zu analysieren? Warum zwingen wir alle zu prüfen, ob sie sinnvoll sind, und so weiter? ”

Von MAST zu Taproot

Aus diesem Grund wurde 2011 oder 2012 eine Idee entwickelt. Die Idee heißt" MAST ", was die Abkürzung für" Merklized Abstract Syntax Tree "ist. Es geht darum, "all diese verschiedenen Bedingungen zu nehmen und sie in einen Hash-Baum (Merkle-Tree) zu packen. Sie nehmen diese Bedingungen, hashen sie und dann nehmen Sie all diese Hashes, bündeln sie und hashen Das Ganze noch einmal. Dies gibt Ihnen ein kryptografisches Objekt, mit dem Sie eine der Bedingungen oder eine Teilmenge der Bedingungen offenlegen können, ohne alle offenlegen zu müssen. “

Ein Hash-Baum bündelt viele Hashes in der„ Wurzel “. Dies würde die Transaktion verkleinern: Am Ende trifft nur ein 32-Byte-Hash die Blockchain, die alle möglichen Bedingungen enthält.

Diese Idee gibt es schon eine Weile, wurde aber nie umgesetzt. "Ein Grund ist das etwas wie MAST ist eine große und tiefgreifende Änderung in Bitcoin ", und niemand wagt es, eine solche Änderung vorzunehmen, bevor klar ist, dass der bestmögliche Vorschlag gemacht wurde." Wir hatten in den letzten Jahren viele Variationen von etwas wie MAST. verschiedene Methoden, um den Inhalt der Skripte zu verbergen. "Keine hat setzte sich durch. Aber es soll Taproot sein – der beste Weg, um Skripte in einem Hash-Baum zu verstecken.

Ein solcher Hash-Baum ist Teil von Taproot. „Sie haben alle Bedingungen für das Ausgeben von Münzen in einen Hash-Baum gestellt. Sie müssen nur einen offenbaren. Niemand kann sehen, wie viele es gibt. Niemand kann sehen, was die anderen sind. Alles ist großartig. "

Der zweite Teil von Taproot ist das, was Poelstra" Schlüsseltricks "nennt. Bitcoin hat normalerweise Adressen, die an einen einzelnen privaten Schlüssel gebunden sind. Wenn Sie die Münzen an dieser Adresse ausgeben, unterschreiben Sie die Transaktion mit diesem Schlüssel. Der Schlüssel gehört normalerweise einer Person und identifiziert die Person, die Bitcoins ausgeben kann. "Mit Schlüsseln können Sie jedoch noch viel mehr tun." Vieles ist einfacher, wenn Sie Transaktionen mit Schnorr anstelle von ECDSA unterzeichnen. Daher sollte das Taproot-Upgrade auch Schnorr-Signaturen für Bitcoin bringen. Ein Beispiel sind Multisig-Signaturen, d. H. Transaktionen, die von mehreren Absendern signiert werden. Es gibt jedoch nicht mehrere Signaturen in der Blockchain, sondern mehrere Sender arbeiten zusammen, um eine gültige Signatur zu erstellen. Mit ECDSA müssen Sie mehr oder weniger einen Umweg machen und keine echte Signatur, sondern einen Hash der zugehörigen Signaturen bereitstellen. Mit Schnorr ist eine Art "natives" Multisig möglich, so dass eine Multisig-Transaktion genau wie eine normale Transaktion aussieht. Dies macht selbst sehr große Multisig-Transaktionen – bei denen rund 58 von 115 Teilnehmern unterschreiben müssen – genauso klein wie eine normale Transaktion.

Ein weiteres Beispiel ist das Binden eines Schlüssels an einen Daten-Hash. "Wofür ist es gut? Es ist gut für einige Dinge wie Zeitstempel und ähnliches. Wenn ich Daten habe und beweisen möchte, dass ich diese Daten zu einem bestimmten Zeitpunkt hatte, kann ich sie in einem meiner Daten verstecken." öffentliche Schlüssel, die ich sowieso in die Blockchain einfügen wollte. “Mit Taproot können Sie solche Schlüsseltricks mit hoher Privatsphäre und nur wenig Platz in der Blockchain ausführen.

" Dies ist Taproot "

Mit Taproot, Alle diese Arten von intelligenten Verträgen werden in eine normale Transaktion gestempelt: Sie nehmen einen Hash und validieren ihn anhand des Hash-Baums, der sich in einem öffentlichen Schlüssel einer Bitcoin-Adresse befindet. Wenn der Hash gültig ist, können Sie eine Transaktion mit einer einfachen Transaktion zeichnen Unterschrift, unabhängig davon, welche Bedingung erfüllt ist und was es sonst noch gibt. „Niemand sieht, dass es überhaupt andere Bedingungen gibt. Wenn Sie zeichnen, sehen Sie nur eine Bedingung.“ Egal, was Sie tun – eine einfache Transaktion, ein Blitzkanal, ein Vertrauen Transaktion – "Was in der Kette zählt, ist eine einzige Signatur."

Der Vorteil für Poelstra ist dies Offensichtlich: Es ist für alle billiger, als wenn Sie alle Bedingungen explizit in die Blockchain herunterladen. "Es ist auch besser für die Privatsphäre, da Sie nicht verraten, wie die Bedingungen sind, was auch nicht verrät, dass es besondere Bedingungen gibt." Es wird auch nicht offenbart, wie viele Teilnehmer beteiligt sind, wie viele Parteien beteiligt sind und wie die Teilnahme strukturiert ist. Das ist Pfahlwurzel. "


Genialer Text diese Newsschlagzeile kam von
[ENGLISH]