کارمزدهای بیتکوین بسیار متفاوت از گس اتریوم کار میکنند. این مقاله ممپول، واحد sat/vB، دلیل تعیین کارمزد توسط اندازه تراکنش و کاری را که هنگام گیر کردن پرداخت باید کرد توضیح میدهد.
برای مبانی شبکه بیتکوین را ببینید. برای ایده کلی کارمزدها گس و کارمزدها را ببینید.
ممپول
وقتی بیتکوین میفرستید، کیف پول شما تراکنش را در شبکه پخش میکند. هر نود آن را بررسی میکند و در محل انتظاری به نام ممپول (mempool)، یعنی مخزن حافظه، نگه میدارد تا ماینری آن را در یک بلوک بگذارد. ممپول واحد و یگانهای وجود ندارد. هر نود ممپول خودش را دارد، هرچند معمولاً بسیار شبیه هماند.
اندازه بلوک محدود است. ماینرها بلوکها را با تراکنشهایی پر میکنند که بهازای فضایی که میگیرند بیشترین کارمزد را میپردازند. پس وقتی ممپول تراکنشهای بیشتری از ظرفیت یک بلوک دارد، تراکنشهای کمکارمزد منتظر میمانند.
کارمزد بر حسب بایت تعیین میشود، نه مبلغ
بیتکوین بر اساس مبلغی که میفرستید هزینه نمیگیرد، بلکه بر اساس فضایی که تراکنش در بلوک اشغال میکند. واحد آن بایت مجازی (virtual byte) یا vB است. قیمت بر حسب ساتوشی بهازای هر vB (sat/vB) بیان میشود. یک ساتوشی یک صدمیلیونیوم بیتکوین است.
کارمزد برابر است با:
کارمزد = اندازه بر حسب vB × نرخ کارمزد بر حسب sat/vB
مثال: تراکنشی با اندازه 141 vB با نرخ 10 sat/vB، 1,410 ساتوشی هزینه دارد. ارسال مبلغ بسیار کوچک به اندازه ارسال مبلغ بسیار بزرگ هزینه دارد اگر اندازهشان یکی باشد. کارمزد با ارزش تغییر نمیکند، فقط با اندازه.
بایتهای مجازی از SegWit میآیند که داده امضا را با تخفیف میشمارد. هر بلوک سقف 4 میلیون واحد وزن دارد که حدود 1 میلیون vB است.
چه چیزی اندازه تراکنش را تعیین میکند
تراکنش بیتکوین ورودیها (inputs)، یعنی سکههایی که خرج میکنید، و خروجیها (outputs)، یعنی مقصد سکهها، دارد. ورودی و خروجی بیشتر یعنی تراکنش بزرگتر و کارمزد بالاتر.
- یک پرداخت ساده با یک ورودی و دو خروجی (یکی برای گیرنده، یکی بهعنوان باقیمانده به خودتان) با آدرس مدرن SegWit حدود 140 vB است.
- اگر کیف پول شما سکههای کوچک زیادی دارد و باید آنها را ترکیب کند، ورودیهای زیادی به کار میرود و کارمزد بالا میرود.
- پرداخت به گیرندگان متعدد خروجیهای زیادی دارد که آن هم اندازه را زیاد میکند.
انواع آدرس
انواع مختلف آدرس برای هر ورودی اندازههای متفاوتی دارند.
- آدرسهای Legacy (که با 1 شروع میشوند) بزرگتریناند.
- آدرسهای SegWit (که با bc1q شروع میشوند) برای هر ورودی کوچکترند.
- آدرسهای Taproot (که با bc1p شروع میشوند) نیز برای هر ورودی کوچکاند و برخی خرجهای پیچیده کوچکتر میشوند.
پس همان پرداخت از آدرس SegWit یا Taproot میتواند بهطور محسوسی ارزانتر از آدرس legacy باشد. نوع آدرس را کیف پول انتخاب میکند، پس بررسی کنید چه چیزی استفاده میکند.
تخمین کارمزد
کیف پولها نرخ کارمزد را با نگاه به ممپول و بلوکهای اخیر تخمین میزنند. یک ابزار معمول چند هدف نشان میدهد:
- بلوک بعدی: بالاترین نرخ، برای بیشترین شانس قرار گرفتن در بلوک بعدی.
- حدود 30 دقیقه: نرخ متوسط.
- حدود 1 ساعت: نرخ پایینتر.
- اقتصادی: حداقل نرخ برای پرداختهایی که میتوانند مدت زیادی صبر کنند.
اینها تخمیناند، نه قول. اگر هجوم ناگهانی ممپول را پر کند، پرداختی که انتظار میرفت در بلوک بعدی بیاید ممکن است بیشتر منتظر بماند. صفحه گس این اهداف بیتکوین را نشان میدهد و آنها را برای یک پرداخت معمول 141 vB به هزینه دلاری تبدیل میکند.
وقتی ممپول پر است چه میشود
وقتی تقاضا بالاست، نرخ کارمزد لازم برای ورود به بلوک بعدی بالا میرود. تراکنشهای کمکارمزد در ممپول میمانند. نودها برای ممپول خود محدودیت اندازه دارند. وقتی پر شود، تراکنشهای با کمترین کارمزد را حذف میکنند. تراکنش حذفشده پول از دسترفته نیست: سکهها هرگز روی زنجیره خرج نشده بودند. کیف پول شما میتواند دوباره آن را بفرستد.
زمانهای هجوم به ممپول مثلاً وقتی رخ میدهد که افراد زیادی همزمان سکه جابهجا میکنند. وضعیت را در صفحه بیتکوین دنبال کنید: کاشی هر بلوک نشان میدهد چقدر پر بوده و چه کارمزدی داشته است.
آزاد کردن پرداخت گیرکرده: RBF و CPFP
اگر کارمزد کم پرداختهاید، دو راهحل رایج وجود دارد.
- RBF (جایگزینی با کارمزد بیشتر، replace-by-fee). نسخه جدیدی از همان تراکنش را با کارمزد بالاتر میفرستید. نودها نسخه قدیمی را با جدید جایگزین میکنند. کیف پولی لازم است که از آن پشتیبانی کند و نودهای قدیمیتر فقط وقتی آن را میپذیرفتند که تراکنش اصلی قابلجایگزینی علامتگذاری شده باشد. بیشتر نودهای امروزی جایگزینی را در هر حال میپذیرند، اما کیف پولی که هرگز تراکنشها را قابلجایگزینی علامت نمیزند ممکن است این گزینه را ارائه ندهد.
- CPFP (فرزند برای پدر میپردازد، child pays for parent). شما یا گیرنده تراکنش جدیدی میسازید که یک خروجی تراکنش گیرکرده را خرج میکند و کارمزد بالایی میپردازد. ماینرها هر دو را با هم شامل میکنند، چون کارمزد فرزند را میخواهند و فرزند پیش از پدرش استخراج نمیشود.
فرستنده معمولاً از RBF استفاده میکند و گیرنده، که نمیتواند تراکنش اصلی را تغییر دهد، میتواند از CPFP استفاده کند.
چرا بلوکها دقیقاً هر 10 دقیقه نمیآیند
بیتکوین هدفش حدود یک بلوک در هر 10 دقیقه بهطور میانگین است. استخراج یک قرعهکشی است: ماینرها حدسهای زیادی میزنند و زمان یافتن بلوک معتبر تصادفی است. برخی بلوکها ظرف یک دقیقه میآیند و برخی 30 دقیقه یا بیشتر طول میکشند. هر 2016 بلوک شبکه سختی استخراج را تنظیم میکند تا میانگین نزدیک 10 دقیقه بماند.
همین تصادفی بودن دلیل آن است که تخمین کارمزد برای «بلوک بعدی» میتواند اشتباه باشد. اگر بلوکی دیر برسد، تراکنشهای بیشتری در صف جمع میشوند.
زنده تماشا کنید
بیتکوین در ChainMonitor را باز کنید تا بلوکهای اخیر را بهصورت کاشی ببینید، همراه با اینکه هر کدام چقدر پر است و نرخهای کارمزد. روی یک بلوک کلیک کنید تا تراکنشهایش را ببینید، یا شناسه تراکنشی را در جستجوی بالای صفحه بچسبانید تا وضعیتش را بررسی کنید. برای اینکه بدانید چگونه آنچه را مییابید بخوانید، چگونه یک تراکنش را بخوانیم و قطعیت و تأییدیهها را ببینید.
پرسشهای متداول
sat/vB چیست؟
نرخ کارمزد بیتکوین است: ساتوشیهایی که برای هر بایت مجازی از اندازه تراکنش پرداخت میشود. آن را در اندازه تراکنش خود ضرب کنید تا کارمزد به دست آید.
چرا تراکنش بیتکوین من گیر کرده است؟
به احتمال زیاد نرخ کارمزد آن کمتر از چیزی است که ماینرها اکنون میپذیرند. تا زمانی که نرخ پایین بیاید، شما آن را تسریع کنید، یا نودها آن را حذف کنند، در ممپول میماند.
چگونه تراکنش بیتکوین را تسریع کنم؟
اگر کیف پولتان پشتیبانی میکند از RBF استفاده کنید، یا از گیرنده بخواهید CPFP بزند. هر دو برای همان فضا کارمزد بیشتری میپردازند.
آیا ارسال بیتکوین بیشتر کارمزد بیشتری دارد؟
خیر. کارمزد به اندازه تراکنش بستگی دارد، نه به ارزش. تراکنشی با ورودیهای زیاد از تراکنش ساده با هر ارزشی گرانتر است.
چند تأییدیه باید صبر کنم؟
قاعده سرانگشتی رایج برای پرداختهای بزرگتر 6 تأییدیه است. قطعیت و تأییدیهها را ببینید.