ساختار و قواعد تراکنش
فصلهای کتاب · ۹۶ پرسش
کلید، seed و عبارت بازیابی همهٔ مثالهای منتشرشده عمومیاند؛ هرگز برای پول واقعی استفاده نشوند. این مجموعه و کدهایش پیادهسازی تولیدی کیف پول یا مرجع مستقل اجماع نیستند.
چرا قالب بایتبهبایت تراکنش بخشی از امنیت است؟
تراکنش بهعنوان داده قابل اعتبارسنجی
نودها باید از داده یکسان، تفسیر و هش یکسان به دست آورند. اختلاف در طول، ترتیب بایت یا مرز یک عدد میتواند باعث اختلاف درباره شناسه یا اعتبار شود؛ تراکنش فقط یک فرم نمایشی با فیلدهای آزاد نیست.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:2–30
آیا تراکنش خام شامل نام فرستنده و گیرنده است؟
تراکنش بهعنوان داده قابل اعتبارسنجی
خیر. ورودیها به خروجیهای قبلی اشاره میکنند و خروجیها مقدار و شرط خرج دارند. نسبتدادن این دادهها به اشخاص از اطلاعات خارج از پروتکل یا تحلیل حاصل میشود.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:2–30
چرا برای اعتبارسنجی تراکنش، داده همان تراکنش کافی نیست؟
تراکنش بهعنوان داده قابل اعتبارسنجی
باید خروجیهای قبلی، خرجنشدهبودن آنها و زمینه بلاک مانند ارتفاع و زمان مرجع بررسی شود. امضا و ساختار صحیح بدون این زمینه نمیتواند نبود دوبارخرج، مقدار واقعی ورودی یا بلوغ قفلها را ثابت کند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:2–30
ترتیب کلی فیلدهای یک تراکنش شاهددار چیست؟
سریالسازی و ترتیب بایت
نسخه، marker و flag، فهرست ورودیها، فهرست خروجیها، شاهد هر ورودی و nLockTime قرار میگیرند. هر فهرست یا داده متغیر قواعد طول خود را دارد؛ قالب ثابت و طولها برای تجزیه بدون ابهام لازماند.

تصویر 0601نقشهٔ بایتهای یک تراکنش چینش نمونه برای خواندن serialization است؛ فرمت پایه و فرمت دارای witness باید از هم تفکیک شوند.
Mastering Bitcoin, third edition; Andreas M. Antonopoulos and David A. Harding. Original image, unchanged.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:31–89
little-endian چه معنایی در خواندن فیلدهای تراکنش دارد؟
سریالسازی و ترتیب بایت
بایت کمارزشتر زودتر میآید؛ مثلاً عدد
0x12345678در یک فیلد چهاربایتی به شکل78 56 34 12نوشته میشود. این قاعده را نباید بدون بررسی به همه دادههای رمزنگاری یا قالبهای کیف پول تعمیم داد.پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:31–89
چرا نمایش txid در ابزارها با بایتهای outpoint ظاهراً برعکس است؟
سریالسازی و ترتیب بایت
نمایش متعارف شناسه و ترتیب ذخیره بایتهای آن در قالب تراکنش متفاوتاند. هنگام ساخت outpoint باید قرارداد قالب رعایت شود؛ معکوسکردن دوباره یا فراموشکردن این تبدیل، ارجاع را به شناسه دیگری تبدیل میکند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:31–89
آیا اضافهکردن صفر یا تغییر نمایش هگز، تراکنش را حفظ میکند؟
سریالسازی و ترتیب بایت
تغییر صرف حروف بزرگ و کوچک هگز، اگر همان بایتها رمزگشایی شوند، داده را عوض نمیکند؛ اما افزودن یا حذف بایت صفر میتواند قالب، مقدار و هش را تغییر دهد. رشته نمایشی را باید از بایتهای واقعی تفکیک کرد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:31–89
فیلد version تراکنش چه نقشی دارد؟
فیلد نسخه
عدد چهاربایتی نسخه، زمینه تفسیر بعضی قابلیتها مانند قفل نسبی را تعیین میکند. نسخه تراکنش با نسخه شبکه یا نوع آدرس یکسان نیست؛ مقدار آن بهتنهایی همه شرایط اعتبار را مشخص نمیکند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:90–149
چرا نسخه ۲ برای قفل نسبی مهم است؟
فیلد نسخه
قواعد BIP68 برای تراکنشهایی با نسخه حداقل ۲، در صورت فعالبودن بیتهای لازم nSequence، معنای قفل نسبی را اعمال میکنند. پایینبودن نسخه را نمیتوان بدون بررسی اسکریپت و سیاست، راه سازگار دیگری برای همان قرارداد دانست.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:90–149
آیا نسخه ۳ تراکنش، یک قانون اجماع تازه برای همه تراکنشهاست؟
فیلد نسخه
در Bitcoin Core 28.0، نسخه ۳ در سیاست TRUC نقش دارد و با محدودیتهای ویژه تراکنشهای تأییدنشده استاندارد شناخته میشود. این را باید از معنای اجماعی BIP68 و از ممنوعیت سراسری سایر نسخهها تفکیک کرد.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:90–149
چرا فهرست نسخههای استاندارد با فهرست نسخههای قابل اعتبارسنجی یکسان نیست؟
فیلد نسخه
استانداردبودن تصمیم رله و ممپول است، ولی اعتبار بلاک با قواعد اجماع سنجیده میشود. نرمافزار میتواند بعضی نسخهها را منتشر نکند بدون آنکه همه تراکنشهای آن نسخه از نظر اجماع نامعتبر باشند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:90–149
چرا قالب شاهد marker صفر دارد؟
marker و flag
این علامت کمک میکند decoder قالب گسترشیافته را از سریالسازی قدیمی تشخیص دهد. پس از آن flag قابلیت گسترش را مشخص میکند؛ برای قالب شاهد تعریفشده، flag برابر
01است.منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:150–175
آیا میتوان marker و flag را به هر تراکنش بدون شاهد افزود؟
marker و flag
خیر. قالب گسترشیافته باید طبق قواعد مربوط به داده شاهد استفاده شود؛ نمایش اضافی بیمورد نباید بهعنوان شکل آزاد و همارز پذیرفته شود. قالبهای مبهم یا غیرمتعارف میتوانند شناسه و تجزیه را مختل کنند.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:150–175
هر ورودی عادی چه فیلدهایی دارد؟
ساختار ورودی
outpoint، طول و محتوای scriptSig و nSequence دارد. مقدار خروجی قبلی در این بخش نوشته نمیشود و شاهد نیز در بخش جداگانه میآید؛ باید فیلدهای ثابت و دادههای متغیر جدا خوانده شوند.

تصویر 0602نقشهٔ بایتهای یک ورودی outpoint به خروجی قبلی اشاره میکند؛ ورودی مبلغ خود را بهعنوان مرجع مستقل دوباره تعریف نمیکند.
Mastering Bitcoin, third edition; Andreas M. Antonopoulos and David A. Harding. Original image, unchanged.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:176–184
آیا دو ورودی یک تراکنش میتوانند همان outpoint را مصرف کنند؟
ساختار ورودی
خیر. مصرف تکراری همان خروجی در یک تراکنش نامعتبر است. تعداد امضاها یا زیادبودن جمع ظاهری ورودیها این دوبارهشماری ارزش را مجاز نمیکند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:176–184
CompactSize چه مسئلهای را حل میکند؟
CompactSize
طول فهرستها و رشتههای بایت را با قالب کوتاه برای عددهای کوچک و قالب بزرگتر برای عددهای بزرگ کد میکند. decoder از بایت نخست میفهمد چند بایت بعدی متعلق به عدد است.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:185–265
مرزهای اصلی CompactSize چیست؟
CompactSize
عددهای صفر تا ۲۵۲ یک بایتاند؛
fdبهدنبال دو بایت،feبهدنبال چهار بایت وffبهدنبال هشت بایت مقدار little-endian میآیند. استفاده از قالب بلندتر برای عددی که باید کوتاه باشد، کدگذاری متعارف نیست.پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:185–265
عدد ۲۵۳ در CompactSize چگونه نوشته میشود؟
CompactSize
به شکل
fd fd 00است: بایت اول نوع قالب و دو بایت بعد مقدار little-endian را نشان میدهند. خود عدد ۲۵۲ فقطfcاست؛ بایتهایfdتاffدر جایگاه اول نقش نشانگر دارند.پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:185–265
چرا decoder باید canonical بودن CompactSize را بررسی کند؟
CompactSize
بدون آن، یک عدد میتواند چند نمایش باینری داشته باشد و قواعد تجزیه یا هشگیری دچار ابهام شوند. کمینهبودن کدگذاری بخشی از خواندن صحیح قالب است، نه صرفاً بهینهسازی اندازه.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:185–265
آیا CompactSize همان varint داخلی هر پایگاه داده بیتکوین است؟
CompactSize
خیر. واژه varint کلی است و قالبهای متفاوتی برای اعداد با طول متغیر وجود دارد. باید الگوریتم مربوط به همان فیلد را به کار برد؛ جایگزینی یک کدگذاری همنام میتواند داده را خراب کند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:185–265
آیا قابلیت کدکردن عدد بزرگ به معنی مجازبودن فهرستی به همان بزرگی است؟
CompactSize
خیر. محدودیت وزن، منابع، تعداد عناصر قابل پردازش و قواعد اعتبار همچنان برقرارند. decoder نباید صرف دیدن طول بزرگ، حافظه نامحدود تخصیص دهد؛ ظرفیت نمایش با ظرفیت مجاز پروتکل فرق دارد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:185–265
outpoint چند بایت است و چه اجزایی دارد؟
outpoint
۳۲ بایت شناسه تراکنش قبلی و چهار بایت شاخص خروجی دارد؛ در مجموع ۳۶ بایت. این ساختار یک خروجی مشخص را نام میبرد، نه همه خروجیهای آن تراکنش یا موجودی یک آدرس را.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:266–379
چرا شماره vout از صفر شروع میشود؟
outpoint
شاخص موقعیت در فهرست خروجیهاست و نخستین خروجی شماره صفر دارد. اشتباه یکواحدی میتواند به خروجی دیگری اشاره کند یا شاخص خارج از محدوده بسازد؛ مقدار و شرط آن خروجی نیز ممکن است کاملاً متفاوت باشد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:266–379
آیا وجود txid معتبر کافی است تا ورودی معتبر باشد؟
outpoint
خیر. شاخص باید موجود باشد، خروجی در زمینه معتبر خرجنشده باشد، مقدار و شرایطش شناخته شوند و مجوز و محدودیتهای زمانی برآورده شوند. شناسه صحیح فقط یک بخش از ارجاع است.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:266–379
چرا outpoint به wtxid ارجاع نمیدهد؟
outpoint
شناسه مرجع خرج، txid است که در قالب Segwit داده شاهد را شامل نمیشود. این جداسازی به ساخت وابستگی تراکنشها بدون وابستگی به تغییرات مجاز شاهد کمک میکند؛ wtxid برای شناسایی نسخه کامل داده نقش دیگری دارد.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:266–379
scriptSig چه نقشی در خرج قدیمی دارد؟
scriptSig
دادهای برای برآوردهکردن شرط خروجی قبلی فراهم میکند؛ مثلاً امضا و کلید عمومی در P2PKH. این نام به معنی وجود فقط یک امضا نیست و بسته به نوع خروجی، محتوا و قواعد اجرای آن فرق میکند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:380–403
چرا scriptSig در خرج شاهد بومی خالی است؟
scriptSig
داده مجوز در بخش شاهد قرار میگیرد و قواعد شاهد بومی خالیبودن دقیق scriptSig را لازم میدانند. افزودن داده دلخواه به آن، حتی با شاهد صحیح، تراکنش را با آن قواعد ناسازگار میکند.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:380–403
در خرج Segwit تودرتو، scriptSig چه دارد؟
scriptSig
باید پوشش مشخص برنامه شاهد را بهصورت redeemScript ارائه کند؛ داده اصلی مجوز همچنان در شاهد است. این ساختار با شاهد بومی متفاوت است و سربار بیشتری دارد، هرچند هر دو از قواعد شاهد استفاده میکنند.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:380–403
nSequence یک شماره شمارش پرداختهای کاربر است؟
nSequence
خیر. فیلدی برای هر ورودی است که در زمینههای مختلف به نهاییبودن زمانی، علامت جایگزینی یا قفل نسبی مربوط میشود. آن را نباید nonce حساب یا شمارنده سراسری کیف پول دانست.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:404–409
چرا برای فهم nSequence باید بیتها را جدا بررسی کرد؟
nSequence
بعضی بیتها معنا را فعال یا غیرفعال میکنند و فقط بخش معینی مقدار قفل نسبی را حمل میکند. مقایسه ساده بزرگی دو عدد، تمام رفتار این فیلد را توضیح نمیدهد.

تصویر 0603بیتهای nSequence در BIP68 منبع اصلی تصویر BIP68 است. فعالبودن قفل نسبی به زمینه و بیت غیرفعالسازی نیز وابسته است؛ واحد زمانی ۵۱۲ ثانیه است.
Mastering Bitcoin, third edition; Andreas M. Antonopoulos and David A. Harding. Original image, unchanged. Source credit in the book: BIP68.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:404–409
چرا «شماره sequence بالاتر باید برنده شود» قرارداد کافی نبود؟
جایگزینی تاریخی بر اساس sequence
نود و استخراجکننده الزام اجماعی برای ترجیح نسخه بالاتر نداشتند و ممکن بود نسخه سودآورتر یا زودتر دیدهشده را انتخاب کنند. سیاست محلی نمیتوانست بدون انگیزه و قواعد مناسب، تسویه آخرین وضعیت را تضمین کند.
اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:410–502
چرا انتشار مکرر نسخههای تراکنش میتواند حمله محرومسازی از خدمت بسازد؟
جایگزینی تاریخی بر اساس sequence
هر نسخه پهنای باند، حافظه و پردازش مصرف میکند، درحالیکه شاید فقط یکی کارمزد بپردازد. سیاست جایگزینی باید هزینه و محدودیت داشته باشد تا تغییر رایگانِ نامحدود به ابزار فرسودن منابع تبدیل نشود.
اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:410–502
هزار تراکنش ۲۰۰بایتی چقدر داده خام دارند؟
جایگزینی تاریخی بر اساس sequence
حاصل
1000 × 200 = 200000بایت، یعنی ۲۰۰ کیلوبایت دهدهی است، نه ۲۰ کیلوبایت. این عدد سربار پیام شبکه و پردازش را شامل نمیشود؛ تصحیح واحد برای فهم هزینه حمله ضروری است.اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:410–502
در BIP125 چه مقدار sequence علامت جایگزینی اختیاری میدهد؟
علامت opt-in RBF
اگر دستکم یک ورودی مقدار کمتر از
0xfffffffeداشته باشد، علامتگذاری مستقیم opt-in انجام شده است. این فقط بخشی از سیاست BIP125 است؛ قواعد کامل جایگزینی و رفتار نسخههای جدید باید جدا بررسی شوند.اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:503–528
آیا نبود علامت RBF یعنی تراکنش تأییدنشده غیرقابل جایگزینی است؟
علامت opt-in RBF
خیر. تعارض زنجیرهای همچنان ممکن است و نودهای دارای سیاست full-RBF به این علامت وابسته نیستند. Bitcoin Core از نسخه 28.0 full-RBF را پیشفرض کرد و در 29.0 گزینه خاموشکردن آن حذف شد.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:503–528
آیا زیادکردن nSequence بهتنهایی کارمزد را بالا میبرد؟
علامت opt-in RBF
خیر. کارمزد از اختلاف مجموع ورودی و خروجی میآید. تغییر sequence ممکن است رفتار زمانی یا سیاستی را عوض کند، اما برای افزایش کارمزد باید اقتصاد تراکنش و امضاهای مربوط نیز تغییر کند.
اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:503–528
چه زمانی nSequence قفل نسبی ایجاد میکند؟
قفل نسبی اجماعی
در تراکنش نسخه حداقل ۲، وقتی بیت ۳۱ آن صفر باشد، قواعد BIP68 اعمال میشوند. بیت ۲۲ نوع زمان یا ارتفاع را مشخص میکند و شانزده بیت پایین مقدار را میدهند.
اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
بیت غیرفعالسازی قفل نسبی چه میکند؟
قفل نسبی اجماعی
اگر بیت ۳۱ set باشد، BIP68 آن ورودی را از قفل نسبی کنار میگذارد. این به معنی غیرفعالشدن همه قفلهای تراکنش یا همه شروط اسکریپت نیست؛ nLockTime و سایر شروط جداگانهاند.
اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
واحد قفل نسبی زمانی چند ثانیه است؟
قفل نسبی اجماعی
۵۱۲ ثانیه است. مقدار شانزدهبیتی در ۵۱۲ ضرب میشود؛ ذخیره مستقیم تعداد ثانیه بدون کدکردن بیت نوع و واحد، قفل متفاوتی میسازد.
اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
قفل نسبی زمانی از زمان کدام بلاک شروع میشود؟
قفل نسبی اجماعی
مبدا، MTP بلاک پیش از بلاکی است که خروجی مصرفشونده را تأیید کرده است. انتها نیز با MTP بلاک پیش از بلاک نامزد خرج مقایسه میشود؛ زمان دیواری دریافت در کیف پول مبنای اجماع نیست.
اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
خروجی تأییدشده در ارتفاع ۱۰۰ با قفل نسبی ده بلاک، زودتر از چه ارتفاعی خرج نمیشود؟
قفل نسبی اجماعی
با فرض برقراری سایر شروط، اولین ارتفاع مجاز ۱۱۰ است. معیار اختلاف ارتفاع است، نه زمان تقریبی صد دقیقه؛ نوسان زمان استخراج ممکن است مدت واقعی انتظار را تغییر دهد.
اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
بیشترین مقدار قابل بیان در بخش فعلی قفل نسبی چقدر است؟
قفل نسبی اجماعی
شانزده بیت پایین حداکثر ۶۵٬۵۳۵ را میدهند: همین تعداد بلاک، یا
65535 × 512 = 33553920ثانیه در حالت زمانی. محدودیت مربوط به این کدگذاری است، نه هر قرارداد زمانی ممکن.اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
آیا همه ورودیهای یک تراکنش باید نوع قفل نسبی یکسان داشته باشند؟
قفل نسبی اجماعی
خیر. یک ورودی میتواند قفل ارتفاعی و دیگری قفل زمانی داشته باشد؛ تراکنش باید محدودیتهای فعال همه آنها را همزمان برآورده کند. این با تنها یک فیلد nLockTime در سطح تراکنش متفاوت است.
اصلاحات و رفع ابهام
- مبدأ قفل نسبی زمانیE-013
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:529–576
هر خروجی چه اطلاعاتی دارد؟
فهرست خروجیها
مقدار هشتبایتی، طول اسکریپت و خود scriptPubKey را دارد. مقصد نمایشی کیف پول به این اسکریپت تبدیل میشود؛ رشته آدرس معمولاً عیناً در تراکنش ذخیره نمیشود.

تصویر 0604نقشهٔ بایتهای یک خروجی مبلغ و scriptPubKey شرط انتقال بعدی را بیان میکنند؛ وجود آدرس متنی در خود خروجی الزامی نیست.
Mastering Bitcoin, third edition; Andreas M. Antonopoulos and David A. Harding. Original image, unchanged.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:577–588ch06_transactions.adoc:589–596
چرا ترتیب خروجیها میتواند مهم باشد؟
فهرست خروجیها
outpointهای آینده با شاخص خروجی به آنها اشاره میکنند و برخی انواع SIGHASH نیز به موقعیت خروجی حساساند. جابهجایی پس از امضا یا پس از ساخت تراکنش فرزند ممکن است تعهد یا ارجاع را تغییر دهد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:577–588ch06_transactions.adoc:589–596
آیا صفر بودن شمار خروجیها صرفاً به معنی پرداخت همه مبلغ به کارمزد است؟
فهرست خروجیها
خیر. تراکنش عادی باید ساختار معتبر داشته باشد و فهرست خروجی خالی پذیرفته نمیشود. مصرف ارزش بدون مقصد را نباید با هر ساختار دلخواه سریالسازیشده معتبر فرض کرد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:577–588ch06_transactions.adoc:589–596
مقدار خروجی با چه واحدی ثبت میشود؟
مقدار و کنترل بازه
با عدد صحیح ساتوشی در فیلد هشتبایتی سریالشده ثبت میشود. واحد BTC در رابط نمایش است؛ تبدیل اعشاری باید پیش از سریالسازی با دقت انجام شود و کسر ساتوشی برای خروجی زنجیرهای مجاز نیست.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:597–610
آیا منفیبودن مقدار میتواند بدهی یا دریافت کارمزد را نمایش دهد؟
مقدار و کنترل بازه
خیر. مقدار منفی خروجی نامعتبر است و قواعد، بازه هر مقدار و جمع آنها را کنترل میکنند. علامتداربودن نوع داده در پیادهسازی به معنی مجازبودن مقدار منفی اقتصادی نیست.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:597–610
چرا جمع خروجیها باید جداگانه از تکتک خروجیها کنترل شود؟
مقدار و کنترل بازه
چند عدد مجاز ممکن است مجموع نامجاز یا سرریز ایجاد کنند. بررسی بازه و جمع امن مانع میشود خطای حسابی به خلق ارزش یا اختلاف اعتبارسنجی تبدیل شود.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:597–610
dust با خروجی کمارزش چه تفاوتی دارد؟
خروجی غیراقتصادی و dust
dust اصطلاح سیاستی با محاسبه وابسته به نوع خروجی و نرخ dust relay است؛ غیراقتصادیبودن به هزینه واقعی یا مورد انتظار خرج مربوط میشود. خروجی میتواند از آستانه dust بالاتر باشد اما در نرخ کارمزد فعلی صرفه خرج نداشته باشد.
اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:611–680
آیا ممنوعیت dust یک قانون اجماع عمومی است؟
خروجی غیراقتصادی و dust
خیر. عمدتاً سیاست رله و ممپول است؛ وجود خروجی کوچک در بلاک معتبر لزوماً آن بلاک را نامعتبر نمیکند. استثناها و تنظیمات نسخه نیز باید از قواعد حفظ ارزش تفکیک شوند.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:611–680
چرا آستانه dust برای انواع آدرس یکسان نیست؟
خروجی غیراقتصادی و dust
سیاست اندازه خروجی و هزینه تخمینی ورودی خرج آینده را لحاظ میکند. قالبهایی با اندازه یا تخفیف شاهد متفاوت، آستانه متفاوت میگیرند؛ یک عدد ثابت برای همه خروجیها مدل دقیقی نیست.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:611–680
در سیاست مرجع Core 30.0 با dust relay پیشفرض، نمونه آستانهها چیست؟
خروجی غیراقتصادی و dust
برای P2PKH، P2WPKH و P2TR بهترتیب ۵۴۶، ۲۹۴ و ۳۳۰ ساتوشیاند. مقدار کمتر از آستانه dust شمرده میشود. اینها مثال نسخه و تنظیم مشخصاند، نه حداقل پرداخت اجماعی یا برآورد دقیق کارمزد آینده.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:611–680
چرا خروجی OP_RETURN مانند خروجی قابل خرج، dust محاسبه نمیشود؟
خروجی غیراقتصادی و dust
چون آشکارا غیرقابل خرج است و ورودی آیندهای برای مصرف آن انتظار نمیرود. این استثنا به معنی بازگشت مبلغ نیست؛ هر ارزشی که به شرط غیرقابل خرج فرستاده شود عملاً سوزانده میشود.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:611–680
ephemeral dust چرا با ممنوعیت ساده همه خروجیهای dust فرق دارد؟
خروجی غیراقتصادی و dust
Core 29.0 استثنایی محدود برای یک خروجی dust در تراکنش بدون کارمزد و خرج همراه آن تعریف کرد. هدف به رفتار یک بسته وابسته است؛ نباید آن را اجازه عمومی برای انباشتن خروجیهای dust منتشرنشده یا مستقل دانست.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:611–680
چرا نام scriptPubKey الزاماً به معنی وجود یک کلید عمومی در خروجی نیست؟
اسکریپت خروجی
این نام تاریخی است؛ محتوا میتواند هش اسکریپت، برنامه شاهد یا دستورهایی بدون کلید عمومی مستقیم باشد. تحلیل باید بر اساس بایتها و الگوی واقعی انجام شود، نه برداشت لفظی از نام فیلد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:681–725
اگر خروجی به اسکریپتی بدون راه خرج معتبر پرداخت شود چه میشود؟
اسکریپت خروجی
تراکنش ایجادکننده ممکن است معتبر باشد، ولی ارزش آن خروجی قابل بازیابی نباشد. پروتکل الزام ندارد برای هر شرطی راه عملی خرج وجود داشته باشد؛ ساخت مقصد نیازمند بررسی قابلیت خرج و پشتیبان آن است.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:681–725
شاهد تراکنش چه چیزی است؟
ساختار شاهد
مجموعه دادههای لازم برای برآوردهکردن برنامه شاهد هر ورودی است؛ مانند امضا، کلید، اسکریپت یا اثبات مسیر. خود فهرست شاهد اسکریپت اجرایی نیست، هرچند یکی از عناصرش ممکن است اسکریپت باشد.

تصویر 0605نقشهٔ دادههای witness witness از txid جدا میشود، اما در wtxid و تعهد شاهد بلاک نقش دارد.
Mastering Bitcoin, third edition; Andreas M. Antonopoulos and David A. Harding. Original image, unchanged.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:726–778
چرا شاهد برای هر ورودی جداست؟
ساختار شاهد
هر ورودی خروجی و شرط خرج متفاوتی را مصرف میکند. سریالسازی باید ترتیب شاهدها را با ترتیب ورودیها منطبق نگه دارد؛ جابهجایی آنها معمولاً داده مجوز را به شرط نادرست مرتبط میکند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:726–778
آیا داده شاهد خارج از بلاکچین و اختیاری برای اعتبارسنجی است؟
ساختار شاهد
خیر. داده شاهد بخشی از داده بلاک و مورد تعهد رمزنگاری است و نود اعتبارسنج برای خرجهای شاهد به آن نیاز دارد. جداسازی از txid، به معنی حذف از قواعد اعتبار یا نگهداری آن نزد یک سرویس خصوصی نیست.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:726–778
چرا امضا نمیتواند بهسادگی هش کل تراکنش شامل خود امضا را امضا کند؟
وابستگی دوری و امضا
مقدار امضا هنوز محاسبه نشده و افزودنش پیام را تغییر میدهد؛ این وابستگی دوری ایجاد میکند. الگوریتمهای SIGHASH پیام امضا را با قواعد مشخص و بدون چنین خودارجاعی میسازند.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:779–809
چرا ساخت تراکنش فرزند پیش از نهاییشدن والد به شناسه پایدار نیاز دارد؟
وابستگی دوری و امضا
فرزند outpoint والد را در خود دارد و امضایش به آن متعهد میشود. اگر دادهای در والد txid را عوض کند، فرزند به خروجی ناموجود اشاره میکند؛ جداسازی شاهد این خطر را در مسیرهای مناسب کاهش میدهد.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:779–809
تغییرپذیری تراکنش یعنی چه؟
تغییرپذیری شخص ثالث
امکان تغییر نمایش یا دادهای که شناسه را عوض میکند، بدون لزوماً تغییر اثر اقتصادی موردنظر است. این پدیده با تغییر مستقیم مبلغ گیرنده متفاوت است؛ مشکل اصلی میتواند شکستن ارجاع تراکنشهای وابسته یا پیگیری پرداخت باشد.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:810–874
چگونه تغییر امضای ECDSA میتواند شناسه قدیمی را عوض کند؟
تغییرپذیری شخص ثالث
در برخی زمینهها نمایش یا شکل ریاضی دیگری از امضای معتبر ممکن بود وجود داشته باشد. وقتی امضا در scriptSig و در محدوده txid قرار دارد، چنین تغییر دادهای شناسه را عوض میکند؛ محدودیتهای قالب و low-S دامنه این رفتار را کاهش میدهند.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:810–874
چرا رفع تغییرپذیری فقط برای زیبایی شناسهها نیست؟
تغییرپذیری شخص ثالث
پروتکلهایی مانند کانال پرداخت پیشاپیش تراکنشهایی میسازند که به والد خرجنشده اشاره دارند. تغییر شناسه والد میتواند راه خروج قراردادی را خراب کند؛ بنابراین ثبات ارجاع بخشی از ایمنی قرارداد چندمرحلهای است.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:810–874
آیا Segwit مانع ساخت یک خرج متعارض توسط صاحب کلید میشود؟
تغییرپذیری توسط مشارکتکننده
خیر. صاحب مجوز ممکن است تراکنش جدیدی با همان ورودیها و اثر متفاوت امضا کند. رفع تغییرپذیری ناخواسته شخص ثالث با حذف اختیار امضاکننده برای ساخت تراکنش رقیب یکسان نیست.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:875–917
چرا در قرارداد چندطرفه باید حق تغییر هر امضاکننده مشخص باشد؟
تغییرپذیری توسط مشارکتکننده
یک طرف ممکن است طبق دامنه SIGHASH خود هنوز بتواند نسخه یا بخشی از تراکنش را تغییر دهد. ایمنی قرارداد باید بدترین رفتار مجاز و مخرب طرفها را بررسی کند، نه فقط فرض همکاری معمول را.
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:875–917
Segwit چگونه txid را از امضای شاهد جدا میکند؟
Segregated Witness
txid از سریالسازی بدون شاهد ساخته میشود و wtxid داده کامل شاهددار را نیز هش میکند. در خرجهای شاهد مناسب، تغییر داده امضا بدون تغییر بخش پایه، txid را عوض نمیکند ولی میتواند wtxid را تغییر دهد.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:918–1009
آیا هر تراکنشی که یک ورودی Segwit دارد، در برابر همه تغییرات txid مصون است؟
Segregated Witness
خیر. ورودی قدیمی در همان تراکنش ممکن است scriptSig قابل تغییر داشته باشد و txid هنوز آن داده را شامل میشود. ویژگی ثبات شناسه باید برای ترکیب واقعی ورودیها و شروط امضا بررسی شود.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:918–1009
چرا وجود txid و wtxid دو دارایی یا دو پرداخت ایجاد نمیکند؟
Segregated Witness
دو شناسه برای دو دامنه داده از یک تراکنشاند. outpoint و اثر مصرف/ایجاد خروجی به تراکنش مربوطاند؛ داشتن شناسه شاهد جدا، ارزش اقتصادی را تکثیر نمیکند.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:918–1009
شاهدها چگونه به سرآیند بلاک متعهد میشوند؟
Segregated Witness
ریشه مرکل wtxidها همراه مقدار رزروشده شاهد در یک خروجی تعهد کوینبیس هش میشود. کوینبیس در درخت txidهای بلاک قرار دارد و ریشه آن در سرآیند است؛ بنابراین تعهد شاهد بهطور غیرمستقیم به سرآیند متصل میشود.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:918–1009
چرا wtxid کوینبیس در درخت تعهد شاهد صفر فرض میشود؟
Segregated Witness
کوینبیس خود خروجی تعهد شاهد را در بر دارد؛ استفاده مستقیم از شناسه نهایی آن وابستگی دوری ایجاد میکرد. مقدار صفر قراردادی این خودارجاعی را میشکند.
اصلاحات و رفع ابهام
- مرز رفع malleabilityE-016
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:918–1009
هر شاهد چگونه سریال میشود؟
سریالسازی فهرست شاهد
ابتدا تعداد عناصر با CompactSize و سپس طول و بایتهای هر عنصر نوشته میشود. عناصر رشته بایتاند؛ طول صفر میتواند معنای مشخصی داشته باشد و نباید با نبود کل شاهد یکی گرفته شود.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1010–1037
در تراکنش ترکیبی، برای ورودی قدیمی چه شاهدی نوشته میشود؟
سریالسازی فهرست شاهد
در قالب شاهددار باید برای آن ورودی یک فهرست شاهد خالی با شمار صفر وجود داشته باشد. این جایگاه ترتیب ورودیها و شاهدها را حفظ میکند؛ حذف دلخواه آن تجزیه شاهد ورودیهای بعدی را خراب میکند.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1010–1037
آیا یک عنصر خالی با فهرست شاهد خالی برابر است؟
سریالسازی فهرست شاهد
خیر. اولی فهرستی با یک عنصر به طول صفر و دومی فهرستی با صفر عنصر است. این تفاوت در سریالسازی و معنای اجرای برخی اسکریپتها اهمیت دارد.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1010–1037
nLockTime چه چیزی را محدود میکند؟
nLockTime
زودترین زمینه زمانی یا ارتفاعی قابل قبول برای تراکنش را مقید میکند، مگر اینکه با شرایط sequence نادیده گرفته شود. نه تراکنش را خودکار منتشر میکند و نه تضمین میدهد در اولین بلاک مجاز تأیید شود.
اصلاحات و رفع ابهام
- مرز nLockTimeE-012
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1038–1066
مرز تشخیص زمان و ارتفاع در nLockTime چیست؟
nLockTime
مقدار کمتر از ۵۰۰ میلیون بهعنوان ارتفاع تفسیر میشود و مقدار برابر یا بیشتر، زمان را بیان میکند. نوع قفل باید با شرط اسکریپت مربوط سازگار باشد؛ یک عدد بدون دانستن این مرز ممکن است معنای دیگری بدهد.
اصلاحات و رفع ابهام
- مرز nLockTimeE-012
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1038–1066
تراکنش با nLockTime برابر ۹۰۰٬۰۰۰ از چه ارتفاعی مجاز است؟
nLockTime
با فرض فعالبودن قفل و برقراری سایر شروط، در بلاک ۹۰۰٬۰۰۱ یا بعد از آن. مقایسه اجماعی strict است: nLockTime باید از ارتفاع بلاک نامزد کمتر باشد، نه برابر آن.
اصلاحات و رفع ابهام
- مرز nLockTimeE-012
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1038–1066
چه زمانی nLockTime نادیده گرفته میشود؟
nLockTime
اگر همه ورودیها nSequence نهایی
0xffffffffداشته باشند، قفل مطلق اعمال نمیشود. به همین دلیل شروط CLTV علاوه بر بررسی nLockTime، sequence همان ورودی را هم کنترل میکنند.اصلاحات و رفع ابهام
- مرز nLockTimeE-012
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1038–1066
برای nLockTime زمانی، ساعت رایانه کاربر معیار است؟
nLockTime
خیر. برای اعتبار بلاک، MTP بلاک قبلی معیار مقایسه است. زمان نمایشدادهشده در رابط یا زمان رسیدن تراکنش به نود، جای این مرجع اجماعی را نمیگیرد.
اصلاحات و رفع ابهام
- مرز nLockTimeE-012
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1038–1066
آیا رسیدن زمان قفل باعث انتقال خودکار دارایی میشود؟
nLockTime
خیر. فقط مانع زمانی رفع میشود؛ مجوزهای دیگر، انتشار، کارمزد و درج در بلاک هنوز لازماند. قفل زمانی بهتنهایی سامانه زمانبندی پرداخت یا دستور دائمی نیست.
اصلاحات و رفع ابهام
- مرز nLockTimeE-012
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1038–1066
کوینبیس چه تفاوتی با تراکنش عادی دارد؟
تراکنش کوینبیس
نخستین تراکنش بلاک است و بهجای مصرف UTXO عادی، ورودی ویژه با txid صفر و شاخص
0xffffffffدارد. خروجیهایش حداکثر تا یارانه مجاز بهاضافه کارمزد همان بلاک میتوانند ارزش داشته باشند.اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1067–1135
آیا کوینبیس باید همه پاداش مجاز را مطالبه کند؟
تراکنش کوینبیس
خیر. مطالبه کمتر مجاز است، اما بیشتر نامعتبر است. بخش مطالبهنشده بعداً بهعنوان طلب ذخیره نمیشود؛ قواعد برای آن بلاک سقف تعریف میکنند، نه الزام پرداخت کامل.
اصلاحات و رفع ابهام
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1067–1135
scriptSig کوینبیس امضای چه کسی است؟
تراکنش کوینبیس
امضای مصرف یک خروجی قبلی نیست؛ فیلد ویژهای برای داده کوینبیس است و باید محدودیت طول و قالب ارتفاع BIP34 را رعایت کند. نام تاریخی فیلد نباید باعث اجرای آن مانند مجوز خرج معمولی شود.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1067–1135
چرا پاداش کوینبیس فوراً خرج نمیشود؟
تراکنش کوینبیس
قواعد بلوغ، خرج خروجی کوینبیس را تا اختلاف ارتفاع حداقل ۱۰۰ بلاک محدود میکنند. این تأخیر خطر وابستگی فوری به پاداش بلاکی را کاهش میدهد که ممکن است از زنجیره منتخب خارج شود.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1067–1135
خروجی کوینبیس ارتفاع ۱۰۰ نخست در چه ارتفاعی قابل خرج است؟
تراکنش کوینبیس
با فرض باقیماندن در زنجیره و نبود شرط اضافی، در ارتفاع ۲۰۰. معیار
spend_height − coinbase_height ≥ 100است؛ شمار تأیید نمایشی شامل خود بلاک میشود و نباید مرز را یک بلاک جابهجا کند.اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1067–1135
آخرین دوره یارانه غیرصفر از چه ارتفاعی آغاز میشود؟
تراکنش کوینبیس
با قواعد شبکه اصلی، دوره یارانه یکساتوشی از ارتفاع ۶٬۷۲۰٬۰۰۰ شروع میشود و نخستین ارتفاع با یارانه صفر ۶٬۹۳۰٬۰۰۰ است. این اعداد از نصفشدن صحیح ۵۰ BTC هر ۲۱۰٬۰۰۰ بلاک به دست میآیند، نه از تخمین تقویمی.
اصلاحات و رفع ابهام
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1067–1135
وزن تراکنش چگونه محاسبه میشود؟
وزن و اندازه مجازی
اگر B اندازه بدون شاهد و T اندازه کامل باشد،
weight = 3B + Tاست. معادل آن، هر بایت پایه چهار واحد و هر بایت افزوده قالب شاهد یک واحد وزن دارد.
تصویر 0606نقشهٔ وزن تراکنش عددهای وزن را با بایت اشتباه نگیرید؛ بایتهای پایه چهار WU و بخش افزودهٔ شاهد یک WU میگیرند.
Mastering Bitcoin, third edition; Andreas M. Antonopoulos and David A. Harding. Original image, unchanged.
اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
vsize چگونه از وزن به دست میآید؟
وزن و اندازه مجازی
در تعریف پایه،
vsize = ceil(weight / 4)است. گردکردن به بالا مهم است؛ وزن ۵۶۹ واحد به ۱۴۳ vB میرسد، نه ۱۴۲٫۲۵ vB برای محاسبه اندازه صحیح تراکنش.اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
چرا بایتهای پایه گرانتر از شاهد وزن میگیرند؟
وزن و اندازه مجازی
وزنگذاری میان بخشهای تراکنش تفاوت میگذارد و اثر داده لازم برای وضعیت و ساختار را از شاهد جدا میکند. این تخفیف به معنی بیهزینهبودن شاهد یا حذف آن از اعتبارسنجی نیست.
اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
حداکثر وزن بلاک چقدر است؟
وزن و اندازه مجازی
چهار میلیون واحد وزن است. این را نباید با سقف ثابت چهار میلیون بایت برای هر ترکیب داده یکی گرفت؛ اندازه خام به نسبت داده پایه و شاهد و دیگر محدودیتهای اعتبار وابسته است.
اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
وزن سرآیند ۸۰بایتی بلاک چقدر است؟
وزن و اندازه مجازی
چون داده پایه است،
80 × 4 = 320واحد وزن دارد. عدد ۲۴۰ فقط سه برابر ۸۰ است و سهم آن در اندازه کامل را جا میاندازد؛ فرمول3B + Tبرای داده پایه چهار برابر میشود.اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
چرا نرخ sat/byte با sat/vB برای تراکنش شاهددار یکسان نیست؟
وزن و اندازه مجازی
byte اندازه خام را میسنجد ولی vB اندازه وزنمحور را. برای یک مقدار کارمزد، این دو مخرج میتوانند عدد متفاوتی بدهند؛ مقایسه نرخها بدون واحد مشترک نتیجه گمراهکننده میسازد.
اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
آیا وزن کمتر همیشه به معنی تأیید سریعتر است؟
وزن و اندازه مجازی
خیر. استخراجکننده انگیزه درآمدی و سیاست انتخاب بسته دارد؛ نرخ کارمزد، وابستگیها و ظرفیت رقابت مهماند. کاهش وزن میتواند هزینه لازم برای یک نرخ معین را کم کند، نه اینکه نوبت قطعی بسازد.
اصلاحات و رفع ابهام
- وزن هدر بلاکE-014
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1136–1262
تراکنش بدون شاهد چه تفاوتی در سریالسازی دارد؟
قالب قدیمی
marker، flag و بخش شاهد را ندارد و با نسخه، ورودیها، خروجیها و nLockTime سریال میشود. در این حالت wtxid و txid برابرند و هر بایت آن در وزن پایه چهار واحد حساب میشود.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1263–1287
آیا دریافت آدرس Segwit به معنی شاهدداربودن همان تراکنش پرداخت است؟
قالب قدیمی
نه لزوماً. شاهد به نوع خروجیهای قبلیِ مصرفشده توسط ورودیها مربوط است. یک تراکنش میتواند با ورودی قدیمی به خروجی Segwit پرداخت کند؛ خرج بعدی آن خروجی از قواعد شاهد استفاده خواهد کرد.
منابع اصلی
پرسشهای مرتبط
محل موضوع در کتاب: ch06_transactions.adoc:1263–1287



