آموزشی
Gas چیست؟ شرح کارمزدهای بالای تراکنش در بلاکچین اِتِریوم
7 دقیقه زمان مطالعه
گس چیست؟
گس چیست؟

در این مقاله کوشش خواهیم کرد که به سوالات زیر پاسخی در خور و دقیق دهیم.

گَس دقیقاً چیست؟

رابطه بین قیمت اتریوم و گس

چرا در حال حاضر گس را لازم داریم؟

چرا در حال حاضر کارمزد تراکنش این‌قدر بالا‌ست؟

به چه طرقی می‌شود این هزینه‌ها را کم‌‌تر کرد؟  – پیمایش لایه‌ی دوم و Eth2

به چه طرقی می‌شود این هزینه‌ها را کم‌‌تر کرد؟  – EIP-1559

بهینه سازی کاربرد گس

دیگر زنجیره‌ها چه راه حل هایی برای مشکل کارمزد بالا ارایه می دهند؟

بیایید با این آغاز کنیم که ببینیم اصلاً این گَس چگونه چیزی‌است.

گَس چیست؟

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

«مایش ماشین مجازی تورینگ کامل اتریوم

هر عملیاتی که بر روی یلاک چین اتریوم  یا اگر دقیق‌تر بگوییم، ماشین مجازیِ اتریوم (EVM) – صورت می‌گیرد، مقدار گس مربوط به خود را دارد. برای مثال: جمع دو رقم، ۳ گس هزینه دارد. دریافت تراز یا موجودی حساب؛ ۴۰۰ گس. تراکنش انتقالی؛ ۲۱ هزار گس.

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

واحد اندازه‌گیری قیمت گس، gwei است؛ واحدی کوچک‌تر از اِتِر (هر ۱ gwei برابر است با  ۱میلیاردم ETH). ما می‌توانیم این دو را مثل دلار و سنت (واحد‌های خُرد و دُرُشت) در نظر بگیریم.

برای مثال، فرض کنید که می‌خواهیم یک تراکنش انتقالی ساده‌ی اتریوم انجام دهیم و قیمت ETH هم ۱۸۰۰ دلار باشد. اغلب کیف‌پول‌های مشهور اتریوم  مانند متاماسک (Metamask)  قیمت گس مورد نیاز را تخمین زده و این امکان را به ما می‌دهند تا سرعت تأیید تراکنش تند، کند، یا متوسط  را انتخاب کنیم. حال بیایید فرض بگیریم که کیف‌پول، قیمت گس را روی ۱۰۰ gwei تخمین زده باشد (اگر این‌طور خواسته باشیم که تراکنش به فاصله‌ی یک دقیقه انجام شود). نحوه‌ی محاسبه به‌صورت زیر خواهد بود:

نحوه محاسبه گس

حال ما می‌توانیم عجالتا حساب کنیم که برای چنین تراکنشی، باید ۳.۷۸ دلار بپردازیم. همان‌طور که در شکل بالا مشاهده می‌کنید، ما قیمت گس برای تراکنش انتقالی (۲۱۰۰۰ gas) را در مقدار گس (۱۰۰ gwei) ضرب کرده‌ایم، که برابر شده با ۲۱ ملیون gwei یا ۰.۰۰۲۱ ETH. از آنجایی که قیمت ETH هم ۱۸۰۰ دلار بوده، پرداختیِ ما ۳.۷۸ دلار شده‌است.

رابطه بین قیمت ETH و گس

باید خاطر نشان کنیم که گس صرفاً واحدی انتزاعی درون EVM است و کاربران فی‌الواقع همیشه کارمزد تراکنش‌های‌شان را به ETH می‌پردازند. دلیل اصلیِ به‌کارگیریِ واحدی جداگانه برای اندازه‌گیریِ مقدار نیروی محاسباتی، تفکیک آن از قیمت ETH است.

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

مع‌الوصف، افزایش قیمتیِ ETH غالباً با افزایش فعالیت در شبکه‌ی اتریوم، همبسته است؛ همان‌چیزی که فی‌الواقع هزینه‌ی تراکنش‌ها را افزایش می‌دهد.

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

برای شروع، باید بدانیم که همه‌ی تراکنش‌ها منتقل شونده به شبکه‌ی اتریوم، در استخر حافظه (Memepool) می‌افتند؛ جایی که همه‌ی تراکنش‌های معلق، معطل ماینرهای‌‌اند تا آنها را گرفته و در بلاک اتریوم بعدی قرار دهند.

نمایش تراکنش‌ها منتقل شونده به شبکه‌ی اتریوم در استخر حافظه

ماینرها نخست دیگران را تشویق به گرفتن تراکنش‌هایی با بالاترین قیمت گس می‌کنند؛ نظر به این‌که آنها اساساً وظیفه‌ای مشخص برای بهبود قیمت دارند. آنها همچنین نسبت به تعداد تراکنش‌هایی که می‌توانند درون یک بلاک واحد قرار دهند، محدودیت‌هایی دارند. این امر، توسط حداکثر حد گس در هر بلاک تعیّن می‌یابد. هم‌زمان با نگارش این مقاله، این حد بر روی ۱۲.۵ ملیون گس بسته شده است.

به‌عنوان مثالی اجمالی، بیایید فرض کنیم که تنها چند تراکنش ساده‌ی ETH درون استخر حافظه موجود است، که هر کدام ۲۱۰۰۰ گس می‌ارزد. یک ماینر می‌تواند حدود ۵۹۵ مورد از چنین تراکنش‌هایی را متضمن شود (۱۲.۵ م/۲۱ هزار). حال این‌طور بگوییم که بر فرض، ۱۰۰۰ تراکنش معلق در استخر حافظه موجود است. نتیجتاً ماینر با مرتب کردن تراکنش‌های معلق به‌ترتیب قیمت گس، ۵۹۵ مورد از سود-ده‌ترین‌های‌شان را انتخاب خواهد کرد.

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

چرا گس را لازم داریم؟

برای جمع‌بندی شرح گس، در وهله‌ی اول درک این‌که اساساً چرا گس وجود دارد، مهم است. EVM  به‌عنوان یک ماشین تورینگ کامل امکان اجرای هر کدِ دلخواهی را می‌دهد. گرچه این مسئله از دلایل اصلی‌‌ای‌است که اتریوم را بسیار قدرتمند می‌سازد، اما در کنار آن، اتریوم را نسبت به مشکلات مقطعی آسیب‌پذیر می‌کند. مشکل مقطعی، مشکل تعیّن تعریف یک برنامه‌ی کامپیوتری دلخواه و یک ورودی‌است؛ خواه اجرای برنامه‌، زمانی خاتمه یابد یا تا ابد ادامه پیدا کند.

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

نمایش دلیل نیاز به گس

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

EVM قبل از اجرای هر عملیاتی درون هر تراکنش، چک می‌کند تا ببیند که آیا گس کافی برای آن عملیات باقی‌مانده است یا خیر. اگر گس کافی موجود نباشد، کل تراکنش با کنسل میشود و با خطای “خارج از گس”  مرجوع می‌شود همه‌ی حالات مبادلاتی به عقب رانده می‌شوند. علی‌ای‌حال کاربر کارمزد تراکنش را به‌عنوان مقدار کار انجام شده توسط ماینر پرداخت می‌کند (حتی اگر کل تراکنش لغو شود). این قاعده، تلاشی‌است برای جلوگیری از حملات سوء به شبکه. اگر تراکنش کم‌تر از مقدار اولیه‌ی پیش‌بینی‌شده گس مصرف کند، مقدار گس باقی‌مانده به ETH تبدیل شده و به فرستنده عودت داده می‌شود.

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

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

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

با ثبت رکوردی از حجم مبادلات در صرافی‌های غیرمتمرکز، ثبت بالاترین میزان ارزش کل قفل شده در پلتفرم‌های امانیِ دی‌فای،

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

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

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

پرداخت بیش از ۱۰ دلار بابت یک انتقال ساده‌ی ERC20 یا ۵۰ تا ۱۰۰ دلار برای یک تراکنش یونی‌سوآپ، دیگر غیرعادی نیست. البته که این مسئله حالتی ایده‌ال نیست، زیرا مشارکت بازیگران کوچک‌تر در اکوسیستم اتریوم را واقعاً دشوار می‌کند.

خوشبختانه چاره‌گری‌های متعددی برای این مسئله شده و بعضاً در دسترس قرارگرفته‌اند و عده‌ای نیز بر روی برخی از آن‌ها فعالانه کار می‌کنند تا به نتیجه برسند. حال بیایید به‌سراغ بعضی از مهم‌ترین‌های‌شان برویم.

به چه طرقی می‌شود این هزینه‌ها را کم‌‌تر کرد؟  – پیمایش لایه‌ی دوم و Eth2

پیمایش لایه‌ی دوم (Layer 2 Scaling) اصطلاح جمعی‌است برای چاره‌گری‌هایی که به‌واسطه رسیدگی و اداره‌ی تراکنش‌های بیرون‌زنجیره‌ای، به افزایش قابلیت‌های زنجیره‌ی اصلیِ اتریوم (لایه‌ی اول) کمک می‌کند. سوای بهبود سرعت و توان عملیاتی تراکنش، چاره‌گری‌های لایه‌ی دوم می‌تواند تا حد زیادی کارمزد تراکنش‌ها را کاهش دهد.

لوپرینگ (Loopring) نمونه‌ی خوبی از یک صرافی غیرمتمرکز مبتنی بر لایه‌ی دوم است که روز به روز هم شهرت و محبوبیت بیشتری می‌یابد. اخیراً این صرافی به ۲۰۰ ملیون دلار در ارزش کلّیِ قفل شده، و ۱۰ ملیون دلار حجم معاملات روزانه رسیده است.

متیک (Matic) (که اخیراً به پلی‌گان (Polygon) تغییر نام یافته‌است)، نیز پروژه‌ی دیگری‌است که در زنجیره‌ی Plasma+POS اش به ارزش کلی قفل شده‌ی ۲۰۰ ملیون دلار (TVL) رسیده است.

[چاره‌گری همه‌منظوره‌تری – آپتمیزم (Optimism) – نیز موجود است که مبتنی‌است بر رولاپ‌های آپتیمیستیکی که در حال راه‌اندازی‌اند]. این مسئله بسیار مهم است، زیرا این امکان را به قراردادهای هوشمند دی‌فای می‌دهد تا مشابه سیاقی که در لایه‌ی اول با یکدیگر تعامل دارند، در این‌جا نیز تعامل داشته باشند.

نمایش پیدایش لایه دوم اتریوم

یکی از حلقه‌های مفقوده‌ای که می‌تواند به افزایش پذیرش راه حل های لایه دوم کمک کند، Onboarding  مستقیم به لایه‌ی دوم است. این مسئله می‌تواند باعث کاهش هرچه بیشتر کارمزد تراکنش‌ها شود؛ زیرا کاربران قادر خواهند بود تا ETH خود را مستقیماً از یک صرافی به یک راه حل لایه‌ی دوم – مانند لوپرینگ – انتقال دهند.

سوای پیمایش لایه‌ی دوم، راه حل دیگری که می‌تواند در دراز مدت سبب کاهش کارمزد تراکنش‌ها شود، ETH-2 است که دو راهکار (Sharding) و  پروف آف استیک (Proof of Stake) را معرفی کرده‌است. در مورد این مطالب بزودی در همین سایت مقالاتی منتشر خواهد شد. ولی بصورت خلاصه شاردینگ نوعیل تکنیک تقسیم پایگاه داده است که توسط شرکت های بلاکچین انجام میشود تا امکان بزرگ شدن بلاکچین را میدهد و به آنها اجازه میدهد که تراکنش های بیشتری را در زمان کمتری انجام دهند. پروف آف استیک هم یکی از مکانیسم های ماینینگ در شبکه های رمز ارز میباشد که برای جلوگیری از حملات 51 درصدی بجای پروف اف ورک استفاده میشود که انرژی زیادی مصرف میکرد.

به چه طرقی می‌شود این هزینه‌ها را کم‌‌تر کرد؟  – EIP-1559

EIP-1559 راه حل دیگری‌است برای بهینه‌کردن کارمزد تراکنش‌ها. گرچه که این طرح پیشنهادی تأثیر مستقیمی بر کاهش کارمزد تراکنش‌ها نخواهد داشت، اما امکان بهینه‌سازی مدل کارمزد را به‌واسطه‌ی هموارسازی لبه‌ی قیمتی و محدودسازی تعداد تراکنش‌های بیش‌پرداخت، فراهم می‌کند. این امر سبب پیش‌بینی‌پذیرتر شدن کارمزدها خواهد شد. با نگاهی به آینده ، به‌نظر می‌رسد که EIP-1559 بتواند در اوایل ۲۰۲۱ به‌بهره‌برداری برسد. در مقاله بعدی به‌شکل عمیق‌تری به EIP-1559 خواهیم پرداخت.

بهینه‌سازیِ کاربرد گس

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

ترفند های دیگر برای بهینه سازی کاربرد گس

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

سوای این مطلب، ما همیشه باید قیمت گس تخمینی کیف‌پول‌مان را با منبع معتبری چون https://ethgasstation.info/ چک کنیم.

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

این امر همچنین می‌تواند با اعمال نفوذ یک مکانیزم EVM – هنگامی که فضای ذخیره‌سازی آزاد شده باشد – باعث استرداد گس شود. هنگامی که توکن‌های CHI ضرب بخورند، قراردادهای هوشمند مصنوعی در شبکه‌ی اتریوم ایجاد می‌شوند. سوخت‌شدن CHI، این قراردادها را فسخ کرده و موجب استرداد گس می‌شود.

دیگر زنجیره‌ها چه راه حل هایی برای مشکل کارمزد بالا ارایه می دهند؟

خب! زنجیره‌های دیگر سوای اتریوم پس چه؟

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

خب! حال شما درباره‌ی گس و کارمزد تراکنش‌ها چه فکر می‌کنید؟

شیوه‌ی موردعلاقه‌ی شما برای کاهش آن چیست؟

اگر از خواندن این مطلب لذت بردید، می‌توانید آکادمی G2O را در یوتیوب و توئیتر دنبال کنید.

مطلب پیشین
سختی شبکه بیت کوین چیست؟
مطلب بعدی
پُلی‌ گان (مَتیک) – اینترنتِ بلاک‌ چِین‌ های اِتِریوم