130 / 691CSV

CHECKSEQUENCEVERIFY

CSV erzwingt eine relative Sperre für einen bestimmten Eingang. Die Frist hängt an der Bestätigung des ausgegebenen Outputs, nicht an Wallet-Erstellung oder Signaturzeit.

OP_CHECKSEQUENCEVERIFY prüft nach BIP 112 ein Skriptargument gegen nSequence des Eingangs. BIP 68 erzwingt danach das entsprechende Output-Alter; dies sind verknüpfte Prüfungen, keine automatische Zahlung.

CSV begrenzt nSequence des ausgegebenen Eingangs. Es misst das UTXO-Alter nicht selbst; BIP 68 nutzt die Bestätigungshistorie, um zu frühe Aufnahme zu verhindern. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [BIP 68 — Relative lock-time]

Für ein gewöhnliches Argument ohne Abschaltflag verlangt CSV Transaktionsversion mindestens 2 und ein gelöschtes Bit 31 in nSequence. Negatives Argument oder unpassende Sequence führen zum Scheitern. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

Bit 22 unterscheidet Blöcke von Zeit. Ist es gesetzt, entspricht eine Einheit 512 Sekunden; Zeit wird in 512-Sekunden-Schritten kodiert. Argument- und nSequence-Typ müssen übereinstimmen. [BIP 68 — Relative lock-time]

Die unteren 16 Bits kodieren die Frist mit Maske 0x0000ffff. CSV vergleicht diesen Bereich samt Typ, nicht die Reihenfolge ganzer unmaskierter nSequence-Zahlen. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Script interpreter]

Wird ein Output bei H = 900000 bestätigt und beträgt die Frist 10 Blöcke, ist H + 10 = 900010 die früheste Kandidatenhöhe. Neun Blöcke reichen nicht; die Anzahl garantiert keine genauen Minuten. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]

Zeitlicher Start ist Median Time Past des Blocks vor der Output-Bestätigung. Verglichen wird mit MTP vor dem Kandidatenblock; Code 2 bedeutet mindestens 1024 Sekunden zwischen diesen Medianen, nicht lokalen Uhren. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]

Eine Nullfrist fügt keine Wartezeit hinzu, doch die übrigen CSV-Prüfungen bleiben. Setzt das nichtnegative Argument selbst Bit 31, wirkt CSV als NOP; dieses Argument erzwingt keine relative Zeitsperre. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

Jeder Eingang hat eigene Bestätigung und Sequence; alle anwendbaren Transaktionssperren müssen erfüllt sein. Eine Reorganisation kann die Ausgangsbestätigung verschieben, frühere Zulässigkeit ist daher nicht unumkehrbar. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]

CSV lässt das Argument auf dem Stack, oft folgt OP_DROP. Signaturen und andere Zweige bestimmen die Berechtigung; eine Zeitgrenze stellt keinen verlorenen Schlüssel wieder her und schließt keinen früheren Alternativpfad aus. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Developer Reference — Transactions]

BIP 112 führte CSV anstelle von OP_NOP3 zusammen mit BIP 68/113 ein. Nach Ablauf braucht es weiterhin Übermittlung und Bestätigung; Gebühren, Datenverfügbarkeit und Kettenzustand zählen weiterhin. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core 0.12.1 — BIP 68/112/113 release notes]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit CHECKLOCKTIMEVERIFY, Bitcoin-Script-Opcode, Timelock, Bitcoin Script. Auf diesen Eintrag verweisen außerdem Bestätigung, Timelock, Bitcoin-Script-Opcode, CHECKLOCKTIMEVERIFY.

DOC · 001BIP 112 — OP_CHECKSEQUENCEVERIFYSpezifikationDOC · 002BIP 68 — Relative lock-timeSpezifikationDOC · 003Bitcoin Core v29.0 — Script interpreterDokumentationDOC · 004Bitcoin Core v29.0 — Transaction sequence locksDokumentationDOC · 005Bitcoin Developer Reference — TransactionsDokumentationDOC · 006Bitcoin Core 0.12.1 — BIP 68/112/113 release notesDokumentation
Quellenbasiert · Keine Anlageberatung