128 / 691OP

Bitcoin-Script-Opcode

Ein Opcode ist eine Bitcoin-Script-Anweisung. Bei der Ausgabenprüfung bearbeitet er den Stack oder prüft eine Bedingung; seine Bedeutung hängt auch von der Skriptversion ab.

Ein Opcode ist ein Anweisungsbyte, kein privater Schlüssel und keine eigenständige Transaktion. Eine gültige Ausgabe erfordert den vollständigen Skript- und Transaktionskontext, nicht bloß einen Operationsnamen.

Script wird in Anweisungen und Datenelemente dekodiert. OP_PUSHDATA legt das Einfügen von Bytes fest; Bytes innerhalb eingefügter Daten werden nicht als weitere Opcodes interpretiert. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]

OP_DUP dupliziert die Stack-Spitze, OP_DROP entfernt sie. Ein fehlendes Argument kann zum Scheitern führen; Reihenfolge und Kodierung gehören zur Bedingung. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

OP_EQUAL vergleicht zwei Elemente und legt das Ergebnis ab. OP_EQUALVERIFY scheitert bei Ungleichheit und entfernt bei Gleichheit das Ergebnis; beide prüfen allein keine Schlüsselkontrolle. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]

OP_CHECKSIG prüft eine Signatur gegen öffentlichen Schlüssel und transaktionsabhängige Nachricht. Legacy und SegWit v0 nutzen ECDSA, übliche 32-Byte-Schlüssel in Tapscript Schnorr. Auch sighash bestimmt den gebundenen Umfang. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]

OP_IF und OP_ELSE wählen anhand des Stacks einen Zweig. Script hat keine allgemeinen Schleifen; Regeln nicht ausgeführter Zweige hängen dennoch von Opcode und Skriptversion ab. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]

OP_CHECKLOCKTIMEVERIFY prüft eine absolute Sperre, OP_CHECKSEQUENCEVERIFY eine relative Bedingung des jeweiligen Eingangs. Sie warten nicht, senden keine Zahlung und ersetzen keine Signaturbedingung. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

Tapscript ändert Signaturregeln, ergänzt OP_CHECKSIGADD und lehnt OP_CHECKMULTISIG bei Ausführung ab. Eine Anweisungsliste ohne Version ist daher keine vollständige Validierungsanleitung. [BIP 342 — Validation of Taproot Scripts]

BIP 342 reserviert OP_SUCCESSx für Erweiterungen: Wird beim Dekodieren von Tapscript ein solcher Code gefunden, ermöglichen diese Regeln Erfolg. Das aktiviert keinen neuen Vorschlag und erzwingt nicht sicher dessen beabsichtigte Bedingung. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core — Segregated Witness benefits]

Netzwerkpolitik kann die Weiterleitung einer nach Konsens im Block zulässigen Transaktion verweigern. Bitcoin Core v29.0 missbilligt OP_SUCCESSx standardmäßig; Knotenpolitik ist keine neue Konsensregel. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core v29.0 — Standard script flags]

Bestimmen Sie beim Lesen Version, Anfangsstack, Signaturnachricht und alle Fehlerpfade. Gültige Syntax oder ein ansprechender Opcode-Name garantieren keine korrekte Verwahrung; die gesamte Verwendung zählt. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Bitcoin Script, CHECKLOCKTIMEVERIFY, CHECKSEQUENCEVERIFY, Taproot.

DOC · 001Bitcoin Core v29.0 — Script interpreterDokumentationDOC · 002Bitcoin Core v29.0 — Opcode definitionsDokumentationDOC · 003BIP 342 — Validation of Taproot ScriptsSpezifikationDOC · 004Bitcoin Developer Guide — TransactionsDokumentationDOC · 005Bitcoin Core v29.0 — Standard script flagsDokumentationDOC · 006Bitcoin Core — Segregated Witness benefitsDokumentation
Quellenbasiert · Keine Anlageberatung