Glossar / Lightning und Layer 2
Anchor-Ausgabe
- Was ist Anchor-Ausgabe?
- Anchor-Ausgaben sind die beiden Notausgänge von 330 Satoshi, die an eine Lightning-Commitment-Transaktion angehängt sind, einer mit einem Schlüssel für jeden Partner, damit jede Seite die Gebühr für einen im Voraus signierten Abschluss erhöhen kann.
Anchor-Kanäle geben jedem Partner eine winzige Ausgabe, die zunächst nur er selbst ausgeben kann, allein als Ansatzpunkt für eine spätere Gebührenerhöhung. BOLT 3 legt den Betrag auf 330 Satoshi fest, und nach 16 Blöcken kann jeder ein Anchor, das niemand beansprucht hat, abräumen. Wenn Sie eine Lightning-Wallet betreiben, halten Sie einen zusätzlichen On-Chain-Coin bereit, denn das Anchor kann die Gebühr nicht selbst bezahlen.
So funktioniert es
Eine Anchor-Ausgabe hält 330 Satoshi hinter dem Funding-Schlüssel eines Kanalpartners, und der Grund, warum ein Commitment zwei davon statt eines gemeinsamen Ansatzpunkts trägt, ist ein Angriff.
Das Skript ist kurz: der öffentliche Funding-Schlüssel, OP_CHECKSIG, OP_IFDUP, dann ein OP_NOTIF-Zweig mit OP_16 und OP_CHECKSEQUENCEVERIFY. Ihre eigene Signatur öffnet es sofort. Sechzehn Blöcke, nachdem das Commitment bestätigt wurde, öffnet ein leerer Witness es für jeden, und so verhindert BOLT 3, dass aufgegebenes Wechselgeld dauerhaft in der Menge der aktiven Coins landet. Dieser Weg ist nur dann von Bedeutung, wenn die Gebühren so weit fallen, dass das Abräumen von 330 Satoshi sich lohnt.
Je ein Anchor ist das Design gegen Pinning. Geben Sie beiden Parteien einen einzigen gemeinsamen Ansatzpunkt, kann Ihre Gegenpartei eine große Kindtransaktion mit niedriger Gebühr daranhängen und die Familie der unbestätigten Transaktionen so aufblähen, dass Ihre eigene Gebührenerhöhung preislich außer Reichweite gerät und das Commitment die Frist verfehlt, für die es gesendet wurde. BOLT 3 schreibt eine Änderung von Bitcoin Core 0.19 dem Umstand zu, dass die Verteidigung mit getrennten Anchors funktioniert, und bindet jedes Anchor an einen Funding-Schlüssel. Deshalb trägt jede andere Ausgabe eines solchen Commitments eine Sequenzsperre, to_remote eingeschlossen.
Nichts davon ist kostenlos. Beide Anchor-Beträge kommen aus dem Guthaben des Finanzierers, insgesamt 660 Satoshi, und das Basisgewicht, aus dem eine Commitment-Transaktion berechnet wird, steigt von 724 auf 1124 Gewichtseinheiten. Was der Finanzierer dafür bekommt, sind HTLC-Transaktionen der zweiten Stufe, die überhaupt keine Gebühr tragen: Unter option_anchors muss ihre Gebühr null sein, und sie werden mit SIGHASH_SINGLE plus SIGHASH_ANYONECANPAY signiert, sodass Sie bei der Sendung Ihren eigenen Input anhängen und dann den geltenden Satz bezahlen. BOLT 9 führt es unter den Bits 22 und 23 als Anchor-Commitment-Typ mit gebührenfreien HTLC-Transaktionen auf.
Wo Sie es sehen
Anchor-Ausgaben werden in einem Block-Explorer sichtbar, sobald ein Lightning-Kanal ohne Zusammenarbeit geschlossen wird, als zwei der Ausgaben im Wert von je 330 Satoshi, die wie der Fehler von jemandem aussehen. BOLT 3 lässt eine nur weg, wenn keine HTLCs unterwegs sind und das Guthaben einer Partei unter dem Dust-Limit liegt.
Welche unserer 41 Wallet-Bewertungen Sie damit in Berührung bringt, hängt von der Verwahrung ab. Phoenix, hier mit 4,0 bewertet, betreibt auf dem Smartphone einen echten selbst verwahrten Lightning-Node, und unsere Bewertung hält fest, dass die Wiederherstellung nach einem Force Close etwa 720 Blöcke dauert, das Anchor liegt also in Ihrer Verantwortung. Muun, mit 3,8 bewertet, ist ebenfalls selbst verwahrend, aber seine Lightning-Zahlungen können einen Submarine Swap erfordern, der On-Chain abgerechnet wird. Wallet of Satoshi, mit 2,7 bewertet, ist standardmäßig verwahrend. Eine Ausgabe von 330 Satoshi kann keine Kindtransaktion finanzieren, eine Gebührenerhöhung bedeutet also, das Anchor zusammen mit einem Coin auszugeben, den Sie bereits hatten.
Anchor-Ausgabe vs. Ephemeral Anchor
Eine Anchor-Ausgabe kann in ihren ersten 16 Blöcken von einem bestimmten Funding-Schlüssel ausgegeben werden, während ein Ephemeral Anchor vom ersten Augenblick an schlüssellos ist und keinen Wert hält, der es zu verteidigen lohnt.
Die neueren zero_fee_commitments-Kanäle von BOLT 3, Feature-Bits 40 und 41, ersetzen das Paar durch ein einziges shared_anchor, das auf dem Standard-Skript pay to anchor aufbaut: OP_1 gefolgt von den zwei Bytes 0x4e73, von jedem mit einem leeren Witness ausgegeben. Sein Betrag ist 240 Satoshi, das Standard-Dust-Limit für dieses Skript, und sinkt nur dann darunter, wenn weniger übrig bleibt, was die Ephemeral-Dust-Regel erlaubt, weil das Commitment dann keine Gebühr zahlt. Die beiden beantworten eine Bedrohung von entgegengesetzten Enden: Anchors mit Schlüssel schlagen Pinning, indem sie jeder Seite einen Hebel geben, den niemand sonst ziehen kann, das schlüssellose, indem es das Commitment unminebar lässt, bis jemand die Gebühr anhängt.