Zum Inhalt springen
buybitcoinsmart

Glossar / Lightning und Layer 2

Ablauf der Rechnung

Was ist der Ablauf der Rechnung?
Der Ablauf der Rechnung ist das Feld x einer BOLT11-Zahlungsanforderung, eine Anzahl von Sekunden ab dem eigenen Zeitstempel der Rechnung, nach der sowohl der Zahler als auch der Zahlungsempfänger sie ablehnen sollten.

Jede Lightning-Rechnung trägt eine Frist, und der Countdown beginnt in dem Moment, in dem die Rechnung signiert wurde, nicht in dem Moment, in dem sie bei Ihnen ankam. Fehlt das Feld x, beträgt der Standardwert 3600 Sekunden, also eine Stunde. Eine Rechnung, die den größten Teil dieser Stunde in einem Chat-Thread lag, kann daher Minuten nach dem Eintreffen bei Ihnen fehlschlagen, ohne sichtbaren Grund.

So funktioniert es

Der Ablauf der Rechnung wird als getaggtes Feld vom Typ 6 übertragen, geschrieben als der Buchstabe x, und enthält einen Big-Endian-Zähler in Sekunden.

Eine BOLT11-Zeichenkette beginnt mit einem 35-Bit-Zeitstempel, der die Sekunden seit dem 1. Januar 1970 UTC zählt, dann folgen die getaggten Felder, dann eine Signatur. Der Ablauf ist eines dieser Felder und er ist relativ: Die Frist ist dieser Zeitstempel plus der Ablauf, sodass nichts in der Rechnung eine lesbare Uhrzeit angibt. BOLT11 weist den Zahler an, keine Zahlung mehr zu versuchen, sobald diese Summe überschritten ist, und weist den Zahlungsempfänger an, ebenfalls keine mehr anzunehmen.

Beide Anweisungen sind ein SHOULD und kein MUST, eine abgelaufene Rechnung ist also nicht kryptografisch tot. Der Zahlungs-Hash funktioniert weiterhin; was die Zahlung stoppt, ist die Richtlinie an beiden Enden und keine Sperre. Ihre Wallet weigert sich, es zu versuchen, und ein Node, der die Preimage verworfen hat, könnte ohnehin nicht abrechnen.

Der Wert wird in Gruppen von fünf Bits gepackt und muss die kürzeste Länge verwenden, in die er passt, ohne führende Nullgruppen. Die Beispiele der Spezifikation zeigen den Bereich: 60 Sekunden belegen zwei Gruppen, geschrieben pu, und 604800 Sekunden belegen vier, geschrieben jw5q. Ein Encoder, der das Feld auffüllt, ist nicht bloß unordentlich: Leser werden angewiesen, eine Rechnung mit einem nicht minimalen Feld x, c oder 9 als ungültig zu behandeln.

Niemand kann eine Rechnung verlängern, nachdem sie ausgestellt wurde. Die Signatur deckt das für Menschen lesbare Präfix und den gesamten Datenteil ab, das Ändern eines einzigen Zeichens des Ablaufs macht sie also ungültig. Ein Händler, der Ihnen mehr Zeit geben möchte, muss eine neue Anforderung ausstellen und erneut signieren.

Der Standardwert von einer Stunde wurde nicht zufällig gewählt: Die Begründung der Spezifikation besagt, dass er Zeit lässt, stattdessen on-chain zu zahlen, über die Fallback-Adresse, die das Feld f tragen kann.

Wo Sie ihn sehen

Der Ablauf der Rechnung zeigt sich als der Countdown-Ring um einen QR-Code, als eine mit expiry beschriftete Zeile in jedem Decoder und als die Ablehnung, die eine Wallet ausgibt, wenn Sie etwas Veraltetes einfügen.

Die Testvektoren der Spezifikation zeigen beide Enden des Bereichs. Eine Rechnung über 2500 Mikro-Bitcoin, beschrieben als 1 Tasse Kaffee, setzt den Ablauf auf 60 Sekunden, weil sie einen Preis von drei Dollar am Tresen fixiert. Eine Rechnung aus dem Blockstream Store über 88,85 USD Waren, darunter ein Ledger Nano S, setzt ihn auf 604800 Sekunden, sieben Tage, weil eine Auftragsbestätigung eine Rechnung und kein Tresen ist.

Wo die Rechnung erstellt wird, entscheidet, wer die Zahl gewählt hat. Phoenix, das diese Website bewertet, betreibt einen echten Lightning-Node auf dem Mobiltelefon statt eines Kontos auf einem Server, der Ablauf in einer Empfangsanforderung ist also die Einstellung des eigenen Nodes. Bei einer verwahrenden App stammt die Zahl vom Betreiber, und eine ihrer Rechnungen zu dekodieren ist meist der einzige Weg, sie zu erfahren.

Ablauf der Rechnung vs. CLTV-Ablaufdelta

Der Ablauf der Rechnung und das CLTV-Ablaufdelta sind beides Uhren bei einer Lightning-Zahlung, und sie laufen in unterschiedlichen Einheiten über unterschiedliche Hälften des Problems.

Der Ablauf der Rechnung wird in Sekunden realer Zeit ab dem Zeitstempel der Rechnung gezählt und entscheidet, ob die Zahlung überhaupt versucht werden darf. Ein CLTV-Ablaufdelta wird in Blöcken gemessen, und das Feld c derselben Rechnung trägt das Minimum des Empfängers für den letzten Sprung, das ein Zahler als mindestens 18 Blöcke behandeln muss, wenn das Feld fehlt. Das eine sagt Ihnen, ob Sie anfangen sollen; das andere sagt Ihnen, wie lange Ihr Geld nach dem Start in einem HTLC gesperrt bleiben kann.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Kann eine abgelaufene Lightning-Rechnung noch bezahlt werden?

Manchmal, weil BOLT11 für beide Seiten nach der Frist ein SHOULD und kein MUST vorsieht. Nichts Kryptografisches blockiert eine verspätete Zahlung, ein empfangender Node, der die Preimage noch hält, kann sie also abrechnen, wenn seine Richtlinie es zulässt. Eine Wallet, die der Spezifikation folgt, wird es nicht versuchen, behandeln Sie eine abgelaufene Rechnung also als tot.

Kann ich den Ablauf einer Rechnung verlängern, die ich bereits gesendet habe?

Nein, weil der Ablauf in dem Teil der Rechnung steht, den die Signatur abdeckt. Das Ändern eines einzigen Zeichens macht sie ungültig. Erstellen Sie stattdessen eine neue Rechnung, frisch signiert, und verwerfen Sie die alte.

Läuft eine Lightning-Rechnung ohne Ablauffeld nie ab?

Nein, sie läuft nach 3600 Sekunden ab. BOLT11 macht das Feld x optional und definiert den Standardwert als eine Stunde, eine Rechnung, die nichts über den Ablauf sagt, ist also eine Rechnung über eine Stunde und keine dauerhafte.

Weiterlesen

Quellen

Zuletzt geprüft am 6. September 2026.

Verwandte Begriffe

Mehr zum Thema Lightning und Layer 2

Diese Seite auf Englisch lesen