Witness حقل من عناصر المكدس لكل مدخل. تحدد معناه نسخة المخرج المنفق وشرطه؛ وليس تلقائيا سكربتا قابلا للتنفيذ منفردا.
لكل مدخل قائمة عناصر خاصة في تسلسل witness. يستخدم التحقق من التوقيع رسالة تحددها نسخة السكربت المعنية؛ ومجرد وجود البيانات لا يثبت الصحة. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]
يحسب txid من التسلسل الأصلي دون witness. يشمل wtxid التسلسل الكامل مع witness؛ ويتساوى المعرفان في معاملة بلا witness. [BIP 141 — Segregated Witness]
Witness program شرط ذو إصدار في المخرج المنفق. يقدم witness في المعاملة اللاحقة التي تنفق المخرج؛ فليس الحقل نفسه ولا نسخة احتياطية لمجموعة UTXO. [BIP 141 — Segregated Witness]
يتطلب SegWit الأصلي بالإصدار 0 حقل scriptSig فارغا. في الشكل المغلف بـ P2SH يدفع scriptSig برنامج witness إلى المكدس؛ وتبقى أدلة الإنفاق في witness. [BIP 141 — Segregated Witness]
يقدم P2WPKH توقيعا ومفتاحا عاما. آخر عنصر في P2WSH هو witnessScript ويجب أن تطابق تجزئته البرنامج؛ وتوفر العناصر السابقة المكدس الابتدائي. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]
بعد إزالة annex إن وجد، يميز Taproot عنصرا توقيعيا واحدا لمسار المفتاح ومسار سكربت يتضمن سكربتا وكتلة تحكم. لا تنقل قواعد الإصدار 0 آليا إلى الإصدار 1. [BIP 341 — Taproot]
يربط BIP 141 بيانات witness بشجرة wtxid والتزام في coinbase. تستخدم coinbase قيمة wtxid صفرية لهذه الشجرة؛ ويجمع الالتزام الجذر مع قيمة محجوزة من 32 بايت. [BIP 141 — Segregated Witness]
تغيير witness وحده لا يغير txid. لكن الفصل لا يضمن ثبات جميع الحقول الأخرى أو كل تركيبات المدخلات؛ ولا يزال على الدليل المعدل اجتياز التحقق. [BIP 141 — Segregated Witness] [Bitcoin Core — Segregated Witness benefits]
تضيف بايتات تسلسل witness وزن 1 WU مقابل 4 WU للبايت الأساسي. ما زال Full Node يحتاجها للتحقق المعني؛ وليست بيانات مجانية خارج السلسلة. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — Script interpreter]
قد يكشف witness علنا توقيعا أو مفتاحا عاما أو فرع السكربت المستخدم. ليس مخزنا مشفرا ولا مخصصا لحفظ المفاتيح الخاصة، ولا يحل محل Seed Phrase أو نسخة المحفظة الاحتياطية. [BIP 341 — Taproot] [Bitcoin Developer Reference — Transactions]
للحصول على صورة أوضح، اقرأ هذا المدخل مع SegWit, Block weight, Bitcoin Script, Taproot. تشير إلى هذا المدخل أيضًا Virtual byte (vbyte), Block weight.