توکن گس و هدف آن چیست؟

خلاصه ای از گس در اتریوم

برای انجام هر تراکنش یا عملیات روی شبکه اتریوم باید با استفاده از اتر (ارز دیجیتال شبکه اتریوم) کارمزد پرداخت کنیم. از طرف دیگر، برخلاف که کاربرد آن محدود به پول و تراکنش های مالی است، در اتریوم می توانیم با استفاده از ، برنامه های غیرمتمرکز بسازیم. با این حال، کد برنامه های پیاده شده روی اتریوم مشابه یکدیگر نیستند و اجرای یک عملیات برای شبکه می تواند سخت تر یا راحت تر از دیگر عملیات ها باشد. بنابراین به راهکاری نیاز داریم که با آن بتوانیم میزان پردازش موردنیاز و در نتیجه کارمزد هر عملیات را نسبت به سختی یا آسانی آن مشخص کنیم. این راهکار واحدی به نام گس (سوخت) است.

ارز دیجیتال

فراموش نکنید گس در اتریوم یک ارز دیجیتال جداگانه نیست و در صرافی ها خریدوفروش نمی شود، بلکه فقط واحدی ضمنی در پلتفرم اتریوم است که مقدار تلاش موردنیاز برای اجرای یک عملیات را مشخص می کند. میزان گس موردنیاز برای هر عملیات از قبل در شبکه اتریوم مشخص شده است، مثلاً برای هر تراکنش معمولی (ارسال اتر) باید 21,000 گس صرف شود و کاربر باید هزینه این 21,000 گس را با اتر (ارز دیجیتال شبکه اتریوم) پرداخت کند تا تراکنش او تایید شود.

ارز دیجیتال

اما هزینه و قیمت گس چطور تعیین می شود؟ کاربران خودشان آن را مشخص می کنند. هر کس می تواند برای گس هزینه ای دلخواه پرداخت کند. مثلاً یک نفر می تواند برای هر گس 0.000000002 اتر و فرد دیگری می تواند 10 اتر پرداخت کند. با این حال، ظرفیت شبکه اتریوم محدود است و نمی توان همه تراکنش ها را در لحظه تایید کرد. بنابراین ماینرهای اتریوم ترجیح می دهند ابتدا تراکنش های دارای کارمزد بالاتر (قیمت گس بالاتر) را تایید کنند و بنابراین اگر هزینه گسی که پرداخت می کنید پایین باشد، ممکن است تراکنش شما در صف بماند و هرگز تایید نشود.

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

در مورد گس با دو مفهوم اصلی سروکار داریم:

  • گس لیمیت (Gas limit)
  • گس پرایس (Gas price)

کارمزد شبکه اتریوم برابر است با گس پرایس ضرب در گس لیمیت.

برای انجام تراکنش، کاربر ابتدا گس لیمیت را مشخص می کند. گس لیمیت یا حد گس، حداکثر میزان گسی است که فرستنده حاضر است برای پردازش تراکنش خود پرداخت کند و وقتی به تنهایی صحبت از گس می شود، منظور همان گس لیمیت است. مثلاً اگر بخواهید اتر ارسال کنید، طبق قوانین اتریوم برای این عملیات نیاز است که 21,000 گس صرف شود و بنابراین شما باید 21,000 را برای گس لیمیت در نظر بگیرید.

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

گس پرایس هم همان طور که اشاره شد، مقدار هزینه ای است که کاربر برای هر گس پرداخت می کند. هزینه گس با اتر پرداخت می شود، اما چون قیمت هر گس بسیار پایین است، آن را با واحد کوچکتر به نام «Wei» نمایش می دهند. هر واحد Wei برابر است با 0.000000000000000001 اتر.

هر کس مجاز است هرچقدر دوست دارد هزینه گس یا همان گس پرایس پرداخت کند، اما اگر گس پرایس بیش از اندازه پایین باشد، ماینرها تراکنش را تایید نمی کنند. بنابراین، مقدار مناسب گس پرایس برای انجام عملیات، نسبت به شلوغی یا خلوتی شبکه می تواند متفاوت باشد. در حال حاضر میانگین گس پرایس مناسب برای تایید تراکنش، 20 Gwei (یا 0.00000002 ETH) است، اما گاهی اوقات که شبکه شلوغ می شود، این عدد به شدت افزایش می یابد.

به این مثال توجه کنید: ریحانه می خواهد مقداری اتر به یک کیف پول دیگر منتقل کند. بنابراین او باید گس لیمیت را 21,000 تعیین کند. برای هزینه هر گس هم اگر شبکه اتریوم خلوت باشد، او می تواند برای هر گس 20 Gwei (هر Gwei برابر است با 1,000,000,000 Wei) پرداخت کند تا تراکنش او ظرف مدت یک ساعت تایید شود. بنابراین، کارمزد تراکنش ریحانه برابر است با 21,000 ضرب در 20 که حاصل آن 420,000 Gwei یا 0.00042 اتر خواهد شد.

فراموش نکنید برای کار با شبکه اتریوم نیاز نیست با مفهوم گس آشنا باشید و به طور خودکار هنگام تراکنش مقدار کارمزد مناسب را مشخص می کنند.

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

پیش زمینه

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

چرا گس در بیت کوین وجود ندارد؟

اولین سوالی که برای افراد مطرح می شود این است که چرا در شبکه اتریوم چیزی به نام گس تعریف شده است و چرا مانند بیت کوین کارمزد را مستقیماً با همان اتر تعیین نمی کنند؟ پاسخ در هدف این دو شبکه نهفته است. بیت کوین پول و انتقال آن را غیرمتمرکز کرد، اما اتریوم می خواهد علاوه بر پول، با قراردادهای هوشمند بقیه فرایندها را هم غیرمتمرکز کند.

علت ایجاد بیت کوین، پرسش هایی مشترک بین تمام افراد بود:

  • آیا می توان یک شبکه پرداختی ساخت که بدون نیاز به واسطه و دولت، ارزش (پول) را در سراسر جهان جابه جا کند؟
  • آیا می توان یک پول غیرمتمرکز ایجاد کرد که به دولت و شرکت ها نیاز نداشته باشد و حق توزیع آن در دست مردم باشد؟

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

با این حال، بیت کوین، مشابه با تمام های نسل اول مشکلی داشت؛ این شبکه فقط تراکنش های مالی را ممکن می کرد و هیچ راهی برای افزودن شرایطی خاص به این تراکنش ها وجود نداشت. برای مثال، بهزاد می تواند 5 بیت کوین به مجید بفرستد، اما نمی تواند وظایفی تعیین کند که فقط در صورت انجام آنها توسط مجید پول پرداخت شود.

البته در بیت کوین هم می توان این شرایط را تعیین کرد، اما نحوه کار بسیار دشوار و زمان بر است. قراردادهای هوشمند برای حل این مسئله به کمک ما آمدند.

قرارداد هوشمند چیست؟

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

این قراردادها بر اساس دستورالعمل های خاصی که در کد آنها نوشته شده است، به صورت خودکار اجرا می شوند. به عبارت بهتر، انجام این قراردادها منوط به تحقق شرایطی خاص است.

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

قرارداد هوشمند، شیوه انجام کار در اکوسیستم اتریوم است. هنگامی که فردی بخواهد کار خاصی در شبکه اتریوم انجام دهد، قرارداد هوشمندی با یک یا چند نفر منعقد می کند.

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

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

  • مرحله اول: مقداری پول به دستگاه می دهید.
  • مرحله دوم: دکمه مربوط به چیزی را که می خواهید، فشار می دهید.
  • مرحله سوم: محصول موردنظر شما از دستگاه بیرون می آید و می توانید آن را بردارید.

تمام مراحل را در نظر آورید و به آنها فکر کنید. آیا اگر مرحله قبلی انجام نشود، مرحله بعد انجام خواهد شد؟ بدیهی است که خیر! هر کدام از این مراحل مستقیماً به مرحله پیشین مربوط و جزئی جدایی ناپذیر از قراردادهای هوشمند هستند. می بینید که در کار با دستگاه فروش خودکار، شما (درخواست کننده) صرفاً با دستگاه (ارائه دهنده) کار می کنید و برای انجام عملیات، نیازی به واسطه یا شخص ثالث نیست. اما اگر همین تراکنش در شبکه اتریوم انجام شود، به چه شکل خواهد بود؟

دستگاه فروش خودکار، بدون نیاز به واسطه (فروشنده) کار می کند.

در اتریوم این مراحل به این شکل طی می شوند:

  • مرحله اول: مقداری پول (اتر) به دستگاه (قرارداد هوشمند و اتریوم) می دهید و تمام کامپیوترهای فعال در شبکه اتریوم یا همان نودها (nodes) این مرحله را ثبت می کنند. سپس بلاک چین اتریوم به روزرسانی می شود.
  • مرحله دوم: برای چیزی که می خواهید درخواست می دهید و این مرحله نیز در بلاک چین اتریوم به روزرسانی می شود.
  • مرحله سوم: نتیجه موردنظر شما توسط قرارداد هوشمند ایجاد می شود. این مرحله نیز در تمام نودها و بلاک چین ثبت می شود.

شبکه اتریوم هر تراکنشی را که از طریق قراردادهای هوشمند انجام می دهید، ثبت و به روزرسانی می کند. با این ثبت و به روزرسانی، مسئولیت اقدامات تمام افراد دخیل در قرارداد مشخص می شود. در این حالت، از آنجا که کل شبکه می تواند هر اقدامی را مشاهده کند، جایی برای دست کاری و خراب کاری انسانی باقی نمی ماند.

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

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

برای درک بهتر توضیحات بالا، فرض کنید هدف یک خودرو این باشد که از تهران به اصفهان برسد و هدف یک خودروی دیگر این باشد که از تهران به مشهد برسد. آیا این دو خودرو به یک میزان کار انجام می دهند؟

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

ممکن است این سوال برای شما ایجاد شود که چه نیازی به داشتن واحد گس داریم و چرا مثلاً نمی گوییم یک عملیات خاص باید 0.01 اتر کارمزد پرداخت کند؟ پاسخ این است که شبکه اتریوم همیشه در یک وضعیت ثابت نیست. گاهی اوقات این شبکه خلوت است و بنابراین می توانیم با پرداخت هزینه گس کمتری عملیات خود را انجام دهیم و گاهی اوقات که شبکه شلوغ می شود، باید مبلغ بیشتری کارمزد پرداخت کنیم. اگر کارمزد شبکه به صورت مستقیم با اتر تعیین می شد، با افزایش قیمت اتر، رقم کارمزدها به شدت بالا می رفت. مثلاً ممکن است کارمزد یک عملیات خاص 0.05 اتر تعیین شود و در این صورت اگر قیمت اتر 10,000 دلار بود، باید برای آن 500 دلار کارمزد پرداخت می کردیم که به هیچ عنوان منطقی نیست.

مقدار گس موردنیاز برای هر عملیات در اتریوم منبع: وب سایت اتریوم

به منظور جذب ماینرهای بیشتر، سیستم باید به اندازه کافی برای ماینرها سودآور و جذاب باشد. در اتریوم، ماینرها دو روش برای کسب درآمد دارند:

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

مورد دوم را بیشتر بررسی خواهیم کرد:

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

اما ماینرها تا چه اندازه می توانند کارمزد دریافت کنند؟ پیش از محاسبه این مورد، باید نکاتی را در مورد نحوه اندازه گیری گس با هم مرور کنیم.

هر تراکنشی که به شبکه اتریوم ارسال می شود، بسته به تعداد دستورالعمل هایی که باید در اتریوم اجرا شود، به میزان مشخصی گس (مثلاً 30,000 گس) احتیاج دارد. برای درک بهتر نحوه عملکرد گس در اتریوم، از یک تشبیه استفاده می کنیم. فرض کنید که در جاده ای در حال سفر هستید. پیش از این سفر، این مراحل را طی می کنید:

  • به پمپ بنزین می روید و مشخص می کنید که به چه مقدار بنزین در خودروی خود احتیاج دارید.
  • این مقدار بنزین را در باک بنزین خود می ریزید.
  • به پمپ بنزین به ازای بنزینی که دریافت کرده اید، پول پرداخت می کنید.

حال همین مثال را در مورد اتریوم به کار می گیریم:

هزینه گس

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

نمودار زیر، متوسط قیمت گس اتریوم را نشان می دهد. همان طور که می بینید در برخی مقاطع به دلیل شلوغی شبکه اتریوم قیمت گس به شدت افزایش یافته است.

متوسط قیمت گس به طور معمول حدوداً 20 گیگا وِی (Gwei) و هر گیگاوِی معادل با 0.000000001 اتریوم است.

واحد ارزش به اتر ارزش به وی
1 اتر (ether) 1 1000000000000000000
1 وی (wei) 0.000000000000000001 1
1 کیلووی (Kwei) 0.000000000000001 1000
1 مگاوی (Mwei) 0.000000000001 1000000
1 گیگاوی (Gwei) 0.000000001 1000000000

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

هنگام تعیین حد گس، نکات زیر باید در نظر گرفته شوند:

  • همان طور که پیش از این نشان داده شد، عملیات مختلف هزینه گس متفاوتی دارند.
  • هر زمان گس تمام شود، ماینرها از انجام عملیات دست می کشند.
  • اگر مقداری گس اضافی باقی بماند، بلافاصله به آغازکننده عملیات بازگردانده می شود.

برای روشن تر شدن جریان، سناریویی فرضی در نظر می گیریم. فرض کنید قصد داریم برنامه ای روی اتریوم اجرا کنیم که جمع دو عدد را محاسبه می کند و به این منظور، قرارداد باید اقدامات زیر را انجام دهد:

  • ذخیره کردن 10 در یک متغیر؛ فرض می کنیم هزینه گس این عملیات 45 گس است.
  • اضافه کردن دو متغیر؛ فرض می کنیم این کار نیز 10 گس هزینه دارد.
  • ذخیره کردن نتیجه که دوباره 45 گس دیگر به هزینه ها اضافه می کند.

بنابراین کل گس موردنیاز ماینر برای اجرای این محاسبات 100 گس است، اما گس لیمیت را 120 وارد می کنیم.

کارمزدی که به ماینر تعلق می گیرد، با فرض اینکه هزینه 1 گس (در زمان خلوتی شبکه) برابر با 20 گیگاوِی باشد (100 × 20) برابر با 0.000002 اتر است. چه مقدار گس باقی می ماند؟ 20 گس.

پس از انجام عملیات، 20 گس استفاده نشده به ما بازگردانده می شود. 20 × 20 وی برابر است با 0.0000004 اتر. با توجه به نکات مذکور، دو سناریوی احتمالی وجود دارد:

  • حد گس مشخص شده بسیار پایین باشد.
  • حد گس مشخص شده بسیار بالا باشد.