گس اتریوم چیست و چگونه محاسبه می شود؟

اگر از طرفداران ارزهای دیجیتال به خصوص اتریوم باشید احتمالا نام گس اتریوم (ethereum gas) را شنیده‌اید. به بیان ساده گس اتریوم که به آن سوخت بلاک چین اتریوم هم گفته می‌شود چیزی شبیه هزینه پردازش تراکنش در شبکه بیت کوین است. اما در واقعیت گس یا سوخت شبکه اتریوم بسیار پیچیده‌تر از آن است که آن را به عنوان هزینه یک تراکنش تعریف کنیم. در این مطلب از کوین نیک قصد داریم به صورت مفصل در مورد گس اتریوم صحبت کنیم.قبل از اینکه بخواهیم گس اتریوم را کاملا تشریح کنیم اول باید ببینیم اتریوم چیست و ماشین مجازی اتریوم (Ethereum Virtual Machine) چگونه کار می‌کند؟اتریوم چیست؟اگر به صورت خیلی ساده بخواهیم توضیح دهیم اتریوم یک پلتفرم نرم افزاری است که یک سری محاسبات ریاضی را اجرا می‌کند. این محاسبات به صورت همزمان روی تعداد زیادی از کامپیوترها انجام می‌شود که اصطلاحا به آن‌ها گره یا نود (node) گفته می‌شود.در حالی که هر کسی می‌تواند نقش یک نود را در شبکه یا بلاک چین اتریوم ایفا کند، به برخی از فعال‌ترین نودها «ماینر» یا استخراج کننده گفته می‌شود. ماینرها در واقع شبکه را از خطر حمله و نفوذ محافظت می‌کنند و کار اولویت‌بندی پردازش محاسبات را انجام می‌دهند. در واقع بدون ماینرها هیچ تراکنشی روی بلاک چین اتریوم انجام نمی‌شود. پس باید قدر آن‌ها را بدانیم و هزینه تلاش‌ها و فعالیت‌های آن‌ها را پرداخت کنیم.برای اینکه مزد زحمات ماینرها را پرداخت کنیم نیاز داریم تا کارهایی که روی اتریوم انجام می‌شود را به صورت کمی و عددی اندازه گیری کنیم. به واحد اندازه‌گیری این کار در واقع گس گفته می‌شود.برای مثال اندازه‌گیری یک معامله روی بلاک چین اتریوم اینگونه محاسبه می‌شود:بررسی موجودی حساب = ۵۱۸ گسانتقال توکن‌ها = ۱۳٫۸۲۶ گسمحاسبه توکن‌ها = ۵ گسمجموع ۱۴٫۶۴۶ گساما نکته اینجاست که اتریوم در مدت زمان مشخص قادر است فقط تعداد محدودی از تراکنش‌ها را پردازش کند، به همین دلیل ماینرها باید درخواست‌های ارسال شده را اولویت بندی کنند. بدون این کار شبکه ممکن است به دلیل ازدیاد تراکنش‌ها یا حمله اسپمرها دچار ازدحام و کندی شود. ماینرها برای اولویت‌بندی انجام تراکنش‌ها از شاخص‌هایی به نام قیمت گس (Gas Price) و حد گس (Gas Limit) استفاده می‌کنند.خب حالا که به صورت کلی با اتریوم و کاربرد گس آشنا شدید، اجازه دهید کمی وارد جزئیات شویم.ماشین مجازی اتریوم چیست؟ماشین مجازی اتریوم که به اختصار « EVM» گفته می‌شود یک ماشین تورینگ است. ماشین تورینگ در واقع یک دستگاه فرضی برای دستکاری نظام‌مند داده‌ها است. برای مثال زبان‌های برنامه‌نویسی و پردازنده‌ها نمونه خوبی از یک ماشین تورینگ هستند که داده‌هایی که به آن‌ها داده می‌شود را بر اساس قوانین از پیش تعیین شده تغییر می‌دهند.به صورت مشابه ماشین مجازی اتریوم هم که روی بلاک چین اتریوم اجرا می‌شود وظیفه تایید تراکنش‌های انجام شده روی بلاک چین و انجام قراردادهای هوشمند از طریق کنترل وضعیت حساب، ذخیره‌سازی، پردازش اطلاعات بلاک و … را برعهده دارد.این ماشین مجازی برای اجرا نیاز به سوختی دارد که به آن گس اتریوم گفته می‌شود.گس اتریوم چیست؟بلاک چین اتریوم یک شبکه است که اتر (ETH) توکن این شبکه محسوب می‌شود. وقتی شما توکنی را ارسال می‌کنید، قرارداد هوشمندی را اجرا می‌کنید یا هر کار دیگری در بلاک چین انجام دهید، برای محاسبات آن باید هزینه پرداخت کنید. این هزینه از طریق گس محاسبه می‌شود و هزینه گس هم از طریق اتر پرداخت می‌شود.اگر بخواهیم همه چیزهایی که تا به حال گفتیم را در یک جمله خلاصه کنیم باید بگوییم: گس اتریوم در واقع واحدی است که انرژی لازم را برای انجام محاسبات یک عملیات خاص روی ماشین مجازی اتریوم را اندازه‌گیری می‌کند.همانطور که پیشتر توضیح دادیم قراردادهای هوشمند که به زبان سالیدیتی (Solidity) نوشته شده‌اند (البته اتریوم قصد دارید در نسخه جدید از زبان وایپر (Viper) به جای سالیدیتی استفاده کند) به وسیله کدهایی روی EVM اجرا می‌شود. هر خطی از کدهای سالیدیتی برای اجرا نیاز به مقدار مشخصی گس دارند.برای این که بهتر این موضوع را درک کنید اجازه دهید با یک مثال برای شما توضیح دهیم:فرض کنید شما قصد دارید با یک سفر جاده‌ای بروید، قبل از آغاز سفر چه کارهایی انجام می‌دهید؟به پمپ بنزین می‌روید و تعیین می‌کنید قصد دارید چقدر بنزین بزنید.سپس باک خودرو را با همان مقدار بنزین که نیاز دارید پر می‌کنید.در نهایت باید هزینه آن مقدار بنزینی که دریافت کردید را به پمپ بنزین پرداخت کنید.حالا همین مثال را برای اتریوم در نظر بگیرید:اجرای یک دستورالعمل خاص مانند اجرای یک قرارداد هوشمند در واقع مانند همان راندن خودرو است.گس اتریوم مانند بنزین است.ماینر یا استخراج کننده نقش پمپ بنزین را ایفا می‌کند.کارمزد ماینر مانند پولی بنزینی است که به پمپ بنزین پرداخت می‌کنید.خب حالا بهتر با مفهوم گس اتریوم آشنا شدیم. حالا بیایید ببینیم قیمت گس چگونه تعیین می‌شود؟قیمت گسقیمت گس (Gas Price) در واقع هزینه‌ای است که یک کاربر تمایل دارد برای هر واحد گس مصرفی پرداخت کند. نکته‌ای که باید در مورد قیمت گس بدانید این است که، هر دستوری یا عملیاتی که در بلاک چین اتریوم انجام می‌شود یک گس ثابت و از پیش تعیین شده دارد، اما قیمت این گس ثابت نیست. در واقع مقدار گس یک عدد از پیش تعیین شده است که با نوسانات قیمت اتریوم تغییر نمی‌کند اما قیمت گس توسط کاربر تعیین می‌شود.برای اینکه بهتر متوجه این موضوع شوید، فرض کنید قرار است یک قراداد هوشمند را روی بلاک چین اتریوم اجرا کنید، برای این کار میزان گس مصرفی از قبل تعیین شده است، اما شما می‌توانید هزینه‌ای که برای این گس می‌پردازید را تغییر دهید. طبیعی است ماینرهای شبکه اتریوم که تراکنش‌ها را تایید می‌کنند تمایل دارند درآمد بیشتری کسب کنند پس تراکنش‌هایی را زودتر تایید می‌کنند که هزینه بیشتری برای گس پرداخت می‌کند.در واقع قیمت گس چیزی شبیه رشوه دادن است، شما می‌توانید با بالا بردن قیمت گس به جای اینکه در صف تایید تراکنش‌ها منتظر بمانید، یک دفعه به اول صف بپرید.شاید برای شما این سوال به‌وجود بیاید که چگونه متوجه شویم چه قیمتی برای ماینرهای اتریوم جذاب است؟ معمولا والت‌ها یا کیف پول‌های اتریوم براساس میزان ازدحام شبکه و عرضه و تقاضا یک قیمت منصفانه برای گس پیشنهاد می‌کنند که کاربر می‌تواند آن را تغییر دهد. کاربران برای اینکه تراکنشی زودتر انجام شود می‌توانند قیمت گس پیشنهادی را بالاتر تعیین کنند.چگونه می‌توانیم هزینه گس را پرداخت کنیم؟واحد اندازه‌گیری گس در شبکه اتریوم گیگا وی (Giga Wei) است. وی کوچکترین واحد اتر (ETH) است که مشابه ساتوشی در بیت کوین است. در واقع هر اتر معادل یک کونیتیلیون یا۱۰ به توان ۱۸ وی است. هر گیگا وی (Gwei) هم معادل یک میلیارد یا ۱۰ به توان ۹ وی است. در شبکه اتریوم قیمت گس به وسیله همین واحد گیگا وی تعیین می‌شود و با اتر قابل پرداخت است.برای مثال در زمان نگارش این مطلب قیمت گس استاندارد برای هر تراکنش ۵۰ گیگا وی یا معادل ۰/۲۳۷ دلار است. اگر می‌خواهید تراکنش شما در کمتر از ۲ دقیقه تایید شود بهتر است قیمت گس را ۵۳ Gwei تعیین کنید و اگر عجله‌ای ندارید می‌توانید قیمت گس را ۴۶ انتخاب کنید تا تراکنش شما در حدود ۳۰ دقیقه‌ای تایید و انجام شود. از آنجایی که قیمت گس در لحظه و بر اساس حجم تراکنش و ازدحام شبکه تعیین می‌شود می‌توانید از وبسایت (ethgasstation.info) برای دریافت لحظه‌ای قیمت گس استفاده کنید.حد گسحد گس یا گس لیمیت (Gas Limit) در واقع معیاری است که نشان می‌دهد شما حداکثر حاضرید چه مقدار گس برای انجام تراکنش بپردازید. برای مثال مقدار پیش فرض محاسبه یک هش ۳۰ گس و انجام یک تراکنش عادی ۲۱۰۰۰ گس است. طبیعی است برای اجرای قراردادهای هوشمند یا تراکنش‌هایی که نیاز به کد دستوری زیاد و محاسبات بیشتری دارد، مقدار گس بیشتری مورد نیاز است.نکته‌ای که لازم است در تعیین گس لیمیت به آن توجه کنید این است که عملیات مختلف نیاز به مقدار گس متفاوتی دارند. بنابراین باید گس لیمیتی که تعیین می‌کنید از مقدار گسی که برای انجام محاسبات نیاز دارد بیشتر باشد تراکنش شما هیچ‌گاه انجام نمی‌شود. اما اگر گس لیمیت بیشتری انتخاب کنید، گس مورد نیاز مصرف می‌شود و باقی مانده آن به شما بازگردانده خواهد شد.چگونه می‌توانیم بفهمیم یک عملیات روی اتریوم به چه مقدار گس نیاز دارد؟روش‌های مختلفی برای محاسبه مقدار گس مورد نیاز برای پردازش یک تراکنش یا انجام یک قرارداد هوشمند وجود دارد. اما یکی از بهترین روش‌ها استفاده از « ETH Gas Station» است. این وبسایت بر اساس ازدحام شبکه و میانگین نرخ سایر کاربران، مقدار گسی که می‌تواند ماینرها را به پذیرش تراکنش شما ترغیب کند را پیشنهاد می‌دهد.در زمان نگارش این مطلب انتخاب ۲۱٫۰۰۰ گس با قیمت ۳۵ gwei از طرف ۹۷ درصد ماینرها پذیرفته می‌شود. طبق همین وبسایت، میانگین زمان انجام یک معامله با این حد و قیمت گس در شبکه ۲۱ ثانیه است.هزینه یک تراکنش در اتریومدر حقیقت شما هزینه‌ای که برای انجام یک تراکنش در بلاک چین اتریوم پرداخت می‌کنید برابر است با تعداد گسی که انتخاب می‌کنید ضرب‌در قیمت گسی که تمایل دارید برای تایید تراکنش بپردازید.TX Fee= Gas Used*Gas Priceمزایای گس اتریومصرف نظر از اینکه گس هزینه مورد نیاز برای انجام یک تراکنش در بلاک چین اتریوم را تعیین می‌کند مزایایی هم برای شبکه اتریوم دارد.از جمه مزایای گس جلوگیری از شلوغی شبکه و خنثی کردن حملات اسپم است. از آنجایی که با ازدحام شبکه هزینه گس افزایش می‌یابد برای اسپمرها پر هزینه است که بخواهند تراکنش‌های زیاد و با ارزش پایین را اجرا کنند.معایب گس اتریومبا وجود اینکه سیستم گس اتریوم به خاطر اجرای یک مکانیسم کاملا روان و تزریق انگیزه به ماینرها برای پردازش تراکنش‌ها بارها تحسین شده است اما به خاطر گران بودن از طرف توسعه‌دهندگان و ایجاد کنندگان قراردادهای هوشمند مورد انتقاد قرار گرفته است. هزینه محاسبات در اتریوم ۴۰۰ میلیون بار گران‌تر از سیستم استاندارد AWS است.آنچه در این مطلب یاد گرفتیماز آنجایی که این مطلب کمی طولانی شد به صورت خلاصه آنچه در مورد گس و هزینه تراکنش در بلاک چین اتریوم گفتیم را مرور می‌کنیم:فهمیدیم که هر تراکنشی که روی بلاک چین اتریوم انجام می‌شود نیازمند پرداخت یک کارمزد است.سپس متوجه شدیم که هزینه تراکنش در اتریوم به وسیله گس محاسبه و با اتر پرداخت می‌شود.در ادامه به این اشاره کردیم که گس در واقع نشان‌دهنده میزان کاری است که برای پردازش یک تراکنش انجام می‌شود.همینطور فهمیدیم که مقدار گس مورد نیاز برای هر فعالیت روی بلاک چین اتریوم متفاوت و از پیش مشخص شده است، مثلا انتقال ساده اتر نسبت به یک قرارداد هوشمند به گس کمتری نیاز دارد.سپس متوجه شدیم با وجود اینکه مقدار گس مشخص است اما قیمت گس توسط خود کاربران تعیین می‌شود. برای مثال اگر قیمت گس برای یک تراکنش پایین‌تر از قیمت مورد انتظار ماینرها باشد، تمایلی برای پردازش آن ندارند، اما اگر از قیمت میانگین بیشتر باشد، تراکنش زودتر توسط ماینرها تایید و پردازش می‌شود.منبع:‌ کوین نیک