Glossar / Protokoll und Upgrades
MAST
Auch bekannt als Merkelized Alternative Script Tree, Taproot-Skriptbaum.
- Was ist MAST?
- MAST verbirgt jede nicht verwendete Ausgabebedingung hinter einem Merkle-Baum, sodass die Offenlegung eines Zweigs bei einer Ausgabe den Rest privat und außerhalb der Blockchain hält.
Spezifiziert im BIP-341.
Die Idee ist älter als ihre Einführung. Zwei Vorschläge, BIP-114 und BIP-116, beschrieben sie in den Jahren 2016 und 2017, und keiner wurde aktiviert; Taproot brachte sie im Jahr 2021 als den Taptree, bei dem Ausgaben über den Skriptpfad ein Blatt plus einen Nachweis von 32 Bytes pro Ebene offenlegen. Bei einer Wallet mit mehreren Wiederherstellungspfaden erfährt die Chain nur von dem einen, den Sie tatsächlich genommen haben.
Wie es funktioniert
Ein Baum aus Skripten wird zu einem einzigen Hash zusammengefasst, und auf diesen Hash verpflichtet sich die Adresse.
Beginnen Sie mit den gewünschten Bedingungen. Angenommen, es sind vier: Ihr Alltagsschlüssel, ein Familienquorum von zwei von drei, der Schlüssel eines Anwalts nach einem Jahr Inaktivität und ein außer Haus aufbewahrter Notfallschlüssel. Jede Bedingung wird als eigenes kleines Skript geschrieben, und jede wird zu einem Blatt gehasht. Die Blätter werden paarweise zusammengefasst und gehasht, diese Ergebnisse erneut paarweise zusammengefasst und gehasht, und der Vorgang endet bei einer einzigen Wurzel von 32 Bytes.
Beim Ausgeben werden das verwendete Blatt, sein Skript und die Geschwister-Hashes entlang des Pfades von diesem Blatt zurück zur Wurzel offengelegt. Zwei Ebenen Baum bedeuten zwei Geschwister-Hashes, 64 Bytes, und jeder kann die Wurzel neu berechnen und bestätigen, dass sich die Adresse auf das Skript festgelegt hat. Die anderen drei Bedingungen erscheinen nie. Niemand erfährt, dass der Schlüssel eines Anwalts existiert, dass das Familienquorum aus zwei von drei bestand oder dass ein außer Haus aufbewahrter Schlüssel jemals Teil der Vereinbarung war.
Die Kosten wachsen mit dem Logarithmus der Anzahl der Bedingungen, und das macht die Struktur lohnenswert. Ein Baum aus 8 Skripten fügt dem Witness 3 Hashes hinzu, ein Baum aus 128 Skripten fügt 7 hinzu, und BIP-341 erlaubt eine Tiefe von 128 Ebenen, sodass der Kontrollblock, der eine Ausgabe über den Skriptpfad begleitet, höchstens 4.129 Bytes umfasst.
Die Benennung ist ein Durcheinander und war es immer. MAST wird als merkelized alternative script tree und als merkelized abstract syntax tree aufgelöst, je nachdem, wer schreibt; die zweite Form stammt aus BIP-114, wo der Baum Teile eines einzigen Skripts statt einer Menge von Alternativen enthielt. Beide bezeichnen in der Praxis dieselbe Konstruktion.
Wo es auftritt
Jede Taproot-Adresse mit mehr als einer Möglichkeit, sie auszugeben, verwendet MAST, ob die Wallet das Wort benutzt oder nicht.
Wallets für zeitlich gesperrte Erbschaften sind der klarste Fall. Liana etwa lädt eine Adresse auf, deren Taptree einen normalen Ausgabeschlüssel und einen Wiederherstellungszweig enthält, der nach einer festen Wartezeit nutzbar wird, und eine normale Ausgabe veröffentlicht den Wiederherstellungszweig überhaupt nicht. Lightning verwendet dieselbe Form für seine neueren Kanalausgaben und hält den Bestrafungspfad während eines kooperativen Abschlusses verborgen.
Es gibt einen Gebührengesichtspunkt, den Sie kennen sollten, bevor Sie einen bauen. Das Gleichgewicht zählt: Ein Blatt, das Sie voraussichtlich häufig verwenden, sollte nahe der Spitze des Baums liegen, denn jede zusätzliche Ebene fügt dem Witness jeder Ausgabe, die über sie läuft, 32 Bytes hinzu. Wallets, die Sie das Baumlayout festlegen lassen, erledigen das meist für Sie, aber Koordinator-Software, die jede Bedingung in einen flachen, ausgeglichenen Baum wirft, lässt den häufigen Pfad für die seltenen zahlen.
MAST vs. Taproot
MAST ist der Baum; Taproot ist der Baum plus eine Notluke. Ein reines MAST-Design würde jede Ausgabe zwingen, ein Skript offenzulegen, sodass die Chain immer erfahren würde, dass ein Vertrag existierte, selbst wenn sie nichts über die ungenutzten Zweige erführe.
Taproot fügt einen Schlüssel an der Wurzel hinzu. Die Adresse verpflichtet sich auf einen internen öffentlichen Schlüssel, der mit der Merkle-Wurzel getweakt wird, und wenn alle Beteiligten zustimmen, signieren sie mit dem getweakten Schlüssel und veröffentlichen nichts außer einer einzigen Signatur. Diese Ausgabe ist von einer Zahlung einer einzelnen Person nicht zu unterscheiden. Der Baum ist weiterhin da, weiterhin durchsetzbar, und wird einfach nie gezeigt. MAST liefert die Privatsphäre zwischen den Zweigen, und Taproot liefert die Privatsphäre zwischen einem Vertrag und einer gewöhnlichen Zahlung.