Opcode adalah byte instruksi, bukan kunci privat atau transaksi mandiri. Pembelanjaan berhasil memerlukan seluruh konteks skrip dan transaksi yang valid, bukan hanya nama operasi.
Script diurai menjadi instruksi dan data. OP_PUSHDATA menentukan pendorongan byte; byte di dalam data yang didorong tidak ditafsir ulang sebagai opcode lain. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]
OP_DUP menggandakan puncak tumpukan, OP_DROP menghapusnya. Argumen yang hilang dapat menyebabkan kegagalan; urutan dan pengodean item termasuk syaratnya. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]
OP_EQUAL membandingkan dua item dan mendorong hasil. OP_EQUALVERIFY gagal jika berbeda dan menghapus hasil jika sama; keduanya sendiri tidak memverifikasi kendali kunci. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]
OP_CHECKSIG memeriksa tanda tangan terhadap kunci publik dan pesan dari transaksi. Legacy dan SegWit v0 memakai ECDSA, kunci Tapscript biasa berukuran 32 byte memakai Schnorr. sighash juga menentukan cakupan komitmen. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]
OP_IF dan OP_ELSE memilih cabang berdasarkan tumpukan. Script tidak memiliki perulangan umum; aturan cabang yang tidak dijalankan tetap bergantung pada opcode dan versi skrip. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]
OP_CHECKLOCKTIMEVERIFY memeriksa kunci absolut, OP_CHECKSEQUENCEVERIFY syarat relatif input terkait. Keduanya tidak menunggu, mengirim pembayaran atau menggantikan syarat tanda tangan. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]
Tapscript mengubah aturan tanda tangan, menambah OP_CHECKSIGADD dan menolak OP_CHECKMULTISIG saat dijalankan. Daftar tanpa versi bukan panduan validasi lengkap. [BIP 342 — Validation of Taproot Scripts]
BIP 342 mencadangkan OP_SUCCESSx untuk perluasan: menjumpainya saat mengurai Tapscript mengizinkan keberhasilan menurut aturan itu. Ini tidak mengaktifkan usulan operasi atau menjamin syarat yang dimaksud ditegakkan aman. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core — Segregated Witness benefits]
Kebijakan jaringan dapat menolak meneruskan transaksi yang konsensus izinkan dalam blok. Bitcoin Core v29.0 secara bawaan tidak menganjurkan OP_SUCCESSx; kebijakan node bukan aturan konsensus baru. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core v29.0 — Standard script flags]
Saat membaca skrip, tentukan versi, tumpukan awal, pesan tanda tangan dan semua jalur kegagalan. Sintaks valid atau nama opcode menarik tidak menjamin penyimpanan benar; keseluruhan penggunaan penting. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]
Untuk gambaran yang lebih utuh, baca entri ini bersama Bitcoin Script, CHECKLOCKTIMEVERIFY, CHECKSEQUENCEVERIFY, Taproot.