Zum Inhalt springen
buybitcoinsmart

Glossar / Protokoll und Upgrades

Ephemerales Anker-Output

Was ist ein ephemerales Anker-Output?
Ein ephemerales Anker-Output ist ein Output mit dem Wert null, das einer Transaktion allein dazu hinzugefügt wird, dass jemand eine gebührenzahlende Kindtransaktion anhängen und die Parent-Transaktion in einen Block ziehen kann.

Spezifiziert im BIP-431.

Vertragsprotokolle wie Lightning müssen Transaktionen signieren, lange bevor irgendjemand weiß, wie hoch die Gebühren sein werden, also brauchen sie eine Möglichkeit, die Gebühr später aufzustocken. Bitcoin Core 28.0 machte ein vier Byte großes Skript, das jeder ausgeben kann, genau für diese Aufgabe zum Standard, und 29.0 erlaubte es, dass ein solches Output gar nichts enthält, sofern seine Parent-Transaktion keine Gebühr zahlt. Der Nutzen sind Kanal-Schließungen, die weniger kosten und weniger Werte festsitzen lassen.

Wie es funktioniert

Ein ephemerales Anker-Output löst ein Zeitplanproblem: Eine vorsignierte Transaktion trägt eine Gebührenrate, die Monate vor der Übertragung gewählt wurde, und bis sie gebraucht wird, hat sich der Markt bewegt.

Der ältere Behelf gab der Transaktion ein kleines ausgebbares Output und ließ jeden, der es brauchte, eine Kindtransaktion übertragen, die für beide zahlt. Die Anchor-Kanäle von Lightning tun dies mit zwei Outputs von 330 Satoshis, eines je Partei. Es funktioniert, aber dieses Geld ist in jede Commitment-Transaktion eingebunden, und danach liegen die Outputs im Bestand der aktiven Coins, ob jemand sie einsammelt oder nicht.

Pay-to-Anchor beseitigte den größten Teil dieser Kosten. Bitcoin Core 28.0 erkannte ein neues Standard-Output an, dessen Skript genau vier Byte umfasst: OP_1, ein Zwei-Byte-Push und die Bytes 0x4e 0x73. Das ist ein SegWit-Programm der Version 1 mit Länge zwei, und weil Taproot unbekannte Programme der Version 1 ohne Einschränkung lässt, kann jeder es mit einem leeren Witness ausgeben. Kein Schlüssel, kein Skript zum Offenlegen und ein Input, der klein genug ist, um fast nichts wert zu sein.

Die Dust-Regel wirkte zunächst trotzdem. Bitcoin Core bewertet ein Output danach, was das Ausgeben kosten würde, und für dieses ergibt das 80 virtuelle Bytes, was bei der Standard-Dust-Rate von 3 Satoshis pro virtuellem Byte bedeutet, dass es mindestens 240 Satoshis enthalten muss. Besser als 330, aber noch nicht kostenlos.

Bitcoin Core 29.0 schloss die Lücke mit Ephemeral Dust: Eine Transaktion darf ein einzelnes Output unterhalb der Dust-Schwelle tragen, einschließlich eines mit dem Wert null, solange die Transaktion selbst genau null Gebühr zahlt. Die Nullgebühr ist der Kniff. Eine Parent-Transaktion, die nichts zahlt, kann niemals allein gemint werden, also ist gewährleistet, dass das Anker-Output nie zwischen den aktiven Coins festsitzt. Es existiert nur innerhalb eines Pakets zusammen mit der Kindtransaktion, die es ausgibt, und daher stammt der Name.

Zwei weitere Teile aus Bitcoin Core 28.0 machen die Anordnung nutzbar. TRUC-Transaktionen, spezifiziert in BIP431 und signalisiert durch Version 3, erlauben eine unbestätigte Parent-Transaktion und eine unbestätigte Kindtransaktion und begrenzen die Transaktion auf 10.000 virtuelle Bytes, was die Pinning-Angriffe beseitigt, die das Erhöhen der Gebühr unzuverlässig machten. Die opportunistische Paketweiterleitung lässt dann eine Parent-Transaktion zusammen mit ihrer Kindtransaktion als Paar reisen, sodass eine Parent-Transaktion mit null Gebühr überhaupt einen Miner erreichen kann.

Wo es auftritt

Ephemerale Anker-Outputs erscheinen bei Lightning-Kanal-Schließungen und in neueren Vertragsprotokollen, die auf vorsignierten Transaktionen aufbauen, niemals bei gewöhnlichen Zahlungen.

In einem Explorer sehen sie auf den ersten Blick falsch aus: ein Output mit dem Wert null, ausgegeben in der unmittelbar nächsten Transaktion durch einen Input mit leerem Witness. Wenn Sie einen Lightning-Node betreiben, ist der Effekt, dass eine erzwungene Schließung kein reserviertes Dust in jedem Commitment mehr benötigt und dass das Aufstocken einer feststeckenden Schließung weit wahrscheinlicher funktioniert, wenn Sie es brauchen. Wenn Sie Bitcoin nur On-Chain halten, werden Sie nie eines erstellen, und der Vorteil erreicht Sie dadurch, dass Lightning günstiger zu nutzen ist.

Ephemerales Anker-Output vs. Staubgrenze

Die Staubgrenze existiert, um zu verhindern, dass sich der Bestand der aktiven Coins mit Outputs füllt, die zu klein sind, als dass sich das Ausgeben lohnen würde, und ein ephemerales Anker-Output ist der einzige Fall, in dem ein Verstoß gegen diese Regel nachweislich sicher ist. Ein gewöhnliches Dust-Output kann für immer unausgegeben liegen bleiben und jedem Node auf der Welt ein wenig Speicher für einen Bruchteil eines Cents kosten. Ein ephemerales Anker-Output kann das nicht: Seine Parent-Transaktion zahlt keine Gebühr, also nimmt kein Miner die Parent-Transaktion an, es sei denn, die Kindtransaktion, die das Anker-Output ausgibt, kommt mit ihr. Die Ausnahme ist keine Abschwächung des Prinzips. Sie ist der Nachweis, dass das Prinzip nicht gilt.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Werden Sie jemals selbst ein ephemerales Anker-Output erstellen?

Nicht über eine gewöhnliche Wallet. Anker-Outputs werden von Vertragsprotokollen wie Lightning erstellt, die Transaktionen vorsignieren und die Gebühr danach anpassen müssen. On-Chain-Ersparnisse und Auszahlungen von Börsen nutzen sie nie.

Warum ist ein Output mit dem Wert null erlaubt, wenn Dust-Outputs abgelehnt werden?

Weil es nicht bestehen kann. Die Regel erlaubt es nur, wenn die Transaktion null Gebühr zahlt, was bedeutet, dass kein Miner die Parent-Transaktion bestätigt, es sei denn, eine Kindtransaktion, die das Anker-Output ausgibt, wird zusammen mit ihr eingereicht; so bleibt das Output nie im Bestand der aktiven Coins liegen.

Verwandte Begriffe

Mehr zum Thema Protokoll und Upgrades

Diese Seite auf Englisch lesen