متوسط کریپتو پدیا

مفهوم گس اتریوم چیست؛ همه چیز درباره سوخت شبکه اتریوم!

اگر تراکنشی را در شبکه اتریوم انجام داده باشید، با مفاهیم Gas Price و Gas limit رو به رو شده‌اید. گس اتریوم چیست و کارمزد در شبکه اتریوم چگونه محاسبه می‌شود؟

اگر تا به حال از اتریوم و قراردادهای هوشمند آن استفاده کرده باشید، احتمالا نام گس هم به گوشتان خورده است. اکثر افراد Gas را تنها چیزی مانند کارمزد تراکنش‌ها در شبکه اتریوم در نظر می‌گیرند چیزی مانند Fee تراکنش‌ها در شبکه بیت کوین که بابت هر تراکنش، مقداری به عنوان کارمزد باید به ماینرهای شبکه پرداخت شود. اما مسئله بسیار فراتر از این است و گس در شبکه اتریوم با کارمزد تراکنش‌های بیت کوین بسیار متفاوت است. پس گس در اتریوم چیست و محاسبه کارمزد در شبکه بلاکچین اتریوم چگونه است. در این مقاله قصد داریم به شکلی ساده به توضیح گس، Gas limit و مسائل مربوط به آن بپردازیم.

این مقاله در تاریخ ۱۴ دی ماه ۱۳۹۹ بروز رسانی شده است

گس اتریوم چیست ؟

گس اتریوم چیست

برای اینکه بدانیم قیمت گس (Gas) و gas limit در شبکه اتریوم چیست با یک مثال ساده و کاربردی شروع می‌کنیم. ابتدا اتریوم و قرارداد هوشمند(Smart Contract) را برای لحظه‌ای فراموش کنید. خودروی شما یک موتور دارد که برای کار کردن به بنزین نیاز دارد. برای رفتن از نقطه A به نقطه B، موتور خودروی شما مقداری بنزین می‌سوزاند و هر چه فاصله بیشتر باشد، بنزین بیشتری هم مصرف می‌شود. شما از جایگاه سوخت بنزین می‌خرید و بابت آن پول پرداخت می‌کنید. با این حال شما چه طور می‌توانید حدس بزنید که در این سفر، چقدر هزینه سوختتان می‌شود؟ برای این کار ابتدا شما باید فاصله تقریبی را به کیلومتر تخمین بزنید، بعد آن را در میزان مصرف سوخت خودروی خود ضرب کنید و در نهایت بعد از آن که تخمین زدید چه مقدار سوخت، احتمالا در این سفر مصرف خواهد شد، باید آن را در قیمت سوخت ضرب کنید.


مطالعه بیشتر: قرارداد هوشمند چیست ؟ با کاربردهای Smart Contract آشنا شوید


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

برای محاسبه کارمزد تراکنش در شبکه اتریوم، باید Gas limit را در Gas price یا قیمت گس ضرب کرد.

Gas Limit چیست ؟

نکته جالبی که در خصوص اتریوم وجود دارد، این است که هر کد دستوری، Gas limit ثابت و از پیش تعیین شده‌ای دارد که شما نمی‌توانید آن را تغییر دهید. در واقع این Gas limit بر اساس نوع قرارداد هوشمند و حجم کدهای یک قرارداد هوشمند تعیین می‌شود. مقدار گس نمی‌تواند کمتر از Gas limit وارد شود در این صورت تراکنش انجام شده بررسی نخواهد شد. اما قیمت گس یا سوخت ماشین اتریوم را کاربران تعیین می‌کنند و مقدار آن در هر زمان متغیر است. وقتی یک قرارداد هوشمند اجرا می‌شود، شما خودتان تعیین می‌کنید که برای هر واحد گس چه مقدار تمایل دارید پرداخت کنید. به عبارت دیگر ماینرهای شبکه اتریوم تصمیم می‌گیرند که آیا قیمت پیشنهادی را قبول کنند و قرارداد فرا خوانده شده را اجرا کنند یا خیر. از آنجا که ماینرها تمایل دارند درآمد بیشتری بابت ظرفیت پردازشی که در اختیار شبکه اتریوم قرار می‌دهند، داشته باشند معمولا تراکنش‌هایی را که هزینه بیشتری برای گس پرداخت می‌کنند را در اولویت قرار می‌دهند. پس:

اولویت بررسی تراکنش‌ها در شبکه اتریوم بر اساس قیمت گس تعیین شده برای آن تراکنش خواهد بود.

کاربرد دیگری که Gas limit در شبکه غیرمتمرکز اتریوم دارد جلوگیری از حملات Spam است که در آن تعداد زیادی تراکنش با هدف مختل کردن شبکه ارسال می‌شوند. هزینه‌ای که بابت گس برای اجرای تراکنش و قرارداد هوشمند در شبکه اتریوم باید پرداخت شود، از این نوع حملات در شبکه جلوگیری می‌کند.

قیمت گس یا Gas Price چیست ؟

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

جیوی یا Gwei چیست؟

واحد Gas Price، گیگاوی (Giga Wei) است که به اختصار Gwei یا جیوی گفته می‌شود. Wei کوچکترین واحد شمارش اتر است (مانند ساتوشی در شبکه بیت کوین). هر Wei معادل ۱۰ به توان ۱۸- اتر است (۱ETH=۱۰^۱۸ wei) . پس هر گیگا وی  هم معادل ۱۰ به توان ۹ وی (Wei) است (۱Gwei=۱۰^۹wei). کیف پول‌های اتریوم هم غالبا از این واحد برای تعیین قیمت گس استفاده می‌کنند. یعنی در واقع شما تعیین می‌کنید که به ازای هر واحد گس تمایل دارید چند جیوی  پرداخت کنید. قیمت گس در شبکه اتریوم را می‌توان به صورت لحظه‌ای از این وبسایت مشاهده کنید. طبیعتا اگر Gas Price را بالاتر از میانگین انتخاب کنید، تراکنش شما در شبکه اتریوم سریعتر انجام می‌شود و در صورتی که قیمت گس را کمتر از میانگین انتخاب کنید، تراکنش شما یا انجام نمی‌شود و یا زمان زیادی باید منتظر بمانید.

گس لیمیت در شبکه اتریوم

همانطور که در بالا اشاره شد در یک تراکنش اتریوم علاوه بر Gas Price، شما باید یک پارامتر دیگر به نام Gas Limit را هم تعیین کنید. Gas limit حداکثر تعداد گسی است که شما ملزم به پرداخت آن در یک تراکنش هستید. مقدار پیش فرض Gas Limit  اکثرا ۲۱,۰۰۰ گس است. یعنی شما برای انجام این تراکنش ۲۱,۰۰۰ گس پرداخت می‌کنید و قیمت هر گس را نیز باید خوتان تعیین کنید که با توجه به میانگین قیمت گس در حال حاضر باید انتخاب شود. اما برای اجرای برخی از قراردادهای هوشمند که دارای تعداد کدهای دستوری زیاد و سنگین هستند شاید کافی نباشد و باید  به مقدار آن اضافه شود. اگر به همان مثال خودرو بازگردیم، می‌توان گفت که Gas Limit مانند ظرفیت باک ماشین است. بعد از تعیین Gas Price و Gas Limit و انجام تراکنش مورد نظر، براساس تعداد و نوع کدهای دستوری موجود در قرار داد هوشمندی که فرا خوانده‌اید و یا حتی تراکنش عادی اتریومی که انجام داده‌اید مقداری مشخص از گس با قیمت مشخص شده به عنوان Gas Price، مصرف می‌شود. در صورتیکه میزان گس مورد نیاز برای اجرای تراکنش بیشتر از Gas Limit تعیین شده توسط شما باشد، تراکنش شما انجام شده و مابقی به کیف پول شما بازگردانده خواهد شد. اما اگر مقدار Gas Limit را کمتر از مقدار لازم انتخاب کنید، تراکنش شما پردازش نخواهد شد.

 در واقع میزان کارمزدی که شما برای یک تراکنش پرداخت می کنید، برابر است با تعداد گس مورد نیاز برای اجرای تراکنش که نباید از Gas Limit کمتر باشد ضربدر Gas Price یا مقدار اتری که شما تمایل دارید برای هر واحد گس پرداخت کنید که واحد آن Gwei است.
  • مثال: در یک تراکنش که قصد دارید مقداری اتریوم را از یک کیف پول انتقال دهید، Gas limit  برابر با ۲۱,۰۰۰ واحد گس است. فرض کنید که در حال حاضر قیمت گس در بازار برابر با ۲۰ GWei تعیین شده باشد ؛آنگاه کارمزد پرداختی برای این تراکنش برابر است با:

کارمزد تراکنش = ۲۰ * ۲۱,۰۰۰ = ۴۲۰,۰۰۰ جیوی یا  ۰.۰۰۰۴۲ اتریوم

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

قیمت گس در شبکه اتریوم را از کجا می‌توان مشاهده کرد و چه تفاوتی دارد؟
قیمت گس را در این سایت مشاهده کنید. معمولا سه قیمت برای قیمت گس نشان داده می‌شود؛ قیمت استاندارد، که میانگین قیمت گس در شبکه است. قیمت سریع، که بالاتر از میانگین بوده و در مدت زمانی کوتاهتر تراکنش بررسی و تایید می‌شود و قیمت تریدر، که با انتخاب آن، در کوتاهترین زمان ممکن تراکنش توسط ماینرها انتخاب شده و بررسی می‌شود.
اگر gas limit را کمتر انتخاب کنیم، چه اتفاقی خواهد افتاد؟
Gas limit در شبکه اتریوم بر اساس کدهای قرارداد هوشمند تعیین می‌شود و حداکثر گس مورد نیاز برای بررسی تراکنش است. مثلا برای انجام تراکنش‌های عادی در شبکه اتریوم، مقدار آن ۲۱,۰۰۰ گس بوده و مقدار آن ثابت است. اگر مقداری کمتر از gas limit انتخاب کنید تراکنش شما fail خواهد شد و خطای Out Of Gas در تراکنش شما به نمایش درخواهد آمد. در این حالت مقدار gas limit که تعیین کرده‌اید به ماینر رسیده و با اینکه تراکنش شما انجام نشده، اما Gas limit از کیف پول شما کسر خواهد شد.
اگر Gas limit را بالاتر انتخاب کنیم چه اتفاقی خواهد افتاد؟
اگر برای انجام یک تراکنش مقدار بالاتر از Gas limit را انتخاب کنید، مقدار اضافی به شما بازگردانده خواهد شد. مثلا برای انجام یک تراکنش ۲۱,۰۰۰ گس نیاز است اما اگر شما ۴۰,۰۰۰ گس را به عنوان gas limit تعیین کنید، ۲۱,۰۰۰ گس مصرف شده و مابقی به کیف پول شما بازگردانده خواهد شد.
برای انجام تراکنش عجله دارم، چه کاری باید انجام دهم؟
اگر به هر دلیلی علاقه دارید تا تراکنش شما توسط ماینرها سریعتر مورد بررسی قرار گیرد و تایید شود، تغییر در gas limit هیچ تاثیری نخواهد داشت. بلکه باید gas price را عددی بالاتر از میانگین انتخاب کنید و یا بالاترین عددی که توسط ارائه‌دهندگان قیمت گس در شبکه اتریوم ارائه می‌شود را انتخاب کنید.
من gas price را بسیار پایین انتخاب کرده‌ام، تراکنش من هنوز تایید نشده، چطور می‌توانم آن را کنسل کنم؟
اگر تراکنش شما در حالت Pending قرار دارد، آن را نمی‌توان کنسل کرد اما می‌توان آن را با تراکنشی دیگر جایگزین کرد. TXid خود را در etherscan وارد کنید و مطابق تصویر زیر، Nonce تراکنش خود را بیابید.

کنسل تراکنش در شبکه اتریوم

 وارد کیف پول خود شوید و تراکنشی به مقدار صفر اتریوم را به آدرس خود ارسال کنید(از کیف پول خودتان به کیف پول خودتان، مقدار صفر اتریوم ارسال کنید)، این بار Gas را بالا انتخاب کنید، وارد قسمت تنظیمات تراکنش شوید و از قسمت Advanced، نانس این تراکنش را برابر با نانس تراکنشی که Pending مانده انتخاب کنید. تراکنش قبلی شما کنسل خواهد شد. البته تغییر نانس در همه کیف پول‌ها امکان‌پذیر نیست.

سخن پایانی

در این مقاله به سوال گس اتریوم چیست ؟ پاسخ دادیم. همچنین با مفاهیمی همچون Gas limit و قیمت گس در شبکه اتریوم آشنا شدیم. برای محاسبه کارمزد تراکنش‌ها در دومین شبکه بلاکچین بازار ارزهای دیجیتال باید قیمت گس را در gas limit تراکنش ضرب کنیم. بدین صورت، مقدار نهایی فی تراکنش محاسبه خواهد شد. همچنین در بخش انتهایی مقاله، به برخی از سوال‌هایی که کاربران در زمینه گس در شبکه اتریوم مطرح کرده‌اند پاسخ دادیم.

منبع
میهن بلاکچین

نوشته های مشابه

27 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments
دکمه بازگشت به بالا