وقتی کسی میگوید «کارمزد بیتکوین زیاد شده»، ممکن است این تصور ایجاد شود که شبکه برای هر انتقال یک مبلغ ثابت یا درصد مشخصی دریافت میکند. اما مدل کارمزد بیتکوین اینطور نیست.
کارمزد یک تراکنش بهطور کلی از اختلاف مجموع ورودیها و مجموع خروجیهای آن به دست میآید، اما اینکه یک کاربر برای رسیدن به تأیید موردنظر خود چه کارمزدی انتخاب کند، به اندازه تراکنش و شرایط بازار فضای بلاک نیز وابسته است. به همین دلیل، برای مقایسه تراکنشها معمولاً بهجای مقدار کل کارمزد، از نرخ کارمزد یا Fee Rate استفاده میشود.
در این مقاله میبینیم کارمزد دقیقاً چیست، sat/vB چه معنایی دارد، چرا دو تراکنش با مبلغ یکسان میتوانند کارمزد متفاوتی داشته باشند و ممپول چگونه روی رقابت برای فضای محدود بلاک اثر میگذارد.
کارمزد بیتکوین دقیقاً چیست؟
در یک تراکنش عادی، مقدار کارمزد برابر است با:
مجموع ارزش ورودیها − مجموع ارزش خروجیها = کارمزد
فرض کنید تراکنش شما در مجموع ۰٫۸ بیتکوین ورودی داشته باشد و ۰٫۷۹۹۹ بیتکوین خروجی ایجاد کند. اختلاف ۰٫۰۰۰۱ بیتکوین، کارمزد تراکنش است.
این کارمزد به یک حساب مرکزی یا اپراتور شبکه پرداخت نمیشود. در فرایند استخراج، کارمزد تراکنشهای قرارگرفته در بلاک به درآمد ماینر اضافه میشود.
این نکته را هم باید از همان ابتدا روشن کرد: کارمزد، درصدی از مبلغ انتقال نیست. اگر دو نفر بهترتیب ۰٫۰۱ و ۱ بیتکوین ارسال کنند، لزوماً کارمزد نفر دوم بیشتر نیست. ساختار خود تراکنش و شرایط بازار فضای بلاک اهمیت دارند.
برای فهم این موضوع، باید از «مقدار بیتکوین منتقلشده» به «اندازه تراکنش» توجه کنیم.
چرا اندازه تراکنش مهم است؟
ظرفیت هر بلاک بیتکوین محدود است. بنابراین کاربران برای قرارگرفتن تراکنشهایشان در این فضای محدود با یکدیگر رقابت میکنند.
تراکنشها نیز از نظر اندازه یکسان نیستند. تعداد ورودیها، تعداد خروجیها و نوع دادههای مربوط به خرجکردن UTXOها میتواند باعث شود یک تراکنش فضای بیشتری از بلاک مصرف کند.
برای مثال، فرض کنید دو تراکنش هر دو ۰٫۱ بیتکوین انتقال میدهند:
- تراکنش A با یک ورودی و دو خروجی ساخته شده است.
- تراکنش B برای تأمین مبلغ به چند UTXO نیاز دارد و در نتیجه ورودیهای بیشتری دارد.
ممکن است تراکنش B مبلغ یکسانی منتقل کند، اما از نظر اندازه بزرگتر باشد. اگر هر دو نرخ کارمزد یکسانی داشته باشند، تراکنش بزرگتر در مجموع کارمزد بیشتری پرداخت میکند، چون برای فضای بیشتری از بلاک هزینه میپردازد.
به همین دلیل، «کارمزد کل» بهتنهایی معیار مناسبی برای مقایسه جذابیت تراکنشها برای فضای بلاک نیست.
Fee Rate یا نرخ کارمزد چیست؟
Fee Rate یعنی کارمزدی که به ازای واحدی از اندازه تراکنش پرداخت میشود.
در بیتکوین امروزی معمولاً این نرخ با واحد sat/vB بیان میشود؛ یعنی ساتوشی به ازای هر virtual byte یا بایت مجازی.
اگر یک تراکنش ۲۰۰ vB اندازه داشته باشد و نرخ آن ۱۵ sat/vB باشد، کارمزد آن تقریباً چنین خواهد بود:
۲۰۰ × ۱۵ = ۳۰۰۰ ساتوشی
پس دو تراکنش با اندازه متفاوت میتوانند با نرخ یکسان، کارمزد کل متفاوتی داشته باشند.
از طرف دیگر، دو تراکنش با اندازه یکسان میتوانند نرخهای متفاوتی داشته باشند و بنابراین کارمزد متفاوتی پرداخت کنند.
این تفاوت میان Fee و Fee Rate یکی از مهمترین مفاهیم برای فهم بازار کارمزد بیتکوین است.
vB چیست و چرا بهجای byte از آن استفاده میشود؟
با معرفی SegWit، اندازه تراکنشها فقط با تعداد بایت خام قابل مقایسه نبود، چون دادههای شاهد یا Witness با وزن متفاوتی در محدودیت بلاک محاسبه میشوند.
به همین دلیل، مفهوم Virtual Size یا vsize برای بیان اندازه مؤثر تراکنش استفاده میشود. واحد رایج Fee Rate نیز بر همین مبنا بهصورت sat/vB بیان میشود.
در نتیجه، وقتی کیف پول یا یک سرویس میگوید تراکنش مثلاً ۲۵۰ vB است، منظور اندازه مجازی آن برای محاسبات مربوط به فضای بلاک است، نه الزاماً تعداد بایت خام فایل تراکنش.
این جزئیات برای کاربر عادی لازم نیست همیشه محاسبه شود، اما دانستن آن توضیح میدهد چرا عبارت sat/vB معیار کاربردیتری از «ساتوشی به ازای یک بایت خام» است.
چه چیزهایی اندازه تراکنش را تغییر میدهند؟
یکی از مهمترین عوامل، تعداد ورودیها است.
اگر کیف پول برای پرداخت به یک گیرنده مجبور باشد چند UTXO را مصرف کند، اطلاعات بیشتری در تراکنش قرار میگیرد و اندازه آن معمولاً افزایش مییابد.
تعداد خروجیها نیز اهمیت دارد. یک تراکنش معمولی ممکن است یک خروجی برای گیرنده و یک خروجی Change برای فرستنده داشته باشد. تراکنشهای پیچیدهتر میتوانند خروجیهای بیشتری داشته باشند.
نوع اسکریپت و ساختار تراکنش نیز روی اندازه مؤثر آن اثر میگذارد. بنابراین نمیتوان فقط با دانستن مبلغ انتقال، اندازه تراکنش و کارمزد نهایی را تعیین کرد.
برای همین است که دو پرداخت با مبلغ دقیقاً یکسان میتوانند کارمزدهای متفاوتی داشته باشند.
Change چه ارتباطی با کارمزد دارد؟
در مقاله UTXO چیست؟ دیدیم که بیتکوین مانند یک حساب با موجودی واحد عمل نمیکند. کیف پول UTXOهای قابل خرج را انتخاب میکند و آنها را در تراکنش مصرف میکند.
فرض کنید یک UTXO به ارزش ۰٫۸ بیتکوین دارید و میخواهید ۰٫۳ بیتکوین بفرستید. اگر کارمزد ۰٫۰۰۰۱ بیتکوین باشد، میتوان یک خروجی ۰٫۳ بیتکوینی برای گیرنده و یک خروجی ۰٫۴۹۹۹ بیتکوینی برای Change ایجاد کرد.
وجود Change خودش بخشی از ساختار تراکنش است و در نتیجه میتواند بر اندازه تراکنش اثر بگذارد. از این منظر، انتخاب UTXO فقط مسئله «پیدا کردن پول کافی» نیست؛ نحوه ترکیب UTXOها میتواند هزینه تراکنش را نیز تغییر دهد.
این یکی از دلایلی است که مدیریت UTXO در کیف پولهای حرفهای اهمیت دارد.
ممپول چه نقشی در کارمزد دارد؟
Mempool محل نگهداری تراکنشهای معتبر و تأییدنشده در یک نود است. اما ممپول یک صف جهانی واحد نیست؛ هر نود میتواند بر اساس تراکنشهایی که دریافت کرده و سیاستهای محلی خود، مجموعه متفاوتی داشته باشد.
وقتی تقاضا برای فضای بلاک افزایش پیدا میکند، تراکنشهای بیشتری برای ورود به فضای محدود بلاک با یکدیگر رقابت میکنند. در چنین شرایطی، تراکنشهایی با نرخ کارمزد بالاتر معمولاً جذابیت بیشتری برای ساخت بلاک دارند.
بنابراین کارمزد بیتکوین را بهتر است بهعنوان بخشی از یک بازار فضای بلاک محدود در نظر بگیریم، نه یک تعرفه ثابت شبکه.
این موضوع همچنین توضیح میدهد چرا نرخ کارمزد میتواند در دورههای مختلف تغییر کند، حتی اگر اندازه تراکنش شما ثابت باشد.
آیا ماینر همیشه بالاترین Fee Rate را انتخاب میکند؟
در یک توضیح ساده، میتوان گفت ماینرها به تراکنشهایی با نرخ کارمزد بالاتر علاقه بیشتری دارند، چون هر واحد فضای بلاک باید تا حد امکان درآمد بیشتری ایجاد کند.
اما در پیادهسازی واقعی، موضوع پیچیدهتر است. تراکنشها میتوانند رابطه والد و فرزند داشته باشند و انتخاب آنها برای ساخت بلاک باید محدودیتهای وابستگی و اندازه بلاک را نیز در نظر بگیرد.
بنابراین عبارت «ماینرها فقط تراکنشهای با بالاترین Fee Rate را انتخاب میکنند» یک سادهسازی است. مدل واقعی Bitcoin Core برای مرتبسازی و ساخت بلاک، روابط میان تراکنشها و معیارهای feerate را نیز در نظر میگیرد.
از دید کاربر، نکته اصلی این است که پرداخت Fee Rate بالاتر معمولاً شانس قرارگرفتن تراکنش در فضای رقابتی بلاک را افزایش میدهد، اما تضمین مطلق برای یک زمان تأیید مشخص نیست.
چرا کارمزد بالا تضمین تأیید فوری نیست؟
تأیید تراکنش نتیجه یک فرایند شبکهای است، نه یک سرویس با SLA ثابت.
ممکن است تراکنشی با نرخ کارمزد بالا ساخته شود، اما شرایط شبکه، نحوه انتشار تراکنش، روابط آن با تراکنشهای دیگر یا وضعیت بلاکهای بعدی بر زمان قرارگرفتن آن اثر بگذارد.
از طرف دیگر، تخمین کارمزد نیز پیشبینی قطعی نیست. نرمافزارهایی مانند Bitcoin Core میتوانند با استفاده از دادههای تاریخی و وضعیت ممپول، نرخهایی را برای هدف تأیید تقریبی تخمین بزنند؛ اما این تخمین درباره آینده شبکه است و تضمین نیست.
بنابراین عبارتهایی مانند «این Fee حتماً در بلاک بعدی تأیید میشود» از نظر فنی دقیق نیستند.
آیا هر نود حداقل کارمزد یکسانی دارد؟
خیر. باید بین Consensus Rules و Policy Rules تفاوت بگذاریم.
قواعد اجماع مشخص میکنند یک تراکنش یا بلاک از نظر پروتکل معتبر است یا نه. اما نودها علاوه بر آن، سیاستهایی برای پذیرش و Relay تراکنشها در ممپول دارند.
به همین دلیل، ممکن است یک تراکنش از نظر اجماع معتبر باشد اما یک نود به دلیل سیاست محلی خود آن را در ممپول نپذیرد یا Relay نکند.
این تمایز مهم است، چون نشان میدهد «کارمزد مورد نیاز برای ورود به ممپول یک نود» دقیقاً همان چیزی نیست که «حداقل کارمزد لازم برای معتبر بودن تراکنش در پروتکل» نامیده شود.
RBF چه ارتباطی با کارمزد دارد؟
یکی از کاربردهای مهم Fee Rate، Replace-by-Fee یا RBF است.
در شرایطی که سیاستهای شبکه اجازه دهد، یک تراکنش جایگزین میتواند تراکنش قبلیِ متعارض را با نسخهای دارای کارمزد بالاتر جایگزین کند، مشروط به اینکه الزامات مربوط به سیاست پذیرش و جایگزینی رعایت شوند.
این ویژگی نشان میدهد کارمزد فقط هنگام ساخت تراکنش اهمیت ندارد؛ در برخی سناریوها میتوان با افزایش هزینه پرداختی، تراکنش را برای ورود به فضای بلاک جذابتر کرد.
RBF موضوع مستقلی است و جزئیات سیاستهای آن خارج از هدف این مقاله است؛ نکته مهم اینجا این است که Fee Rate بخشی از رفتار اقتصادی تراکنش در ممپول است.
آیا کارمزد بیتکوین گران است؟
این سؤال بدون مشخصکردن معیار، پاسخ دقیقی ندارد.
اگر منظور «درصد مبلغ انتقال» باشد، مدل کارمزد بیتکوین اساساً بر چنین مبنایی طراحی نشده است. اگر منظور «مقدار مطلق BTC پرداختشده» باشد، اندازه تراکنش و نرخ انتخابشده اهمیت دارند. و اگر منظور «هزینه موردنیاز برای رسیدن به یک زمان تأیید مشخص» باشد، باید شرایط بازار فضای بلاک و وضعیت ممپول نیز در نظر گرفته شود.
پس بهتر است بهجای برچسبهایی مانند «کارمزد بالا» یا «کارمزد پایین»، سه سؤال مشخص بپرسیم:
- تراکنش چند vB است؟
- Fee Rate آن چند sat/vB است؟
- در زمان ارسال، تقاضا برای فضای بلاک چگونه است؟
این سه سؤال تصویر فنی بسیار دقیقتری میدهند.
یک مثال کامل
فرض کنید کیف پول شما تراکنشی با اندازه ۲۵۰ vB میسازد و Fee Rate انتخابی ۲۰ sat/vB است.
کارمزد تقریبی:
۲۵۰ × ۲۰ = ۵۰۰۰ ساتوشی
حالا فرض کنید همان مبلغ را باید با UTXOهای بیشتری تأمین کنید و اندازه تراکنش به ۴۰۰ vB برسد. اگر همان Fee Rate یعنی ۲۰ sat/vB را نگه دارید:
۴۰۰ × ۲۰ = ۸۰۰۰ ساتوشی
مبلغی که برای گیرنده ارسال میکنید میتواند یکسان باشد، اما چون تراکنش دوم فضای بیشتری مصرف میکند، کارمزد کل آن بیشتر است.
اگر در زمان دوم رقابت برای فضای بلاک نیز بیشتر شده باشد، ممکن است لازم باشد Fee Rate بالاتری انتخاب کنید. در نتیجه، هزینه نهایی حتی بیشتر از این اختلاف خواهد شد.
این مثال نشان میدهد چرا «مبلغ انتقال» بهتنهایی تعیینکننده کارمزد نیست.
جمعبندی
کارمزد بیتکوین یک درصد ثابت از مبلغ انتقال نیست و یک تعرفه مرکزی هم وجود ندارد.
کارمزد از اختلاف مجموع ورودیها و خروجیهای تراکنش به دست میآید، اما برای فهم اینکه یک تراکنش از نظر اقتصادی چه جایگاهی در رقابت برای فضای بلاک دارد، باید Fee Rate و اندازه تراکنش را نیز در نظر گرفت.
مفاهیم اصلی را میتوان اینطور خلاصه کرد:
- Fee: مقدار کل کارمزدی که تراکنش پرداخت میکند.
- Fee Rate: مقدار کارمزد به ازای واحد اندازه تراکنش.
- sat/vB: واحد رایج بیان Fee Rate.
- vsize: اندازه مجازی مورد استفاده برای محاسبات مربوط به فضای بلاک.
- UTXO: ساختار خروجیهای قابل خرج که انتخاب آنها میتواند روی اندازه تراکنش اثر بگذارد.
- Mempool: محل نگهداری تراکنشهای تأییدنشده یک نود، نه یک صف جهانی واحد.
- تقاضای فضای بلاک: یکی از عوامل مهم تغییر شرایط بازار کارمزد.
اگر این مفاهیم را در کنار مقاله تراکنش بیتکوین چگونه انجام میشود؟ و UTXO چیست؟ بخوانیم، مسیر شکلگیری یک تراکنش از انتخاب UTXO تا پرداخت کارمزد و ورود به ممپول بسیار روشنتر میشود.
منابع و مطالعه بیشتر
- Bitcoin Core — Mempool Design
- Bitcoin Core — Mempool Terminology
- Bitcoin Core — Fee Rate
- Bitcoin Core — Fee Estimation
- Bitcoin Core — Mempool Policy
این مطلب با هدف آموزش و تحلیل تهیه شده است و نباید بهعنوان توصیه قطعی برای خرید، فروش یا شرطبندی تلقی شود.