گس (Gas) در اتریوم چیست؟ توضیح کامل و بررسی جامع
صورت دادن هر فعالیتی روی اتریوم کارمزدی مشخص دارد که به شکل اتریوم پرداخت خواهد شد، ولی اگر تراکنش اتریوم صورت داده باشید، قطعا با پدیدهای به اسم گس (Gas) روبرو شده اید. در واقع این گس میباشد که معین میکند چه مقدار باید کارمزد پرداخت کنیم. این مفهوم در نگاه نخست و مخصوصا برای کاربرانی که تازه وارد دنیای ارزهای دیجیتال شده اند خیلی دشوار و پیچیده به نظر میرسد، ولی فهم آن (حداقل از لحاظ تئوری) بسیار آسان تر از چیزی است که تصور میکنید.طی این مقاله، با بهره از مقالهای از سایت بلاکگیکز، معنی و کاربرد گس در اتریوم را بهزبان ساده شرح خواهیم داد و جنبههای متنوع آن را به شکل دقیق بررسی خواهیم کرد. لذا تا انتهای مطلب با زرین اکسچنج همراه باشید.
چکیده ای از گس (Gas) داخل اتریوم
جهت انجام هر تراکنش یا فعالیتی روی شبکه اتریوم میبایست با بهره از اتر (ارز دیجیتال رسمی اتریوم) کارمزد خودرا صاف کنیم. از سوی دیگر، برعکس بیت کوین که فعالیت آن محدود به پول و تراکنشهای مالی میباشد، در اتریوم قادریم با بهره از قراردادهای هوشمند، برنامههای غیرمتمرکز خودرا فراهم کنیم. با این وجود، کد برنامههای سوار شده روی اتریوم شبیه بایکدیگر نخواهند بود و اجرای یک فعالیت برای شبکه قادر است دشوارتر یا راحتتر از دیگر عملیاتها باشد. لذا با این حساب به راهکاری ملزم هستیم که با آن قادر باشیم میزان پردازش موردنیاز و در انتها کارمزد هر عملیات را نسبت معین کنیم. این راهکار در حقیقت واحدی به اسم گس (سوخت) میباشد.
همواره به خاطر داشته باشید گس در اتریوم یک ارز دیجیتال خودمحور و جدا نمیباشد و در صرافیها خریدوفروش نخواهد شد، بلکه تنها واحدی ضمنی در پلتفرم اتریوم میباشد که میزان تلاش موردنیاز جهت اجرای یک عملیات را سنجیده و معین خواهد کرد. مقدار گس (Gas) موردنیاز جهت هر عملیات از پیش در شبکه اتریوم معین و. سنجیده شده است، برای مثال برای هر تراکنش عادی (ارسال اتر) میبایست ۲۱,۰۰۰ گس مصرف شود و کاربر میبایست هزینه این ۲۱,۰۰۰ گس را بوسیله اتر (ارز دیجیتال رسمی شبکه اتریوم) به شبکه برگداند تا تراکنش او به پایان برسد.
ولی هزینه و نرخ گس چگونه مشخص میشود؟ کاربران خودشان آن را مکعین خواهند کرد. هر فردی قادر است برای گس هزینهای مورد نظر خودرا پرداخت کند. برای مثال یک نفر قادر است برای هر گس (Gas) ۰.۰۰۰۰۰۰۰۰۲ اتر و فرد دیگری قادر است ۱۰ اتر در نظر بگیرد. با این وجود، ظرفیت شبکه اتریوم دارای محدودیت است و نمیتوان همه تراکنشها را در لحظه به تایید رساند. لذا ماینرهای اتریوم بهتر میدانند که در آغاز تراکنشهای دارای کارمزد بالاتر (نرخ گس بالاتر) را به تایید برسانند و با این حساب اگر هزینه گسی که مشخص کرده اید کم باشد، احتمال دارد تراکنش شما در صف بماند و هیچوقت به تایید نرسد.
گس (Gas) را میتوان مثل بنزین در دنیای حقیقی خودمان در نظر بگیریم. بنزین سوخت ماشین میباشد و اگر قصد داشته باشید خودروی بنزینی خودرا حرکت دهید، میبایست برای آن با پرداخت پول (اتر)، بنزین (گس) تهیه کنید. در شبکه اتریوم مقدار پولی که برای گس پرداخت میکنید، به ماینرها خواهد رسید که عملیات تأیید تراکنشها و حفظ امنیت شبکه را فراهم کرده اند.
در خصوص گس با دو مفهوم بنیادی روبرو هستیم:
- گس لیمیت (Gas limit)
- گس پرایس (Gas price)
کارمزد شبکه اتریوم مساوی میباشد با گس پرایس ضرب در گس لیمیت.
ETH Fee = Gas limit × Gas Price
جهت صورت دادن تراکنش، کاربر در آغاز گس (Gas) لیمیت را معین خواهد کرد. گس لیمیت یا اندازه گس، بالاترین مقدار گسی میباشد که فرستنده در نظر دارد برای پردازش تراکنش خود متقبل شود و زمانی به تنهایی حرف از گس خواهد شد، منظور در واقع گس لیمیت میباشد. برای نمونه اگر قصد داشته باشیم اتر برای فردی بفرستیم، با توجه به قوانین اتریوم جهت این تراکنش نیاز است که ۲۱,۰۰۰ گس به میان باشد و با این حساب شما میبایست ۲۱,۰۰۰ را برای گس لیمیت مصرف کنید.
جهت فهم بهتر، گس (Gas) لیمیت مثل میزان بنزینی میباشد که جهت رسیدن به مقصد مورد نظر خود نیازمند آن میباشید. برای مثال اگر جهت رسیدن به مشهد از تهران ملزم به ۱۰۰ لیتر بنزین هستید، اگر ۵۰ لیتر بنزین در باک خود داشته باشید، به مقصد مورد نظر خود نخواهید رسید. چنانچه گس لیمیت هم پایین تر از اندازه مشخصی تنظیم شود، تراکنش یا فعالیت موردنظر ما در شبکه صورت نخواهد گرفت. همان شکل که گفتیم در شرایطی که گس لیمیت به اندازه نباشد، تراکنش نهایی نخواهد شد، ولی اگر اندازه اضافی وارد شود، مقدار باقیمانده از گس به حساب کاربر واریز خواهد شد.
گس پرایس هم همان شکلی که بیان شد، میزان هزینهای میباشد که کاربر در ازای هر گس (Gas) ملزم به پرداخت است. هزینه گس با اتر محاسبه میشود، ولی چون نرخ هر گس خیلی کم است، آن را با شاخصی کوچکتر به اسم «Wei» نمایش خواهند داد. هر واحد Wei مساوی است با ۰.۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ واحد اتر.
هر فردی مجاز است هر اندازه دلش میخواهد هزینه گس یا همان گس پرایس متقبل شود ولی اگر گس پرایس بیشتر از اندازه معین باشد، ماینرها تراکنش را نهایی نخواهند کرد. لذا با این حساب، میزان مناسب گس پرایس جهت صورت دادن عملیات، در مقایسه به شلوغی یا خلوتی شبکه قادر است متفاوت باشد. هم اکنون میانگین گس پرایس در تناسب برای تأیید تراکنش، ۲۰ Gwei (یا ۰.۰۰۰۰۰۰۰۲ ETH) میباشد، ولی برخی وقت ها که شبکه تقریبا شلوغ بشود، این عدد به مراتب بیشتر خواهد شد.
به این مثال نگاه کنید: ریحانه قصد دارد اندازه ای اتر به یک کیف پول دیگر ارسال کند. لذا او میبایست گس لیمیت را ۲۱,۰۰۰ مشخص کند. برای هزینه هر گس هم اگر شبکه اتریوم شلوغ نباشد، او میبایست برای هر گس ۲۰ Gwei (هر Gwei مساوی میباشد با ۱,۰۰۰,۰۰۰,۰۰۰ Wei) متقبل شود تا تراکنش او در مدت یک ساعت نهایی شود. با این حساب، کارمزد تراکنش ریحانه مساوی است با ۲۱,۰۰۰ ضرب در ۲۰ که برابر آن ۴۲۰,۰۰۰ Gwei یا ۰.۰۰۰۴۲ ارز اتر خواهد بود.
به خاطر داشته باشید برای فعالیت با شبکه اتریوم ملزم نیستید با معنی گس آشنا باشید و کیف پولهای اتریوم به شکل خودکار در زمان تراکنش اندازه کارمزد متناسب با عملیات را معین میکنند.
این چکیده ای بود از مفهوم گس برای افرادی که زمان زیادی برای مطالعه در اختیار ندارند، ولی چنانچه این توضیحات برای شما مناسب نبود،ادامه نوشته هارا مطالعه فرمایید.
پیش پرداختی بر گس
جهت آشنایی صحیح با معنی گس، در آغاز میبایست اطلاعاتی درخصوص قرارداد هوشمند اتریوم و شیوه فعالیت آن در اختیار داشته باشید. در ضمن مهم است که دانسته باشید چرا در بیت کوین از سازوکار گس خبری نیست.
چرا گس در بیت کوین موجود نمیباشد؟
نخستین پرسشی که برای اغلب اشخاص بوجود میاید این است که چرا در شبکه اتریوم بخشی به اسم گس تعریف شده است و به چه علت مثل بیت کوین کارمزد را به شکل مستقیم با همان اتر مشخص نمیکنند؟ جواب این سوالات در هدف این دو شبکه قابل مشاهده است. بیت کوین پول و تراکنش های آن را غیرمتمرکز نمود، ولی اتریوم قصد دارد علاوه بر پول، با قراردادهای هوشمند مابقی روند هار را نیز غیرمتمرکز سازد.
دلیل خلق بیت کوین، پرسشهایی مشترک بین اغلب اشخاص بود:
- آیا میشود یک شبکه پرداختی ایجاد کرد که فاقد نیاز به واسطه و دولت، مقدار ارزش (پول) را در سراسر جهان منتقل کند؟
- آیا امکان دارد یک پول غیرمتمرکز بوجود آورد که به دولت و شرکتها وابسته نباشد و حق توزیع آن در دست افراد عادی بماند؟
خالق ناشناس بیت کوین، ساتوشی ناکاموتو، با عرضه پدیده انقلابی خود به این سوال ها جوابی مطمعن داد. بالاخره ما به سیستم پولی غیرمتمرکزی دسترسی پیدا کردیم که قادر است ارزش را به صورت مستقیم و عدم نیاز به واسطه از فردی به فردی دیگر بفرستد.
با این وجود، ارز بیت کوین، مشابه با کلیه بلاک چین های نسل اول معضلی در خود داشت؛ این شبکه تنها تراکنشهای مالی را ساپورت میکرد و هیچ راهی جهت اضافه کردن وضعیتی بخصوص به این تراکنشها موجود نبود. برای نمونه، بهزاد قادر است ۵ بیت کوین برای مجید ارسال کند، ولی قادر نیست وظایفی مشخص کند که تنها در صورت تمام شدن آنها بوسیله مجید مبلغ مورد نظر برای او ارسال شود.
البته در بیت کوین هم این امر قابل انجام است، ولی شیوه کار بسیار سخت و زمانبر میباشد. قراردادهای هوشمند برای سهولت این مسئله به یاری کاربران آمدند.
حال قرارداد هوشمند چیست؟
قرارداد هوشمند کدی میباشد که روی بلاک چین به اجرا درمیاید تا بدون نیاز به شخص ثالثی، وضعیت یک توافقنامه بین دو نفر را بررسی و و مقادیر قرارداد را اجرا کند.
قرارداد هوشمند به شما یاری مدهد تا پول، دارایی، سهام یا هر چیز ارزشداری را بدون نیاز به شخص ثالث، به گونه ای واضح و بدون مشکل مبادله کنید. مزیت بنیادی این قراردادها در این است که قادر هستید برای تبادلات شروط مشخص کنید. به علاوه با بهره از قرارداد هوشمند میتوان علاوه بر پول، دیگر فرایندهای متمرکز و نیازمند اعتماد را غیرمتمرکز نمود و نیاز به اعتماد را در مبادلات دیجیتال از بین برد.
این قراردادها با توجه دستورالعملهای بخصوصی که در کد آنها نگارش شده است، به شکل خودکار اجرا خواهند شد. به زبان ساده تر، انجام این قراردادها منوط به تحقق وضعیتی بخصوص میباشد که درون آن تعریف شده است.
ویتالیک بوترین، هم اساس گذار پلتفرمی میباشد که سنگبنای نسل نوین بلاک چینها شد؛ اتریوم. اتریوم و بلاک چینهای مانندی که پس از آن خلق شدند، به جهانیان نشان دادند که بلاک چین به چه نحوی قادر است از یک سازوکار ساده پرداخت به چیزی خیلی معنادارتر و قدرتمندتر بدیل شود.
قرارداد هوشمند، روش انجام فعالیت در اکوسیستم اتریوم میباشد. زمانی که شخصی قصد داشته باشد فعالیت خاصی در شبکه اتریوم صورت دهد، قرارداد هوشمندیرا با یک یا چند شخص دیگر برنامه ریزی میکند.
کدهای قرارداد هوشمند اتریوم با بهره از زبان برنامهنویسی سالیدیتی (Solidity) نگارش میشوند. سالیدیتی بر پایه منطق «چنانچه این… درپایان آن…» (IF-THIS-THEN-THAT)، یا بهاختصار IFTTT، فعالیت میکنند. به زبان ساده ما در کد مشخص میکنیم «اگر این انجام شد، این کار را انجام بده و اگر دیگری انجام شد، آن فعالیت را.»
طی این قراردادها، در وضعیتی که نخستین مجموعه از دستورالعملها صورت بگیرد، مجموعه بعدی و سپس مجموعه بعد از آن صورت میگیرد. این روند تا زمانی مجددا صورت میگیرد که به انتهای قرارداد برسیم.
منسب ترین راه جهت فهم این روند، فرض یک دستگاه فروش خودکار میباشد که در مترو و اماکن عمومی قابل مشاهده است. جهت استفاده از دستگاه فروش خودکار، همه ما مراحل زیر را جلو میرویم:
- مرحله نخست: مقداری پول را در اختیار دستگاه میگذارید.
- مرحله دوم: دکمه مربوط به خدماتی را که در سر دارید، انتخاب میکنید.
- مرحله سوم: محصول مورد مقصود شما از دستگاه خارج میشود و قادرید آن را بردارید.
کلیه مراحل را مرور کنید و به آنها کمی فکر کنید. آیا اگر مرحله پیشین صورت نگیرد، مرحله بعد صورت خواهد گرفت؟ مشخص است که خیر! هر یک از این مراحل دقیقا به مرحله قبلی خود مربوط و تکه ای جداییناپذیر از قراردادهای هوشمند در دسترس شما میباشد. مشاهده میکنید که در کار با دستگاه فروش خودکار، شما (به عنوان درخواستکننده) دقیقا با دستگاه (ارائهدهنده خدمات) در یک قرار داد وجود دارد و جهت انجام فعالیت، نیازی به واسطه یا شخص ثالث نخواهید داشت. ولی چنانچه همین تراکنش در شبکه اتریوم صورت بگیرد، به چه نحوی خواهد بود؟
در اتریوم این شرایط به این شکل طی خواهند شد:
- مرحله نخست: اندازه ای پول (ارز اتر) به قرارداد خود (قرارداد هوشمند و یا اتریوم) میریزید و کلیه کامپیوترهای در حال کار در شبکه اتریوم یا در واقع نودها (nodes) این مرحله را ثبت و تایید میکنند. سپس بلاک چین اتریوم خودرا بروزرسانی میکند.
- مرحله دوم: جهت خدماتی که در سر دارید درخواست خودرا بیان میکنید و این مرحله نیز در بلاک چین اتریوم بهروزرسانی خواهد شد.
- مرحله سوم: نتیجه مورد نیاز شما بوسیله قرارداد هوشمند فراهم میشود. این مرحله نیز در کلیه نودها و بلاک چین ثبت و نگارش خواهد شد.
شبکه اتریوم هر تراکنشی را که از راه قراردادهای هوشمند صورت میدهید، ثبت و بهروزرسانی خواهد کرد. به سبب این ثبت و بروزرسانی، مسئولیت اقدامات کلیه افراد داخل قرارداد شفاف و واضح میشود. در این وضعیت، از آنجا که کل شبکه قادر است هر اقدامی را رصد کند، مجالی برای ویرایش و خرابکاری فرد دیگری نخواهد بود.
گس (Gas) در اتریوم چگونه است؟
قبل تر گفتیم که در شبکه اتریوم اضافه بر تراکنش عادی، امکان اجرای برنامه هم در اختیار افراد است. ولی آیا کد همه برنامهها به یک شکل میباشد؟ آیا فعالیت های هر برنامه مشابه است؟ آیا یک برنامه قادر نیست سنگینتر از بقیه باشد؟ آیا منطقی است که هم جهت فعالیت های بزرگ و هم برای فعالیت های کوچک کارمزدی مساوی در نظر گرفته شود؟ با این حساب ما نیاز به واحدی داریم تا به موجب آن متوجه شویم هر فعالیت نسبت به کار موردنیاز، مستحق چه میزان کارمزد میباشد. همان شکل که در آغاز این نوشته توضیح داده شد، گس واحدی میباشد که مقدار تلاش محاسباتی جهت انجام فعالیت مشخصی راارزیابی میکند.
جهت فهم بهتر توضیحات بالا، تصور کنید هدف یک خودرو این است که از تهران به اصفهان عظیمت کند و هدف یک خودروی دیگر این باشد که از تهران به مشهد برود. آیا این دو خودرو به یک اندازه فعالیت انجام داده اند؟
با توجه به آنچه در قبل گفتیم، در اتریوم قراردادهای هوشمند با بهره از زبان برنامهنویسی سالیدیتی نگارش میشوند و جهت اجرای هر خط کد در سالیدیتی به مقدار معینی گس نیاز است.
احتمال دارد این پرسش برای شما بوجود بیاید که چه نیازی به در اختیار داشتن واحد گس (Gas) داریم و چرا مثلاً نمیگوییم یک فعالیت خاص باید ۰.۰۱ اتر کارمزد داشته باشد؟ جواب این است که شبکه اتریوم همواره در یک شرایط ثابت نمیباشد. بعضی وقت ها این شبکه خلوت است و با این حساب قادریم با پرداخت هزینه گس پایین تری فعالیت خود را صورت بدهیمو بعضی وقت ها که شبکه شلوغ است، میبایست مبلغ بیشتری کارمزد را در نظر بگیریم. چنانچه کارمزد شبکه به شکل مستقیم با اتر مشخص میشد، با بالا رفتن قیمت اتر، مقدار کارمزدها نیز به مراتب افزایش میافت. برای مثال ممکن است کارمزد یک فعالیت خاص ۰.۰۵ اتر مشخص شود و در این شرایط اگر قیمت اتر ۱۰,۰۰۰ دلار بود، میبایست برای آن ۵۰۰ دلار کارمزد در نظر میگرفتیم که به هیچ عنوان منطقی نمیباشد.
تصویر فوق از مقاله فنی اتریوم یا همان یلوپیپر (Yellow paper) ان بدست آمده است. توسعهدهندگان قادرند با استفاده از تصویر بالا دریابند که برای هر فعالیت چقدر گس نیاز خواهد بود. بهعنوان مثال و با توجه این جدول، هر تراکنش عادی در کمترین حالت ۲۱,۰۰۰ گس انیاز خواهد داشت.
به جهت جذب ماینرهای مضاعف ، سیستم میبایست به مقدار کافی برای ماینرها سودآور و جذاب جلوه کند. در اتریوم، ماینرها دو شیوه جهت کسب درآمد مناسب در اختیار دارند:
- استخراج بلاکها و کسب پاداش بلاک
- کسب کارمزد جهت انجام تراکنشها و صورت دادن قراردادهای هوشمند
مورد بعدی را بیشتر بررسی میکنیم:
ماینرها مسئول نهادن تراکنشها در درون بلاکها میباشند. جهت انجام این فعالیت، آنها میبایست از قددرت محاسباتی خود جهت اعتبارسنجی قراردادهای هوشمند بهره میبرند. سیستم گس به آنها این امان را میدهند تا کارمزد معینی برای این فعالیت بدست بیاورند. این کارمزد با نام کارمزدِ ماینر معروف است و آنها را تشویق خواهد کرد تا نقشی موثر در اکوسیستم اتریوم ایفا کنند.
ولی ماینرها تا چه مقداری قادرند کارمزد بدست بیاورند؟ قبل از محاسبه این عدد، میبایست نکاتی را در خصوص شیوه اندازهگیری گس با همدیگر بررسی کنیم.
هر تراکنشی که به شبکه اتریوم فرستاده میشود، با توجه به اندازه دستورالعملهایی که میبایست در اتریوم به اجرا دربیاید، به اندازه معینی گس (برای مثال ۳۰,۰۰۰ گس) احتیاج خواهد داشت. جهت فهم بهتر شیوه فعالیت گس در اتریوم، از یک مثال تشابهی بهره میبریم. تصور کنید که در مسیری در حال مسافرت میباشید. قبل از این مسافرت، این مراحل را طی خواهید کرد:
- به پمپ بنزین مراجعه میکنید و معین میکنید که به چه اندازه بنزین در خودروی خودنیاز دارید.
- این اندازه بنزین را در مخزن بنزین خود میریزید.
- به مامور پمپ بنزین در مقابل بنزینی که استفاده کرده اید، پول میدهید.
اکنون همین نمونه را در خصوص اتریوم به تصور کنید:
رانندگی با خودرو فعالیتی میباشد که قصد انجام آن را دارید، مانند اجرای تابعی داخل یک قرارداد هوشمند. بنزین در حقیقت همان گس (Gas) میباشد. پمپ بنزین در حقیقت ماینر شماست و پولی که به پمپ بنزین میدهید، کارمزد دریافتی ماینر میباشد.
هزینه مورد نیاز گس
هیچ نرخ باثباتی درخصوص گس موجود نیست. معین کردن قیمت گس به گردن ارسال کننده هر تراکنش میباشد. از سوی دیگر، ماینر قادر سات خود انتخاب نماید که قصد اعتبارسنجی کدام یک از تراکنشها را دارد و همچنین طبق منطق، ماینرها تراکنشهایی رابرمیگزینند که بیشترین قیمت گس را مشخص کرده باشند. لذا با این حساب هزینه گس امکان دارد با رشید ترافیک شبکه افزایش یابد، چراکه در این وضعیت، تراکنشهای بیشتری جهت پردازششدن و گنجاندهشدن در بلاک پیش رو با هم رقابت خواهند کرد.
نمودار تصویر زیر، میانگین قیمت گس (Gas) اتریوم را نمایان میکند. همانطور که مشاهده میکنید در بعضی مقاطع به سبب شلوغی شبکه اتریوم نرخ گس بهشدت رشد داشته است.
میانگین قیمت گس به شکل عادی تقریبا ۲۰ گیگاوِی (Gwei) و هر گیگاوِی برابر با ۰.۰۰۰۰۰۰۰۰۱ اتریوم میباشد.
دیدگاهها