🔐 دانشکدهٔ ۴ · انتقال امن و تعامل با قراردادها
کارمزد شبکه و گس
Network fees & gas
پیشنیازها: شبکهها، آدرسها و انتقال بیخطا
📚 آموزش در سه سطح
از سطح ساده شروع کنید؛ اگر روشن بود، سطح بعد را بخوانید. سطح مناسب شما ذخیره میشود.
🌱 توضیح ساده
هر تراکنش روی بلاکچین باید توسط ماینرها یا اعتبارسنجها در بلاک قرار گیرد و فضای بلاک محدود است. کارمزد شبکه هزینهای است که برای این فضا و پردازش میپردازید. وقتی تقاضا زیاد است، کارمزد بالا میرود؛ مثل کرایهٔ تاکسی اینترنتی که در ساعت شلوغی گرانتر میشود.
در اتریوم و شبکههای مشابه به این کارمزد «گس» (Gas) میگویند. گس مثل بنزین خودروست: هر کار روی شبکه مقدار مشخصی گس مصرف میکند و شما قیمت هر واحد را میپردازید. ارسال سادهٔ اتر کار کوچکی است و گس کمی میخواهد؛ تعامل با یک قرارداد پیچیده گس بیشتری مصرف میکند.
کارمزد شبکه با کارمزد صرافی فرق دارد. کارمزد شبکه به بلاکچین میرسد؛ کارمزد صرافی را صرافی برای خدماتش میگیرد و گاهی برای برداشت مبلغ ثابتی تعیین میکند که با کارمزد واقعی شبکه یکی نیست. کارمزد شبکه دائماً تغییر میکند، پس هیچ عدد ثابتی را حفظ نکنید و همیشه پیش از ارسال آن را در کیف پول یا ابزارهایی مثل mempool.space و Etherscan Gas Tracker ببینید.
📘 توضیح متوسط
در اتریوم، کارمزد برابر است با «گس مصرفشده × قیمت هر واحد گس». قیمت گس معمولاً با واحد gwei بیان میشود و هر gwei برابر ۰٫۰۰۰۰۰۰۰۰۱ ETH (۱۰ به توان منفی ۹) است. یک انتقال سادهٔ ETH دقیقاً ۲۱٬۰۰۰ گس مصرف میکند. پس اگر قیمت مؤثر گس ۲۰ gwei باشد، کارمزد ۲۱٬۰۰۰ × ۲۰ = ۴۲۰٬۰۰۰ gwei یعنی ۰٫۰۰۰۴۲ ETH است. انتقال توکن ERC-20 بسته به قرارداد معمولاً چند ده هزار گس بیشتر میخواهد.
از ارتقای London در اوت ۲۰۲۱ (EIP-1559)، قیمت گس دو جزء دارد: «کارمزد پایه» (Base Fee) که شبکه بر اساس شلوغی بلاک قبلی تعیین میکند و سوزانده میشود، و «انعام» (Priority Fee) که به اعتبارسنج میرسد. کاربر یک سقف (Max Fee) هم تعیین میکند؛ قیمت مؤثر برابر کمترینِ «سقف» و «کارمزد پایه + انعام» است و مازاد سقف خرج نمیشود. «سقف گس» (Gas Limit) هم حداکثر واحدی است که اجازهٔ مصرفش را میدهید.
در بیتکوین گس وجود ندارد؛ کارمزد بر اساس اندازهٔ تراکنش به بایت مجازی (vB) و نرخ ساتوشی بر بایت مجازی (sat/vB) محاسبه میشود: کارمزد = اندازه × نرخ. تراکنشی با ۱۴۰ vB و نرخ ۱۰ sat/vB، ۱٬۴۰۰ ساتوشی کارمزد دارد. تراکنشهای با ورودیهای زیاد (مثلاً جمع کردن دهها واریز کوچک) بزرگترند و با همان نرخ گرانتر تمام میشوند. وضعیت لحظهای صف تراکنشها (Mempool) و نرخهای پیشنهادی را در mempool.space ببینید.
🔬 توضیح تخصصی
کارمزد پایه در EIP-1559 بهصورت الگوریتمی تنظیم میشود: اگر بلاک قبلی از هدف (نیمهٔ ظرفیت) پرتر بوده، کارمزد پایه حداکثر ۱۲٫۵ درصد بالا میرود و اگر خالیتر بوده، به همان نسبت پایین میآید. به همین دلیل در هجوم ناگهانی تقاضا، کارمزد پایه در چند دقیقه میتواند چند برابر شود. سقف Max Fee را معمولاً بالاتر از کارمزد پایهٔ فعلی میگذارند تا تراکنش با افزایشهای بعدی هم معتبر بماند.
تراکنش ناموفق هم کارمزد دارد. اگر اجرای قرارداد شکست بخورد (Revert)، گس مصرفشده تا لحظهٔ شکست پرداخت میشود؛ و اگر گس تمام شود (Out of Gas)، کل سقف گس مصرفشده حساب میشود. پس کم گذاشتن دستی Gas Limit برای «صرفهجویی» میتواند به پرداخت کارمزد بدون نتیجه بینجامد. نکتهٔ امنیتی: سایتی که از شما میخواهد برای «دریافت ایردراپ» کارمزد گس بالایی بپردازید یا تراکنشی با گس غیرعادی امضا کنید، ممکن است در حال اجرای قرارداد مخرب باشد.
تراکنش گیرکرده در اتریوم با «نانس» (Nonce) حساب مدیریت میشود: هر حساب تراکنشها را به ترتیب نانس اجرا میکند و تراکنش بعدی تا اجرای قبلی منتظر میماند. برای جایگزینی، تراکنشی با همان نانس و کارمزد بالاتر میفرستید (Speed up یا Cancel در کیف پول). در بیتکوین دو روش هست: RBF (جایگزینی با کارمزد بالاتر) و CPFP (خرج کردن خروجی تأییدنشده با کارمزد بالا تا ماینر هر دو را با هم بردارد). لایههای دوم اتریوم کارمزد کمتری دارند، اما هزینهٔ انتشار داده روی لایهٔ اول را هم شامل میشوند و همچنان متغیرند.
🌍 مثال واقعی: ارتقای London و EIP-1559 — ۵ اوت ۲۰۲۱
ارتقای London شبکهٔ اتریوم در ۵ اوت ۲۰۲۱ در بلاک ۱۲٬۹۶۵٬۰۰۰ فعال شد و EIP-1559 را به اجرا گذاشت. پیش از آن، کاربران در یک حراج ساده قیمت گس پیشنهاد میدادند و اغلب بیش از حد لازم میپرداختند. پس از آن، کارمزد پایهٔ هر بلاک بهصورت الگوریتمی تعیین و سوزانده میشود و کاربر فقط انعام را به اعتبارسنج میدهد.
میتوانید این تغییر را در هر مرورگر بلاکچین اتریوم ببینید: در صفحهٔ هر تراکنش پس از London، فیلدهای Base Fee، Max Fee، Max Priority Fee و مقدار سوزاندهشده (Burnt) جداگانه نمایش داده میشوند. مقدار کل اتر سوزاندهشده از آن زمان دائماً تغییر میکند و باید آن را در ابزارهای آنچین مانند Etherscan دید، نه از عددی حفظشده.
🔤 واژگان تخصصی
واحد سنجش کار محاسباتی در ماشین مجازی اتریوم که کارمزد بر اساس آن محاسبه میشود.
مثال: یک انتقال سادهٔ ETH ۲۱٬۰۰۰ گس مصرف میکند.
واحد کوچک اتر برابر ۱۰ به توان منفی ۹ ETH که قیمت گس معمولاً با آن بیان میشود.
مثال: قیمت گس ۲۰ gwei یعنی هر واحد گس ۰٫۰۰۰۰۰۰۰۲ ETH.
بخش الگوریتمی کارمزد در EIP-1559 که بر اساس شلوغی بلاک قبلی تعیین و سوزانده میشود.
مثال: پس از چند بلاک پر، کارمزد پایه در هر بلاک تا ۱۲٫۵ درصد بالا میرود.
بخشی از کارمزد که به اعتبارسنج میرسد و انگیزهٔ گنجاندن تراکنش است.
مثال: افزودن ۲ gwei انعام برای قرار گرفتن سریعتر در بلاک.
واحد نرخ کارمزد بیتکوین؛ کارمزد کل برابر اندازهٔ تراکنش به vB ضرب در این نرخ است.
مثال: تراکنش ۲۰۰ vB با نرخ ۵ sat/vB، ۱٬۰۰۰ ساتوشی کارمزد دارد.
شمارندهٔ ترتیبی تراکنشهای یک حساب اتریوم که ترتیب اجرا و امکان جایگزینی را تعیین میکند.
مثال: ارسال تراکنش صفر ETH به خودتان با همان نانس و کارمزد بالاتر برای لغو تراکنش گیرکرده.
🔑 نکات کلیدی
- کارمزد اتریوم = گس مصرفشده × قیمت مؤثر گس؛ کارمزد بیتکوین = اندازه (vB) × نرخ (sat/vB).
- پس از EIP-1559، کارمزد پایه سوزانده میشود و انعام به اعتبارسنج میرسد؛ مازاد Max Fee خرج نمیشود.
- تراکنش ناموفق هم کارمزد میپردازد؛ Gas Limit را بیدلیل دستکاری نکنید.
- کارمزد دائماً تغییر میکند؛ عدد حفظ نکنید و پیش از ارسال در mempool.space یا Etherscan بررسی کنید.
- تراکنش گیرکرده را با همان نانس (اتریوم) یا RBF/CPFP (بیتکوین) جایگزین کنید، نه با ارسال تکراری.
⚠️ اشتباهات رایج
- اشتباه گرفتن کارمزد برداشت صرافی با کارمزد شبکه؛ اشتباه است چون صرافی ممکن است مبلغ ثابتی بگیرد که با هزینهٔ واقعی شبکه فرق دارد.
- کم کردن دستی Gas Limit برای صرفهجویی؛ اشتباه است چون تراکنش با Out of Gas شکست میخورد و کارمزد مصرفشده برنمیگردد.
- ارسال دوبارهٔ همان پرداخت وقتی تراکنش اول گیر کرده؛ اشتباه است چون ممکن است هر دو اجرا شوند و دو بار پرداخت کنید.
- پرداخت گس بالا به سایتی که برای «آزادسازی ایردراپ» کارمزد میخواهد؛ اشتباه است چون این الگوی رایج کلاهبرداری است.
🛠 تمرین عملی: محاسبهٔ دستی و مقایسه با ماشینحساب
- در ماشینحساب کارمزد آزمایشگاه، کارمزد انتقال سادهٔ ETH با ۲۱٬۰۰۰ گس و قیمت مؤثر ۲۵ gwei را حساب کنید و با محاسبهٔ دستی خود مقایسه کنید.
- همان را با فرض کارمزد پایهٔ ۲۰ gwei و انعام ۲ gwei و Max Fee برابر ۵۰ gwei تکرار کنید و بخش سوزاندهشده را جدا بنویسید.
- یک تراکنش بیتکوین ۲۲۵ vB را با سه نرخ ۲، ۱۰ و ۴۰ sat/vB حساب کنید.
- یک تراکنش دلخواه را در Sepolia Etherscan یا mempool.space باز کنید و فیلدهای کارمزد آن را با فرمول بازسازی کنید.
✅ معیار درستی: محاسبههای دستی شما با خروجی ماشینحساب و مرورگر بلاکچین برابر است (برای EIP-1559: ۲۱٬۰۰۰ × ۲۲ = ۴۶۲٬۰۰۰ gwei = ۰٫۰۰۰۴۶۲ ETH که ۰٫۰۰۰۴۲ ETH آن سوزانده میشود).
🔒 در هیچ تمرینی از سرمایهٔ واقعی، عبارت بازیابی (Seed Phrase)، کلید خصوصی یا اتصال کیف پول اصلی استفاده نکنید.
📝 آزمون تطبیقی
هر بار ۵ سؤال از بانک ۸ سؤالی این درس انتخاب میشود؛ سؤالهایی که قبلاً اشتباه زدهاید زودتر برمیگردند. حدنصاب قبولی ۸۰٪ (۴ از ۵) است و درس بعد با قبولی باز میشود.
✍️ پرسش تشریحی
توضیح دهید چرا کارمزد شبکه در اتریوم و بیتکوین ثابت نیست، چگونه در هر کدام محاسبه میشود و یک کاربر برای کاهش هزینه بدون افزایش ریسک چه کارهایی میتواند بکند.
بعد از نوشتن، پاسخ خود را با این معیارها بسنجید
خودارزیابی: هر نکتهای را که پاسخ شما بهروشنی پوشش داده علامت بزنید.
🤖 دستیار آموزشی
دستیار آفلاین آکادمی: پاسخها فقط از متن درسها و واژگان همین آکادمی پیدا میشوند و منبع هر پاسخ نشان داده میشود. هوش مصنوعی مولد نیست، حدس نمیزند و هیچ سیگنال خرید و فروشی نمیدهد.
📎 منابع مطالعاتی
- ethereum.org — Gas and fees
- EIP-1559 — Fee market change for ETH 1.0 chain
- mempool.space — Documentation
- Bitcoin Developer Guide — Transactions
🏁 معیار تسلط بر این درس: بتوانید کارمزد هر تراکنش اتریوم و بیتکوین را دستی حساب کنید، بخش سوزاندهشده را جدا کنید و برای تراکنش گیرکرده یا ناموفق تصمیم درست بگیرید.