128 / 691OP

Bitcoin Script opcode

Opcode to instrukcja Bitcoin Script. Podczas weryfikacji wydania zmienia stos lub sprawdza warunek; znaczenie zależy również od wersji skryptu.

Opcode to bajt instrukcji, nie klucz prywatny ani osobna transakcja. Poprawne wydanie wymaga pełnego prawidłowego kontekstu skryptu i transakcji, nie samej nazwy operacji.

Script dekoduje się na instrukcje i dane. OP_PUSHDATA określa wstawienie bajtów; bajtów wewnątrz wstawionych danych nie interpretuje się ponownie jako opcodes. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]

OP_DUP powiela szczyt stosu, OP_DROP go usuwa. Brak argumentu może spowodować błąd; kolejność i kodowanie elementów są częścią warunku. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

OP_EQUAL porównuje dwa elementy i wstawia wynik. OP_EQUALVERIFY zawodzi przy nierówności, a przy równości usuwa wynik; żadna operacja sama nie sprawdza kontroli klucza. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]

OP_CHECKSIG sprawdza podpis względem klucza publicznego i komunikatu z transakcji. Legacy i SegWit v0 używają ECDSA, zwykłe 32-bajtowe klucze Tapscript używają Schnorr. sighash także określa zakres zobowiązania. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]

OP_IF i OP_ELSE wybierają gałąź według stosu. Script nie ma ogólnych pętli; reguły niewykonanych gałęzi nadal zależą od opcode i wersji skryptu. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]

OP_CHECKLOCKTIMEVERIFY sprawdza blokadę bezwzględną, OP_CHECKSEQUENCEVERIFY warunek względny danego wejścia. Nie czekają, nie wysyłają płatności i nie zastępują warunku podpisu. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

Tapscript zmienia reguły podpisu, dodaje OP_CHECKSIGADD i odrzuca OP_CHECKMULTISIG przy wykonaniu. Lista bez wersji nie jest pełnym przewodnikiem walidacji. [BIP 342 — Validation of Taproot Scripts]

BIP 342 rezerwuje OP_SUCCESSx na rozszerzenia: ich napotkanie przy dekodowaniu Tapscript pozwala na sukces według tych reguł. Nie oznacza aktywacji propozycji operacji ani bezpiecznego wymuszania zamierzonego warunku. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core — Segregated Witness benefits]

Polityka sieci może odmówić przekazania transakcji dopuszczalnej w bloku według konsensusu. Bitcoin Core v29.0 domyślnie zniechęca do OP_SUCCESSx; polityka węzła nie jest nową regułą konsensusu. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core v29.0 — Standard script flags]

Czytając skrypt, ustal wersję, stos początkowy, podpisywany komunikat i wszystkie ścieżki błędu. Poprawna składnia czy atrakcyjna nazwa opcode nie gwarantuje właściwego przechowywania; liczy się całe użycie. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Bitcoin Script, CHECKLOCKTIMEVERIFY, CHECKSEQUENCEVERIFY, Taproot.

DOC · 001Bitcoin Core v29.0 — Script interpreterDokumentacja ↗DOC · 002Bitcoin Core v29.0 — Opcode definitionsDokumentacja ↗DOC · 003BIP 342 — Validation of Taproot ScriptsSpecyfikacja ↗DOC · 004Bitcoin Developer Guide — TransactionsDokumentacja ↗DOC · 005Bitcoin Core v29.0 — Standard script flagsDokumentacja ↗DOC · 006Bitcoin Core — Segregated Witness benefitsDokumentacja ↗
Najpierw źródła · To nie jest porada inwestycyjna