پرش به محتوای اصلی

گاز و کارمزد‌ها

آخرین ویرایش: , Invalid DateTime

گاز برای شبکه‌ی اتریوم حیاتی است. سوختی است که به شبکه امکان کار کردن می‌دهد، همان‌طور که یک اتومبیل نیاز به بنزین دارد.

پیش‌نیازها

برای درک بهتر این صفحه، توصیه می‌شود که ابتدا تراکنش‌ها و ماشین مجازی اتریوم مطالعه شود.

گاز چیست؟

گاز به واحدی گفته می‌شود که میزان زحمت محاسباتی موردنیاز را برای اجرای یک عمل خاص در شبکه‌ی اتریوم اندازه‌گیری می‌کند.

از آن‌جا که هر تراکنش اتریوم نیاز به منابع محاسباتی برای اجرا دارد، هر تراکنش نیاز به کارمزد دارد. گاز به کارمزد موردنیاز برای انجام موفق یک تراکنش بر روی اتریوم گفته می‌شود.

نموداری که نشان می‌دهد کجا گاز در عملیات‌های EVM موردنیاز است (opens in a new tab) نمودار برگرفته ازEthereum EVM illustrated(opens in a new tab)

کارمزد گاز به شکل ارز مبدا اتریوم، اتر (ETH)، پرداخت می‌شود. قیمت گاز به شکل gwei که خود یک خرده‌ارز از اتر است مشخص می‌شود - هر gwei برابر 0.000000001 اتر است (10-9 اتر). برای مثال به این که بگوییم گاز 0.000000001 اتر است، شما می‌توانید بگویید که گاز به انداره‌ی 1 gwei است. واژه‌ی 'gwei' خود به معنی «گیگا-wei» است که برابر 1,000,000,000 wei است. wei (نام‌گذازی شده از weiDai(opens in a new tab) سازنده‌ی b-money(opens in a new tab)) خود کوچکترین واحد اتر است.

پیش از ارتقای لندن

روشی که کارمزد تراکنش در شبکه‌ی اتریوم محاسبه می‌شد با ارتقای لندن در آگوست 2021 تغییر کرد. خلاصه‌ای از روش پیشین در زیر آورده شده است:

فرض کنید که آلیس باید 1 اتر به باب می‌پرداخت. در تراکنش محدوده گاز برابر 21,000 واحد بود و قیمت گاز برابر 200 gwei.

کارمز کلی معادل واحد گاز (محدوده) * قیمت گاز به ازای هر واحد یعنی 21,000 * 200 = 4,200,000 gwei یا 0.0042 اتر است

زمانی که آلیس پول را می‌فرستاد، 1.0042 اتر از حساب آلیس کم می‌شد. باب 1.0000 اتر دریافت می‌کرد. استخراج‌گر 0.0042 اتر دریافت می‌کرد.

این ویدئو گاز و علت وجودش را به‌طور اجمالی بررسی می‌کند:

پس از ارتقای لندن

ارتقای لندن در 5 آگوست 2021 با تعمیرات اساسی در مکانیزم کارمزد تراکنش اتریوم پیاده‌سازی شد تا تراکنش‌های اتریوم برای کاربر پیش‌بینی‌پذیرتر باشد. مزایای کلی که با این تغییر معرفی شدند عبارتند از تخمین بهتر کارمزد تراکنش، افزایش سرعت گنجاندن تراکنش‌ در بلوک به‌طور کلی و کاهش صدور اتر با سوزاندن درصدی از کارمزد تراکنش.

از زمانی که ارتقای شبکه‌ی لندن انجام شده است، هر بلوک دارای یک کارمزد پایه‌ است، که حداقل هزینه بر اساس واحد گاز برای گنجاندن در این بلوک است، و این رقم بر اساس تقاضا برای فضای بلوک توسط شبکه محاسبه می‌شود. وقتی کارمزد پایه‌ی کارمزد تراکنش سوزانده می‌شود، از کاربران همچنین انتظار می‌رود که یک انعام (کارمزد اولویت) در تراکنش‌هایشان لحاظ کنند. این انعام برای اجرا و گنجاندن تراکنش‌های کاربر درون بلوک‌ها به استخراج‌گر پرداخت می‌شود و انتظار می‌رود که توسط اکثر کیف پول‌ها به‌صورت خودکار مشخص شود.

محاسبه‌ی کل کارمزد تراکنش به این صورت است: واحد گاز (حد) * (کارمزد پایه + انعام)

فرض کنید جردن باید 1 اتر به تیلور بپردازد. در این تراکنش حد گاز برابر با 21,000 واحد و کارمزد پایه برابر 100 gwei است. جردن 10 gwei را به‌عنوان انعام اضافه می‌کند.

با استفاده از فرمول بالا داریم 21,000 * (100 + 10) = 2,310,000 gwei یا 0.00231 اتر.

زمانی که جوردن پول را می‌فرستد، 1.00231 اتر از حساب جوردن کم می‌شود. تیلور 1.0000 اتر دریافت می‌کند. استخراج‌گر به میزان 0.00021Eth اتر انعام دریافت می‌کند. کارمزد پایه‌ی 0.0021 اتر سوزانده می‌شود.

علاوه بر این، جردن می‌تواند برای تراکنش حداکثر کارمزد (maxFeePerGas) تعیین کند. تفاوت بین ماکسیمم کارمزد و کارمزد واقعی به جردن پس داده می‌شود یعنی بازگشت = ماکسیمم کارمزد - (کارمزد پایه + کارمزد اولویت). جردن می‌تواند برای اجرای تراکنش حداکثر مبلغی تعیین کند و نگران پرداخت بیش از حد «بالاتر» از کارمزد پایه هنگام اجرای تراکنش نباشد.

اندازه‌ی بلوک

پیش از ارتقای لندن، بلوک‌های اتریوم اندازه‌ی ثابتی داشتند. هنگامی که تقاضای شبکه بالا بود، این بلوک‌ها در ظرفیت کامل عمل می‌کردند. در نتیجه، کاربران عموماً باید صبر می‌کردند که تقاضای بالا کاهش یابد تا بتوانند در یک بلوک جای بگیرند، و این موضوع باعث می‌شد که تجربه‌ی کاربری چندان خوب نباشد.

ارتقای لندن بلوک‌های دارای اندازه‌ی متغیر را به اتریوم معرفی کرد. هر بلوک اندازه‌ی هدفی به اندازه‌ی 15 میلیون گاز دارد اما سایز بلوک‌ها می‌تواند بسته به تقاضای شبکه‌ بیشتر یا کمتر شود و بیشترین حد آن 30 میلیون گاز است (2 برابر اندازه‌ی بلوک). پروتکل در فرایند tâtonnement به‌طور میانگین به اندازه‌ی بلوک متوازن 15 میلیون دست می‌یابد. این بدین معنا است که اگر اندازه‌ی بلوک از اندازه‌ی هدف بلوک بیشتر باشد، پروتکل کارمزد پایه‌ را برای بلوک بعدی بیشتر می‌کند. به صورتی مشابه، پروتکل زمانی که اندازه‌ی بلوک از اندازه‌ی هدف بلوک کمتر باشد کارمزد پایه‌ را کاهش می‌دهد. مقداری که کارمزد پایه با آن تنظیم می‌شود بستگی به فاصله‌ی اندازه‌ی بلوک از اندازه‌ی هدف دارد. اطلاعات بیشتر درباره‌ی بلوک‌ها.

کارمزد پایه

هر بلوک یک کارمزد پایه دارد که به‌عنوان قیمت ذخیره عمل می‌کند. جهت احراز شرایط برای گنجانده‌شدن در بلوک، قیمت ارائه‌شده برای گاز باید حداقل به اندازه‌ی کارمزد پایه باشد. کارمزد پایه به‌طور مستقل از این بلوک محاسبه می‌شود و توسط بلوک قبلی مشخص می‌شود - که باعث می‌شود کارمزد تراکنش برای کاربران پیش‌بینی‌پذیرتر باشند. زمانی که بلوک استخراج می‌شود این کارمزد پایه سوزانده می‌شود و از چرخه خارج می‌شود.

کارمزد پایه توسط فرمولی که اندازه‌ی بلوک قبلی (میزان گازی که توسط تمام تراکنش‌ها استفاده شده است) را با اندازه‌ی هدف مقایسه می‌کند محاسبه می‌شود. اگر اندازه‌ی بلوک از اندازه‌ی هدف بلوک بیشتر شود، کارمزد پایه حداکثر به اندازه‌ی 12.5% در هر بلوک افزایش می‌یابد. این رشد نمایی باعث می‌شود که از نظر اقتصادی به‌صرفه نباشد که اندازه‌ی بلوک سقف نامحدودی داشته باشد.

شماره‌ی بلوکگاز لحاظ‌شدهافزایش کارمزدکارمزد پایه‌ی فعلی
115 میلیون0%100 gwei
230 میلیون0%100 gwei
330 میلیون12.5%112.5 gwei
430 میلیون12.5%126.6 gwei
530 میلیون12.5%142.4 gwei
630 میلیون12.5%160.2 gwei
730 میلیون12.5%180.2 gwei
830 میلیون12.5%202.7 gwei

به نسبت بازار حراج گاز قبل از لندن، این تغییر مکانیزم بدون کارمزد تراکنش باعث می‌شود که پیش‌بینی کارمزد قابل اتکاتر بشود. با توجه به جدول فوق - برای ثبت یک تراکنش در بلوک شماره‌ی 9 یک کیف پول به کاربر اجازه می‌دهد که با قطعیت بداند که حداکثر کارمزد پایه که به بلوک بعدی اضافه می‌شود برابر است با کارمزد پایه‌ی فعلی * 112.5% یا 202.8 gwei * 112.5% = 228.1 gwei خواهد بود.

همچنین باید خاطرنشان کرد احتمال اینکه بلوک‌های پر ادامه پیدا کنند کم است، چرا که سرعت بالا رفتن کارمزد پایه برای بلوک‌های پر بسیار زیاد است.

شماره‌ی بلوکگاز لحاظ‌شدهافزایش کارمزدکارمزد پایه‌ی فعلی
3030 میلیون12.5%2705.6 gwei
......12.5%...
5030 میلیون12.5%28531.3 gwei
......12.5%...
10030 میلیون12.5%10302608.6 gwei

کارمزد اولویت (انعام)

پیش از ارتقای لندن، استخراج‌گران کل کارمزد گاز را از همه‌ی تراکنش‌های درون بلوک دریافت می‌کردند.

با روش جدید که در آن کارمزد پایه سوزانده می‌شود، ارتقای لندن کارمزد اولویت (انعام) را معرفی کرد تا استخراج‌گران تشویق به گنجاندن یک تراکنش در بلوک شوند. بدون انعام برای استخراج‌گران از نظر اقتصادی به صرفه است که بلوک‌های خالی را استخراج کنند چرا که همان میزان پاداش بلوک را دریافت می‌کنند. در شرایط عادی، یک انعام کوچک می‌تواند باعث شود که استخراج‌گران تشویق به گنجاندن تراکنش شوند. برای تراکنش‌هایی که لازم است ترجیحاً زودتر از بقیه‌ی تراکنش‌ها در این بلوک گنجانده شوند، انعام بیشتری نیاز خواهد بود که استخراج‌گران تشویق شوند آن را زودتر بگنجانند.

حداکثر هزینه

برای اجرای یک تراکنش در شبکه، کاربران می‌توانند برای پرداخت کارمزد تراکنششان سقف مشخص کنند. این پارامتر دلخواه به نام maxFeePerGas شناخته می‌شود. برای اجرای یک تراکنش، حداکثر کارمزد باید از مجموع کارمزد پایه و انعام بیشتر باشد. فرستنده‌ی تراکنش تفاضل حداکثر کارمزد و مجموع کارمزد پایه و انعام را بازپس خواهد گرفت.

کارمزد محاسبه

یکی از نکات مثبت ارتقای لندن، بهبود تجربه‌ی کاربر برای تنظیم کارمزد تراکنش است. در کیف پول‌هایی که این ارتقا را پشتیبانی می‌کنند، به جای این که خودتان دقیقاً مشخص کنید که چه قدر می‌خواهید برای اجرای تراکنشان بپردازید، کیف پول میزان توصیه‌شده‌ای از کارمزد تراکنش (کارمزد پایه + کارمزد اولویت توصیه‌شده) را پیشنهاد می‌دهد تا میزان پیچیدگی برای کاربر کاهش یابد.

EIP-1559

پیاده‌سازی EIP-1559(opens in a new tab) در ارتقای لندن باعث شد که مکانیزم پرداخت کارمزد تراکنش پیچیده‌تر از حراجی قیمت گاز شود، اما مزیتش این است که کارمزد گاز پیش‌بینی‌پذیرتر شود و در نتیجه بازار کارمزد تراکنش کاراتر می‌شود. کاربران می‌توانند تراکنش را با یک maxFeePerGas مطابق با مبلغی که مایل هستند برای اجرای تراکنششان بپردازند ارسال کنند؛ با علم به این که نیازی نیست چیزی بیشتر از قیمت بازار برای گاز (baseFeePerGas) بپردازند، و اضافه‌پرداخت بیشتر از انعامشان را بازپس بگیرند.

این ویدئو EIP-1559 و مزایای آن را توضیح می‌دهد:

اگر مشتاق هستید، می‌توانید مشخصاتEIP-1559(opens in a new tab) را به‌طور دقیق بخوانید.

برای کسب دانش عمیق‌تر در این باره منابع EIP-1559(opens in a new tab) را مطالعه کنید.

چرا کارمزد گاز وجود دارد؟

به طور خلاصه، کارمزد گاز به حفظ امنیت شبکه اتریوم کمک می‌کند. با درخواست کارمزد برای اجرای هر محاسبه روی شبکه، ما از اسپم کردن شبکه توسط عاملان بد جلوگیری می‌کنیم. برای جلوگیری از حلقه‌های بینهایت خواسته یا ناخواسته یا دیگر هدررفت‌های محاسباتی در کد، هر تراکنش لازم است مشخص کند که چند گام محاسباتی از اجرای کد را می‌تواند استفاده کند. واحد محاسباتی پایه «گاز» است.

هر چند که تراکنش حدی دارد، اما گاز استفاده نشده در یک تراکنش به کاربر بازگردانده می‌شود (یعنی حداکثر کامزد - (کارمزد پایه + انعام) برگردانده می‌شود).

نمودار چگونگی استرداد گاز مصرف نشده را نشان می‌دهد (opens in a new tab) نمودار برگرفته ازEthereum EVM illustrated(opens in a new tab)

حد گاز چیست؟

حد گاز به حداکثر میزان گازی که شما برای یک تراکنش مصرف می‌کنید گفته می‌شود. تراکنش‌های پیچیده‌تر شامل قراردادهای هوشمند نیاز به کار محاسباتی بیشتر دارند، در نتیجه نسبت به یک پرداخت ساده نیاز به حد گاز بالاتری دارند. یک انتقال استاندارد اتر نیاز به حد گازی برابر با 21,0000 واحد گاز دارد.

برای مثال اگر شما حد گاز را برای یک انتقال ساده‌ی اتر برابر با 50,000 قرار دهید، ماشین مجازی اتریوم 21,000 عدد را مصرف کرده و شما 29,000 عدد مانده را پس می‌گیرید. هر چند، اگر شما گاز بسیار پایینی مشخص کنید، برای مثال حد گاز برابر 20,000 برای یک انتقال ساده‌ی اتر، ماشین مجازی اتریوم همه‌ی 20,000 واحد گاز را مصرف می‌کند تا تراکنش را انجام دهد اما تراکنش کامل انجام نخواهد شد. ماشین مجازی اتریوم همه‌ی تغییرات را برمی‌گرداند اما از آنجا که استخراج‌گر به اندازه‌ی 20,000 واحد گاز کار کرده‌ است، گاز مصرف می‌شود.

چرا کارمزد گاز می‌تواند انقدر زیاد شود؟

بالا بودن کارمزد گاز به دلیل محبوبیت اتریوم است. انجام هر عملی در اتریوم نیاز به مصرف گاز دارد و حجم گاز در هر بلوک محدود است. محاسبات کارمزد، نگهداری و دستکاری داده یا جابه‌جایی توکن‌ها مقادیر متفاوتی از واحد «گاز» را مصرف می‌کنند. هر چه کارایی برنامه‌ی غیر متمرکز پیچیده‌تر شود، تعداد اعمالی که قرارداد هوشمند انجام می‌دهد بیشتر می‌شود، به این معنی که هر تراکنش فضای بیشتر از اندازه‌ی محدود بلوک را در اختیار می‌گیرد. اگر تقاضای بیش از حد وجود داشته باشد، کاربران باید انعام بیشتری بدهند تا تلاش کنند از تراکنش‌های دیگر کاربران جلو بیفتند. انعام بیشتر می‌تواند باعث شود احتمال اینکه تراکنش در بلوک بعدی ثبت شود بیشتر شود.

قیمت گاز به تنهایی مشخص نمی‌کند برای یک تراکنش چقدر باید بپردازیم. برای محاسبه‌ی کارمزد تراکنش باید میزان گاز استفاده شده را در کارمزد تراکنش ضرب کنیم که با gwei اندازه‌گیری می‌شود.

ابتکار عمل برای کاهش هزینه‌های گاز

ارتقاهای مقیاس‌پذیری اتریوم در نهایت باید به برخی از مسائل مربوط به کارمزد گاز رسیدگی کند، که به نوبه‌ی خود، پلتفرم را قادر می‌سازد تا هزاران تراکنش را در ثانیه پردازش کند و در سطح جهانی مقیاس‌پذیر شود.

مقیاس‌پذیری لایه‌ی 2 یک ابتکار اولیه برای بهبود هزینه‌ی گاز، تجربه‌ی کاربری و مقیاس‌پذیری است. اطلاعات بیشتر درباره‌ی مقیاس‌پذیری لایه‌ی 2.

مدل جدید اثبات سهام که روی زنجیره‌ی بیکن معرفی شد، باید مصرف زیاد انرژی و اتکای زیاد به سخت‌افزارهای اختصاصی را کاهش دهد. این زنجیره به شبکه‌ی غیرمتمرکز اتریوم امکان می‌دهد که موافقت کند و شبکه را ایمن نگه دارد، و در عین حال مصرف انرژی را در عوض با الزام تعهد مالی محدود می‌کند.

هر شخص با حداقل 32 اتر می‌تواند سهام‌گذاری کند و تبدیل به یک اعتبارسنج شود که وظیفه‌اش بررسی تراکنش، اعتبارسنجی بلوک‌ها و پیشنهاد بلوک جدید برای اضافه شدن به زنجیره‌ است. کاربرانی که کمتر از 32 اتر دارند می‌توانند به استخرهای سهام‌گذاری ملحق شوند.

راهبردهایی برای کاهش هزینه‌ی گاز شما

اگر به دنبال کاهش هزینه‌ی گاز برای اترتان هستید، می‌توانید یک انعام مشخص برای اولویت‌بندی تراکنش خود مشخص کنید. استخراج‌گران روی تراکنش‌هایی که انعام بیشتری بر اساس گاز می‌دهند «کار می‌کنند»، چون آن‌ها می‌توانند انعام را نگه‌ دارند و در نتیجه برای اجرای تراکنش‌هایی با انعام کمتر انگیزه‌ی کمتری خواهند داشت.

اگر می‌خواهید قیمت گاز را رصد کنید، تا بتوانید اترتان را با هزینه‌ی کمتری بفرستید، می‌توانید از ابزارهای متفاوتی مثل موارد زیر استفاده کنید:

بیشتر بخوانید

آیا این مقاله مفید بود؟