یکی از مهمترین مفاهیم در شبکه اتریوم مفهوم گس (Gas) یا سوخت میباشد. اصطلاحی که مطمئناً هنگام معاملات خود با اتریوم یا در هنگام کار با قراردادهای هوشمند با آن برخورد داشتهاید. در این مقاله از فکت کوینز میخواهیم به این مفهوم به طور کامل بپردازیم، پس با ما در ادامه همراه باشید.
تعریف گس یا سوخت اتریوم
گس به کارمزدی که برای انجام موفقیت آمیز یک تراکنش یا اجرای قرارداد هوشمند در بستر بلاکچین اتریوم مورد نیاز است، اتلاق میشود. مفهوم گس به نظر ساده است. اما، این مفهوم ساده نکات زیادی را در پشت خود پنهان میکند. Gas برای هر چیزی در داخل Ethereum ضروری است و وجود آن برای این اکوسیستم بسیار حیاتی است.
مثالی برای درک گس (Gas)
فرض کنید میخواهید با خانواده خود از شهری به شهر دیگر سفر کنید. این سفر با ماشین شما انجام میشود. در این مرحله، شما از قبل میدانید که مقصد 500 کیلومتر دورتر است و ماشین شما هر 10 کیلومتر از یک لیتر بنزین استفاده میکند. بنابراین برای رسیدن به مقصد خود به 50 لیتر بنزین نیاز خواهید داشت. علاوه بر این، شما میدانید یک لیتر بنزین بین 1 تا 1،5 یورو قیمت دارد.
این همان اتفاقی است که در اتریوم رخ میدهد. از یک طرف، هر کار در Ethereum دارای هزینه مشخص و ثابتی است که با نام Gas یا سوخت بکار میرود. که معادل لیتر بنزین است که ماشین شما در هر 10 کیلومتر استفاده میکند. البته، عملیات در اتریوم از عملکردهای مختلف کوچکتر تشکیل شده است، هرکدام با یک مقدار خاص گس (یا مصرف بنزین) و مجموع آنها همان چیزی است که به آن مقدار نهایی سوخت عملیات گفته میشود. بنابراین فقط یک سوال برای ما باقی مانده است، چقدر برای آن Gas پرداخت خواهیم کرد تا بتوانیم عملیات را در اتریوم انجام دهیم؟
در مثال بالا، هزینه سوخت بین 1 تا 1،5 یورو متغیر است. شما میتوانید محل سوختگیری را انتخاب کنید و برای خرید 50 لیتر بنزین موردنیاز خود تا آنجا که ممکن است کمترین هزینه را پرداخت کنید. در اتریوم نیز همین اتفاق میافتد، Gas دارای قیمتی در واحد اتر است که با تقاضا و عرضه عملیات در اتریوم مشخص میشود. یعنی قیمت Gas در اتر متغیر است، اگرچه در این حالت میتوانید مقداری را که قرار است برای آن بپردازید انتخاب کنید و اگر یک استخراجکننده با این مقدار موافقت کند، آنها تراکنش شما را اجرا میکنند.
بلاکچین هایی که از پروتکل اثبات کار (PoW) استفاده میکنند، همگی با یک فرض کار میکنند:
برای اینکه شما تراکنشی را پذیرفته و در بلاکچین گنجانده باشید، باید کمیسیونی به ماینرها پرداخت شود تا تراکنش شما را انجام دهند و آن را در یک بلاک قرار دهند. پس از آن، تراکنش مذکور توسط شبکه تأیید میشود و سپس، دستوراتی که در تراکنش وجود دارد، اجرا میشوند. فقط در این صورت میتوانید بگویید که تراکنش پذیرفته و تأیید شده است.
پس برای دستیابی به شبکه بلاکچین همیشه باید هزینه کمی بپردازیم. به طور کلی این پرداخت به واحد اعشاری ارزی که در بلاکچین کار میکند انجام میشود.
در بیت کوین هزینه تراکنشها با واحد ساتوشی پرداخت میشوند که کوچکترین واحد اعشاری بیت کوین است
چرا برای انجام تراکنشها هزینه میپردازیم؟
برای هر کاری که در شبکه اجرا میشود هزینه تعیین میشود. این امر انگیزههای اجرای عملیات در شبکه را حفظ میکند، وظیفه ای که به ماینرها بستگی دارد.
با جلوگیری از دسترسی بیرویه به منابع، امنیت سیستم را حفظ میکند. از آنجا که همه چیز هزینه دارد، به عنوان مثال یک هکر نمیتواند خود را وقف ارسال اسپم یا انجام DDoS از طریق شبکه کند، زیرا هزینه آن بسیار زیاد است.
در اتریوم هر تراکنش “یک برنامه کوچک” است. این برنامه به ماشین مجازی اتریوم (EVM) دستور میدهد، به طوری كه ماشین مجازی آنها را به عنوان یك عمل یا یك سری اقدامات انجام شده تفسیر میکند. در اینجا، اتریوم و EVM آن با بیت کوین و Bitcoin Script معادل هستند. آنچه واقعاً آنها را متمایز میکند این است که اتریوم انعطافپذیری بسیار بیشتری نسبت به بیت کوین ارائه میدهد.
توسعه دهندگان اتریوم تصمیم گرفتند مقادیری ثابت را به عملیات مختلفی كه میتوان در اتریوم انجام داد، اختصاص دهند. به این ترتیب، هر وظیفه در اتریوم دارای مقدار گس قید شده است که با افزایش یا کاهش ارزش اتر، واحد پول رایج اتریوم، تغییر نمیکند.
ثابت بودن این مقدار Gas به این واقعیت پاسخ میدهد که اگرچه قیمت اتر فرار است، اما هزینه محاسباتی عملیات همیشه ثابت است. به همین دلیل است که با ایجاد گس، توسعه دهندگان اتریوم میتوانند بین هزینه محاسبه و ارزش واقعی عملیات گفته شده در یک زمان مشخص تفاوت قائل شوند. در واقع، این سیستم به اتریوم کمک میکند و شبکه آن بدون در نظر گرفتن افزایش یا سقوط اتر، در هر زمان قابل استفاده باقی بماند.
مقادیر مهم برای Gas یا سوخت در اتریوم
Gas Unit: میزان گسی است که میتواند به یک دستورالعمل خاص نسبت داده شود، اما ارزش پولی ندارد.
Gas Price: قیمت گس، کارمزدی است که برای هر واحد Gas پرداخت میکنیم. این کار را با استفاده از واحدهای اعشاری اتر، Gwei، انجام میشود. این کمیسیون همان چیزی است که به شما امکان میدهد برای تراکنشها اولویت بخرید. اگر برای هر واحد گسی که استفاده میکنید هزینه بیشتری پرداخت کنید، ماینرها سریعتر تراکنش شما را انجام میدهند و آن را به یک بلاک میبرند.
Gas Limit: محدودیت گس مقداری است که نشاندهنده حداکثر تعداد واحدهای Gas است که شبکه اتریوم میتواند در هر زمان خاص اداره کند. این حداکثر حد مجاز آنها است و استخراج کنندگان در هر زمان نمیتوانند از آن فراتر روند.
محدودیت گس چقدر است؟
Gas limit بستگی به این دارد که ما به یک تراکنش یا عملیاتی با قراردادهای هوشمند یا بلاک مراجعه کنیم.
- محدودیت گس تراکنش حدود 21000 واحد Gas است. این بدان معناست که هیچ تراکنشی در اتریوم بیش از این مقدار گس مصرف نخواهد کرد.
- محدودیت گس یک قرارداد هوشمند بسیار بالاتر است و متغیر است. چون قراردادهای هوشمند ممکن است در تعاملاتشان پیچیدگی داشته باشند و این باعث افزایش سطح Gas بیشتری میشود. به طور معمول این حد معمولاً بین 130 تا 145 هزار واحد Gas است.
- محدودیت گس یک بلاک بیش از 8 میلیون واحد Gas نیست. این بدان معناست که ماینرها میتوانند تا حد امکان تراکنشها و تعاملات با قراردادهای هوشمند را انجام دهند، به شرطی که از این حد فراتر نروند.
[irp posts=”10720″ name=”قرارداد هوشمند یا اسمارت کانترکت چیست؟”]
این محدودیتها امکان مواجهه با “مسئله توقف” را فراهم میکند. مسئله توقف، یک مشکل محاسباتی است که به ما اجازه میدهد بفهمیم آیا یک برنامه کامپیوتری در یک حلقه لوپ بیانتها اجرا میشود یا نه؟ این وضعیت میتواند یک مشکل جدی در بلاک چین ایجاد کند که منجر به حمله DoS شود. با این حال، از آنجا که اتریوم محدودیت گس را در هر بلاک اعمال میکند، هیچ عملیاتی بر روی اتریوم، هرچقدر هم پیچیده باشد، نمیتواند بیش از این حد مشخصشده باشد.
حقوق ماینرها چگونه محاسبه میشود؟
همانطور که قبلاً اشاره کردیم، Gas هیچ ارزش اقتصادی ندارد و توکنی در اتریوم نیست. بلکه فقط یک واحد اندازهگیری است. Gas واحد مهمی برای تعیین ارزش تراکنشها است. چون قیمت هر واحد Gas در Gwei (اعشار اتر) است. بنابراین، برای تراکنشی که مقدار مشخصی Gas مصرف میکند، باید مقدار مشخصی اتر پرداخت کنید تا پردازش شود.
به عنوان مثال، اگر ما یک عملیات با هزینه 12000 واحد Gas داشته باشیم و هزینه واحد گس 20 Gwei باشد، ما باید به مقدار زیر هزینه پرداخت کنیم:
ماینرهای اتریوم که کلیه کارهای مهم تأیید و پردازش تراکنشها را در شبکه انجام میدهند، در ازای خدمات محاسباتی خود این هزینه ویژه را دریافت میکنند. اگر میزان Gas بسیار کم باشد، ماینرها میتوانند چنین تراکنشهایی را نادیده بگیرند.
کارمزد قراردادهای هوشمند
در حال حاضر پاداش بلاک اتریوم در هر بلاک 2 Ether است. که به طور متوسط هر 15 ثانیه استخراج میشود.
بنابراین هر بلاک تولید شده پاداش ثابت 2 اتر دارد. در حالی که بقیه پاداشها توسط کمیسیونهایی که ماینرها به دست میآورند، محاسبه میشود.
Gwei (wei) چیست؟
Gwei کوچکترین واحد اتر است که در شبکه اتریوم استفاده میشود. گیگاوی (Gwei) که با نام Nanoeth هم شناخته میشود، میتواند تا دقت 9 رقم اعشار را نمایش دهد.
سخن پایانی
به طور خلاصه، کارمزد گس به امنیت شبکه اتریوم کمک میکند. با نیاز به هزینه برای هر محاسبهای که در شبکه انجام میشود، از ارسال اسپم در شبکه توسط بازیگران جلوگیری میکنیم. به منظور جلوگیری از خرابکاریهای محاسباتی در کد، لازم است هر تراکنش محدودیتی را برای تعداد مراحل محاسباتی اجرای کد تعیین کند. پس واحد اساسی محاسبات در بلاک چین اتریوم گس است. همچنین اگرچه تراکنش شامل محدودیت است، اما هر گسی که در تراکنش استفاده نشده باشد به کاربر برمیگردد.
شما به ازای هر تراکنشی که در شبکه اتریوم انجام میدهید، باید مقداری ETH را به عنوان کارمزد پرداخت کنید. به کارمزد تعیین شده در شبکه اتریوم، گس اتریوم میگویند.
Gas limit به حداکثر مقدار گسی اشاره دارد که کاربر مایل به پرداخت آن برای انجام یک تراکنش خاص است.