Witness adalah kolom item tumpukan untuk setiap input. Maknanya mengikuti versi dan syarat output yang dibelanjakan; bukan otomatis skrip yang dapat dieksekusi terpisah.
Setiap input memiliki daftar item sendiri dalam serialisasi witness. Verifikasi tanda tangan memakai pesan yang ditentukan versi skrip terkait; keberadaan data saja tidak membuktikan keabsahan. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]
txid dihitung dari serialisasi asli tanpa witness. wtxid mencakup serialisasi lengkap dengan witness; pada transaksi tanpa witness kedua pengenal sama. [BIP 141 — Segregated Witness]
Witness program adalah syarat berversi dalam output yang dibelanjakan. Witness diberikan transaksi berikutnya yang membelanjakan output itu; bukan kolom yang sama atau cadangan himpunan UTXO. [BIP 141 — Segregated Witness]
SegWit asli versi 0 mewajibkan scriptSig kosong. Pada bentuk terbungkus P2SH, scriptSig mendorong witness program ke tumpukan; bukti pembelanjaan tetap di witness. [BIP 141 — Segregated Witness]
P2WPKH menyediakan tanda tangan dan kunci publik. Pada P2WSH item terakhir adalah witnessScript yang hash-nya harus cocok dengan program; item sebelumnya membentuk tumpukan awal. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]
Setelah annex dihapus jika ada, Taproot membedakan satu item tanda tangan untuk jalur kunci dan jalur skrip dengan skrip serta blok kontrol. Aturan versi 0 tidak dapat diterapkan secara mekanis ke versi 1. [BIP 341 — Taproot]
BIP 141 mengikat witness lewat pohon wtxid dan komitmen coinbase. Coinbase memakai wtxid nol untuk pohon ini; komitmen menggabungkan akar dengan nilai cadangan 32 byte. [BIP 141 — Segregated Witness]
Mengubah witness saja tidak mengubah txid. Pemisahan tidak menjamin semua kolom lain atau semua kombinasi input tidak berubah; bukti yang diubah tetap harus lolos validasi. [BIP 141 — Segregated Witness] [Bitcoin Core — Segregated Witness benefits]
Byte tambahan serialisasi witness menyumbang 1 WU dibanding 4 WU untuk byte dasar. Full Node tetap memerlukannya untuk validasi terkait; ini bukan data gratis di luar rantai. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — Script interpreter]
Witness dapat mengungkap tanda tangan, kunci publik atau cabang skrip yang dipakai secara terbuka. Bukan penyimpanan terenkripsi, bukan tempat menyimpan kunci privat, dan tidak menggantikan Seed Phrase atau cadangan dompet. [BIP 341 — Taproot] [Bitcoin Developer Reference — Transactions]
Untuk gambaran yang lebih utuh, baca entri ini bersama SegWit, Block weight, Bitcoin Script, Taproot. Entri ini juga dirujuk dari Virtual byte (vbyte), Block weight.