آنچه در این مقاله خواهید خواند
گس در اتریوم کارمزد شبکه است که برای اجرای موفق یک قرارداد هوشمند یا تراکنش پرداخت میکنید. پایه انجام تمام عملیاتها در Ethereum همان Gas است. گس اتریوم واحدی است که میزان تلاش محاسباتی مورد نیاز برای اجرای عملیاتهای خاص را اندازهگیری میکند. انجام هر عملیات در این پلتفرم نظیر پردازش و تایید یک تراکنش، اجرای یک قرارداد هوشمند یا اجرای یک عرضه اولیه سکه (ICO)، به مقداری Gas نیاز دارد. ماینرهای مسئول پردازش عملیاتهای مختلف، دستمزد یا همان پاداش خود را در قالب اتر، رمز ارز اختصاصی پلتفرم Ethereum، دریافت میکنند. این مقدار معادل کل گس مورد نیاز برای انجام یک عمل خاص است.
به طور خیلی خلاصه، میتوان گس یا کارمزد شبکه را به نیرو و خون حیات جاری در رگهای اکوسیستم عظیم اتریوم تشبیه کرد. Gas به زبان ساده، برای محاسبه مقدار کارمزد مورد نیاز برای پرداخت به پلتفرم اتریوم به منظور اجرای یک عملیات پرداخت میشود. انجام هر کاری هزینه خاص خود را دارد و این هزینه با گس در اتریوم محاسبه میشود.
Gas برای تخصیص منابع ماشین مجازی اتریوم (EVM) استفاده میشود. به این ترتیب یک اپلیکیشن غیر متمرکز شامل یک یا چند قرارداد هوشمند، میتواند خود را به شکلی ایمن، اما غیر متمرکز، اجرا کند. در این مطلب به طور کامل با کاربرد و نحوه محاسبه کارمزد Gas در شبکه اتریوم آشنا خواهیم شد. اما برای درک این مفهوم ابتدا باید با مفاهیم دیگری، مخصوصا قراردادهای هوشمند، آشنا شوید.
چرا مکانیزمی شبیه گس اتریوم در بیت کوین وجود ندارد؟
بیت کوین ثمره چند دهه تلاش انسان برای خلق یک سیستم پولی دیجیتالی بود. به لطف آن، دست واسطهها قطع شده و خود افراد، اختیار کامل کنترل و مدیریت داراییهایشان را بر عهده گرفتند. غیر متمرکز بودن این سیستم سبب شده هیچ نهاد متمرکزی، نظیر بانک مرکزی یک کشور، روی آن کنترل و احاطه نداشته باشد. در اینجا، همه تصمیمگیریها و نحوه اداره، بر اساس رای و نظر کاربران سیستم اتخاذ میشوند و افراد به طور مستقیم در اداره آن دخالت دارند.
بیت کوین و فناوری زیربنایی آن یعنی بلاک چین، پنجرهای جدید به روی دنیا باز کرد، با این حال نمیتوان از مشکلات و محدودیتهای نخستین رمز ارز دنیا چشمپوشی کرد. با هدف از بین بردن این مشکلات، کنار زدن محدودیتها و ارائه یک سری قابلیتهای جدید، آلت کوینها متولد شدند. اکنون اتریوم، برترین آلت کوین به شمار میرود.
Bitcoin صرفا معاملات پولی را امکانپذیر کرده و در این شبکه، امکان تعیین یک سری شروط برای تراکنشها وجود ندارد. این ویژگی در توسعه Ethereum در نظر گرفته شد. به همین دلیل به کارمزد شبکه در اتریوم نیاز داریم. به عنوان مثال، آلیس میتواند برای باب 5 واحد BTC ارسال کند، اما قادر نیست روی این تراکنش، شرطی بگذارد تا پول بعد از انجام یک سری اعمال مشخص توسط باب، به کیف پول رمز ارزی او ارسال شود.
یک سیستم پولی غیر متمرکز مبتنی بر بلاک چین، که امکان ایجاد تراکنشهای شرطی را فراهم میکند، فرآیند انتقال دارایی را کاملا یکپارچه و راحتتر خواهد کرد. البته فراهم کردن این قابلیت به برنامهنویسی سنگین و پیچیدهای نیاز دارد، اما ویتالیک بوترین همراه دوستانش توانست به این موفقیت در پروژه اتریوم دست پیدا کند. حال او برای محاسبه هزینههای مربوط به انجام اعمال مختلف در پلتفرم بلاک چینی خود، سیستم گس را در تراکنشهای خرید و فروش اتریوم طراحی کرد.
هدف اصلی از تولد این مفهوم، حفظ یک لایه ارزش مجزا بود، به طوری که مصرف را نسبت به هزینههای محاسباتی در پلتفرم اتریوم نشان میدهد. داشتن واحدی جداگانه به این منظور سبب شد وجه تمایزی کاربردی بین ارزش واقعی رمز ارز پلتفرم (اتر – ETH) و هزینه محاسباتی استفاده از ماشین مجازی آن (EVM)، وجود داشته باشد.
توانایی درست کردن قرارداد هوشمند (Smart Contract) در Ethereum همان چیزی است که امکان ایجاد تراکنشهای شامل شروط پیچیده را فراهم کرده است. Bitcoin از اسمارت کانترکتهای پیچیده پشتیبانی نمیکند. حتی طراحی و اجرای موارد ساده نیز در شبکه نخستین رمز ارز دنیا دشوار و پرهزینه است.
حتما ببینید: ارزهای دیجیتال با کمترین کارمزد انتقال
نقش قرارداد هوشمند چیست در کارمزدهای اتریوم
اسمارت کانترکتها کمک میکنند پول، دارایی، سهام یا هر چیز باارزش را در چارچوبی شفاف، عاری از ناسازگاری و کاملا خودکار، بدون حضور واسطهها مبادله کنیم. اگرچه در حال حاضر پلتفرمهای متعددی برای ایجاد و اجرای آنها وجود دارند، اما اتریوم بزرگترین بستر برای ساخت و مدیریت قرارداد هوشمند محسوب میشود. برای اجرای اسمارت کانترکت در اتریوم به گس نیاز داریم. ویتالیک بوترین با خلق Ethereum نشان داد کاربرد بلاک چین بسیار بیشتر از توسعه یک مکانیزم پرداخت ساده است.
اولین مرتبه نیک سابو (Nick Szabo) در دهه 1990 میلادی مفهوم Smart Contract را خلق و از آن به عنوان ابزاری برای رسمی و ایمن کردن شبکههای کامپیوتری به وسیله ترکیب پروتکلها با رابطهای کاربری استفاده کرد. البته فعالیتهای وی در حد یک ایده باقی ماند، تا این که نسل جدید بلاک چین همراه ظهور بیت کوین متولد شد. این فناوری محیطی مناسب برای پیادهسازی و استفاده از قراردادهای هوشمند فراهم کرد. تعریف آقای نیک سابو با آن چه ما امروز در دنیای کریپتوکارنسی استفاده میکنیم، متفاوت است. تعریف ما از اسمارت کانترکت، یک اپلیکیشن یا برنامه اجرا شده روی یک بلاک چین به عنوان یک توافق دیجیتالی است.
دستاورد بزرگ قراردادهای هوشمند در اتریوم (با پرداخت گس) و دیگر شبکههای بلاک چینی، توانایی ایجاد پروتکلهای تراستلس (Trustless) بوده است. به لطف چنین پروتکلی، دو یا چند طرف یک معامله قادر خواهند بود بدون شناخت و داشتن اعتماد به هم، تعهداتی را نسبت به یکدیگر انجام بدهند. طرفین میتوانند مطمئن باشند در صورت عدم تحقق شرایط از پیش مشخص شده، قرارداد هوشمند اجرا نخواهد شد. حذف واسطهها، هزینههای عملیاتی را شدیدا کاهش داد، به طوری که گس اتریوم در مقایسه با هزینهای که باید به واسطهها پرداخت کنید، بسیار پایینتر است.
پروتکل Bitcoin از اسمارت کانترکتها پشتیبانی میکند، اما همانطور که گفتیم، به قراردادهای بسیار ساده محدود شده و از طرفی ایجاد و اجرای آنها را بسیار پرهزینه میکند. اتریوم امکان ایجاد و مدیریت راحت یک Smart Contract پیچیده را با هزینهای به مراتب پایینتر میسر کرد.
قراردادهای هوشمند نحوه انجام اعمال مختلف در اتریوم (به واسطه پرداخت گس) هستند. وقتی میخواهید یک کار خاص در این پلتفرم انجام بدهید، یک اسمارت کانترکت با یک یا چند طرف (نفر) دیگر ایجاد میکنید. همانطور که گفتیم در بلاک چین، آن را یک برنامه تصور میکنیم. این برنامه متشکل از یک سری دستورالعملها است که با استفاده از زبان برنامهنویسی Solidity نوشته شدهاند. به طور ساده، انجام اولین مجموعه دستورالعملها، اجرای عملکرد بعدی را در پی خواهد داشد. بعد از آن نوبت به عملکرد بعدی میرسد. این روند تا زمان رسیدن به انتهای قرارداد ادامه پیدا میکند.
درک بهتر اسمارت کانترکت با مثالی ساده
یک ماشین وندینگ را در نظر بگیرید. هر قدم، شبیه ماشهای برای فعالسازی مرحله بعدی است. از این نظر میتوان نحوه پیشروی اعمال در یک قرارداد هوشمند اتریوم بعد از تعیین گس را به دومینو تشبیه کرد. در یک ماشین وندینگ:
- مقداری پول وارد دستگاه میکنید.
- دکمه مربوط به محصول مورد نظرتان برای دریافت را فشار میدهید.
- محصول در اختیارتان قرار میگیرد.
آیا هر مرحله بدون اجرای مرحله قبل از آن انجام میشود؟ خیر، چرا که هر یک به قبلی وابسته است. در اینجا خریدار محصول، به طور مستقیم با دستگاه ارتباط برقرار کرده و خبری از یک واسطه نیست. اما این تراکنش با پرداخت کارمزد شبکه یا گس در اتریوم چطور انجام خواهد شد؟ تصور کنید شما در شبکه Ethereum از ماشین وندینگ چیزی خریداری کردهاید. مراحل به صورت زیر بودهاند:
- شما به ماشین مبلغی پرداخت کرده و این پرداخت در تمام نودهای شبکه نام برده ثبت میشود. سپس تراکنش در دفتر کل (بلاک چین یا همان پایگاه داده ما) آپدیت خواهد شد.
- دکمه مربوط به محصول مورد نظرتان برای دریافت را فشار میدهید. رکورد مربوط به این کار نیز در شبکه اتریوم و دفتر کل آن بهروزرسانی میشود.
- محصول در اختیارتان قرار میگیرد. این عمل در دفتر کل تمام نودها ثبت خواهد شد.
هر تراکنشی که از طریق یک اسمارت کانترکت انجام میدهید، توسط شبکه بلاک چین ثبت و آپدیت خواهد شد. به این ترتیب همه افراد درگیر در قرارداد، مسئول اقدامات خود هستند. هر اقدامی به راحتی قابل مشاهده است، در نتیجه توانایی انجام اعمال خصمانه از افراد سلب میشود.
دلیل استفاده از قرارداد هوشمند و به تبع آن پرداخت گس اتریوم چیست؟
ماشین وندینگ مثالی بسیار ساده بود، اما اتریوم را قادر به اجرای اسمارت کانترکتهای پیچیده خطاب کردیم. تصور کنید در پی فروش خانه خود هستید. این کار برای بسیار دلهرهآور بوده و توام با ریسک فراوان، مستلزم کاغذبازی و درگیر شدن با فرآیندهای اداری است. از نیاز به ارتباط با شرکتها و افراد متعدد نباید غافل شد، اگر بتوان آنها را پیدا کرد (بازاریابی). به همین دلیل اغلب حاضر میشوند با وجود نیاز به پرداخت هزینهای بالا، کار را به یک واسط، در اینجا یک بنگاه املاک، بسپارند. واسط انجام تمام امور را بر عهده گرفته و روی قرارداد نظارت خواهد داشت. به لطف یک قرارداد هوشمند قادر خواهیم بود بدون حضور واسطه، از مزایای حضورش در معاملات این چنینی بهره ببریم. از طرفی گس پرداخت شده در اتریوم در مقایسه با هزینههای دریافتی توسط واسطهها در دنیای واقعی بسیار پایینتر است.
نکته بسیار مهم اینجاست؛ اگرچه برای کاهش ریسک، کار را به یک بنگاه املاک، یعنی یک واسطه، سپردهاید، اما ممکن است حتی از طرف این واسطه نیز خطری شما را تهدید کند! به عبارتی ممکن است این واسطه به وسیله ساخت و پاخت با خریدار، ضررهای سنگینی به شما وارد کند! اما شفافیت و خودکار بودن اجرای اعمال در یک اسمارت کانترکت، این احتمال را نیز از بین خواهد برد.
مسئله اعتماد در دنیای کنونی، با حضور پروتکلهای تراستلس برطرف خواهد شد؛ فرد متقاضی مالکیت خانه شما را دریافت خواهد کرد، اگر مبلغ توافق شده به قرارداد هوشمند ارسال شود. تا وقتی شرایط (کد رو به روی if) ارضا نشوند، اعمال مورد نظر (کد مقابل then) اجرا نخواهند شد. نکته بسیار مهم دیگر، شفافیت امور است. بیشمار کاربر دیگر معامله را مشاهده کرده و به تایید میرسانند، به همین دلیل تحویل بدون خطا، تضمین خواهد شد.
با نگاهی به تراکنشهای پولی خود متوجه خواهید شد هر روز، بخش زیادی از داراییتان را دانسته یا ندانسته به واسطهها پرداخت میکنید. کوتاه شدن دست آنها، به نفع خریدار و فروشنده خواهد بود. اسمارت کانترکتها که در اتریوم با پرداخت کارمزد شبکه اجرا میشوند، مزایای متعددی دارند که کنار رفتن واسطهها یکی از آنها است. آنها تبادل پول، دارایی یا هر ارزش دیگر را راحت کرده و در مبادلات و معاملات، شفافیت را به ارمغان میآورند. کد برنامهنویسی متعلق به یک اسمارت کانترکت، حاوی تمامی شرایط و ضوابط مورد توافق بین طرفهای آن است. اطلاعات مرتبط با معامله در بلاک چین، به عنوان یک دیتابیس غیر متمرکز و توزیع شده، به ثبت خواهد رسید.
مبحث قراردادهای هوشمند پیچیده و توضیح بیشتر درباره آنها از حوصله این مطلب خارج است. در یکی از مطالب قبلی وبلاگ بیت 24 به طور مفصل به بررسی این مفهوم پرداختیم. برای آشنایی با نحوه کار اسمارت کانترکتها، شناخت ویژگیهای اصلی، مزایا، کاربردها، محدودیتها و تاریخچه آنها به مطلب زیر مراجعه کنید:
مفهوم دیگری که قبل از ورود به بحث کارمزد شبکه یا گس در اتریوم و نحوه محاسبه آن باید درک کنیم، بحث ماشین مجازی اتریوم (EVM) است.
ماشین مجازی اتریوم چیست؟
قبل از بررسی ماشین مجازی اتریوم یا EVM، ابتدا باید دلیل نیاز به یک ماشین مجازی در پلتفرم Ethereum را درک کنیم. مبحث قراردادهای هوشمند را به یاد آورید. خصوصیات مطلوبی که در اسمارت کانترکت خود میخواهیم چه مواردی است؟
هر چیزی که روی یک بلاک چین اجرا میشود، باید تغییرناپذیر باشد و بتواند بدون به خطر افتادن یکپارچگی آن، روی نودهای متعدد اجرا شود. به همین دلیل یک اسمارت کانترکت به سه ویژگی اساسی نیاز دارد:
- قطعی
- پایانپذیر
- منزوی (ایزوله)
ویژگی اول: قطعی
یک برنامه قطعی است، اگر در هر مرتبه اجرا روی یک داده ورودی خاص، خروجی یکسانی ارائه کند، حتی اگر روی کامپیوترهای مختلف اجرا شود. تا زمانی که ورودی یک برنامه قطعی تغییر نکند، خروجی آن ثابت خواهد بود. اتفاقات مختلف به رفتار غیر قطعی یک برنامه منجر میشوند:
- فراخوانی توابع سیستم غیر قطعی: وقتی برنامهنویس، یک تابع غیر قطعی را در برنامه خود فراخوانی میکند.
- وجود منابع داده غیر قطعی: اگر برنامه در ران تایم (حین اجرا) از یک منبع داده غیر قطعی درخواست دیتا کند، آن برنامه نیز رفتاری غیر قطعی بروز خواهد داد. تصور کنید یک نرم افزار، به ده نتیجه برتر در گوگل برای یک کوئری خاص نیاز دارد. میدانیم این فهرست به طور مداوم در حال تغییر است.
- فراخوانی پویا: منظور زمانی است که یک برنامه، برنامهای دیگر را فراخوانی میکند. از آن جایی که هدف فراخوانی تنها در زمان اجرا مشخص میشود، ماهیتش غیر قطعی است.
ویژگی دوم: پایانپذیر
در منطق ریاضی، خطایی به اسم «مسئله توقف» وجود دارد. اساسا، این ارور ناآگاهی نسبت به توانایی یا عدم توانایی یک برنامه برای اجرای وظیفهاش در یک محدوده زمانی مشخص را بیان میکند. در سال 1936، آلن تورینگ (Alan Turing) از طریق استدلال قطری کانتور به این نتیجه رسید که نمیتوان اتمام یا عدم اتمام یک برنامه در یک محدوده زمانی را (از قبل) متوجه شد.
به زبان دیگر، مسئله توقف بیان میکند در صورتی که شرح یک برنامه و ورودی متناهی متناظر با آن را داشته باشیم، آیا میتوان تشخیص داد که این برنامه متوقف میشود، یا تا ابد ادامه پیدا خواهد کرد. در نظر داشته باشید هیچ شرطی درباره زمان اتمام برنامه یا حافظه اشغال شده توسط آن وجود ندارد، یعنی ممکن است اجرا و اتمام برنامه به زمان و حافظه زیادی نیاز داشته باشد. سوال اصلی این است که آیا این برنامه سرانجام تمام خواهد شد، یا تا ابد ادامه پیدا میکند.
این موضوع در برخورد با قراردادهای هوشمند یک مشکل اساسی به شمار میرود، چرا که بر اساس تعریف اسمارت کانترکتها، آنها باید بتوانند در یک محدوده زمانی مشخص خاتمه پیدا کنند. اقداماتی در پلتفرم اتریوم صورت گرفته تا از امکان متوقف کردن قراردادها از بیرون اطمینان پیدا کرد. به این ترتیب آنها وارد یک حلقه بینهایت نشده و منابع را بیهوده تلف نخواهند کرد. این موضوع سبب میشود به اشتباه، گس اتریوم سر به فلک نکشد و تا ارقامی نجومی افزایش پیدا نکند.
- ناتمامی تورینگ (Turing Incompleteness): یک بلاک چین تورینگ ناقص، عملکرد محدودی دارد و قادر به ایجاد جهش و حلقه نیست. به همین دلیل نمیتواند وارد یک حلقه بیپایان شود.
- اندازهگیر مرحله و هزینه: یک برنامه میتواند تعداد مراحلی که پشت سر گذاشته است را ردیابی کند. میتوان هر مرحله را اجرای یک دستورالعمل در نظر گرفت. حال میتوان تعیین کرد در صورتی که تعداد مشخصی قدم برداشته شد، اجرای برنامه متوقف و از افزایش بیش از اندازه گس اتریوم جلوگیری شود. روش دیگر، اندازهگیری کارمزد است. در این شرایط قرارداد هوشمند، بر اساس یک کارمزد از پیش تعیین شده اجرا میشود. اجرای هر دستورالعمل به هزینه خاصی نیاز دارد. در صورتی که هزینه اجرای کانترکت از کارمزد پرداخت شده در ابتدا فراتر برود، اجرای آن متوقف خواهد شد.
- زمانسنج: یک تایمر از پیش تعیین شده وجود دارد. در صورتی که اجرای قرارداد تا زمان مشخص شده تمام نشود، از بیرون متوقف خواهد شد.
ویژگی سوم: منزوی
در یک بلاک چین مثل اتریوم، هر چیز یا هر فردی قادر است یک اسمارت کانترکت بارگذاری کند. به همین دلیل قراردادها ممکنه آگاهانه یا ناآگاهانه، شامل بدافزار یا باگ باشند. اگر یک کانترکت ایزوله نباشد، در صورت داشتن ویروس یا رخنه، سطح وسیعتری را آلوده کرده و عملکرد کل سیستم را مختل خواهد کرد. پس باید یک قرارداد را برای جلوگیری از تاثیرات منفی آن روی کل اکوسیستم منزوی نگه داشت.
اجرای قراداد هوشمند
اکنون که این ویژگیهای ضروری و پیش نیاز برای اجرای یک اسمارت کانترکت را درک کردید، بهتر متوجه نحوه اجرای آن خواهید شد. به طور معمول، قراردادهای هوشمند روی سیستم ماشین مجازی یا داکر اجرا میشوند. در ادامه این دو را مقایسه کرده و گزینه بهتر برای یک اکوسیستم را مشخص میکنیم. در این مقایسه داکر (فابریک) را با ماشین مجازی اتریوم (EVM) مقایسه خواهیم کرد.
ماشین مجازی | داکر | |
قطعی | قراردادها توابع غیر قطعی نداشته و دیتا فقط محدود به اطلاعات درون شبکهای است. با این حال، فراخوانی پویا را نیز شامل میشود که در ذات میتواند غیر قطعی باشد. خوشبختانه داده در دسترس قطعی است. | به خاطر نوع طراحی داکر، سیستم برای ایجاد قراردادهای هوشمند، که قطعی هستند، متکی به کاربران است. این بهترین راه حل ممکن نیست! |
پایانپذیر | اتریوم از اندازهگیر هزینه برای مشخص کردن زمان توقف کانترکتهای در حال اجرا استفاده میکند. در اینجا هر قدم در اجرای یک قرارداد، نیازمند مقداری کارمزد شبکه اتریوم است. وقتی مجموعه هزینه مراحل از کارمزد پرداخت شده در ابتدا تجاوز کند، اجرای آن متوقف خواهد شد. | فابریک از زمانسنج استفاده میکند. از آن جایی که ممکن است زمان، به خاطر توان پردازشی متفاوت نودها، از یک گره به گره دیگر تغییر کند، ریسک افزایش زیاد گس اتریوم وجود دارد. |
منزوی | در سطح خوبی قرار دارد | متکی به فضای اسمی است و نمیتواند در سطحی مناسب، محیطی ایزوله فراهم کند. |
طبق مقایسه بالا، ماشینهای مجازی بهتر محیطی با سه ویژگی قطعیت، پایانپذیری و انزوا برای قراردادهای هوشمند فراهم میکنند. با این حال، نمیتوان از یک ویژگی منحصربهفرد داکر چشمپوشی کرد؛ داکر از نظر برنامهنویسی انعطافپذیری بالایی دارد، در حالی که برای استفاده از یک ماشین مجازی نظیر EVM، فرد باید به منظور ایجاد یک اسمارت کانترکت، یک زبان کدنویسی (در اینجا Solidity) را به طور کامل یاد بگیرد.
در پلتفرم اتریوم، ماشین مجازی اجرای اسمارت کانترکتها، EVM است. در حال حاضر، این قویترین ماشین مجازی تورینگ کامل 256 بیتی به شمار میرود. تورینگ کامل به این معنی است که در صورت در اختیار داشتن منابع کافی نظیر حافظه، هر برنامهای را تا رسیدن به جواب اجرا میکند.
کارمزد شبکه یا گس در اتریوم چیست؟
همانطور که در ابتدا توضیح دادیم، گس در اتریوم واحدی است که میزان تلاش محاسباتی به منظور اجرای یک سری عملیات خاص را اندازهگیری میکند. بیشتر قراردادهای هوشمند اجرا شده روی ماشین مجازی اتریوم، با استفاده از زبان برنامهنویسی Solidity ایجاد شدهاند. البته بنیاد اتریوم تصمیم دارد در آینده نزدیک، آن را به Viper تغییر بدهد. اجرای هر خط کد در Solidity به مقداری Gas نیاز دارد.
تصویر زیر، بخشی از یلوپیپر (Yellowpaper) اتریوم است. به کمک آن میتوان به یک دید کلی و تقریبی درباره هزینه اجرای یک سری دستورالعمل روی EVM دست پیدا کرد. بر اساس این جدول، محدودیت کارمزد شبکه اتریوم در هر تراکنش 21 هزار واحد است.
برای درک بهتر نحوه کار گس در اتریوم مثال مقابل را در نظر بگیرید. تصور کنید قصد سفر دارید. قبل از این کار، یک سری مراحل را طی میکنید:
- مقدار بنزین مورد نیازتان برای سفر را ارزیابی و تعیین میکنید.
- به پمپ بنزین رفته و آن مقدار سوخت را دریافت میکنید.
- هزینه مربوط به سوخت دریافتی را به پمپ بنزین پرداخت میکنید.
حال به پلتفرم اتریوم برمیگردیم. رانندگی و سفر، در اینجا همان اجرای عملیات، نظیر اجرای یک تابع در یک قرارداد هوشمند است. سوخت در اینجا گس است. پمپ بنزین را در اینجا باید ماینر در نظر بگیریم. هزینهای که برای تامین سوخت اجرای دستورالعملها پرداخت میکنید، به جیب ماینرها میرود. برای کمک به درک بهتر، مثال بالا را به شکلی سادهتر بیان میکنیم.
راندن یک خودرو برای X مایل، به Y لیتر سوخت نیاز دارد. انتقال X دلار به واسطه تراکنشهای بانکی نیز نیازمند Y دلار کارمزد است. در هر دو مثال، X هدف است. حال برای رسیدن به این هدف باید به مقدار Y هزینه کنیم. به شکلی مشابه، اجرای یک قرارداد هوشمند یا تراکنش در اتریوم هدف ما محسوب میشود. تصور کنید هدف، ارسال 50 واحد رمز ارز اتر است. این کار به هزینهای نیاز دارد که در هر زمان ممکن است متفاوت باشد.
تمام اعمالی که کاربران میخواهند در Ethereum اجرا کنند، بابت پوشش داده (گس ذاتی) و همچنین پوشش کل محاسبات آن، به Gas نیاز دارند.
چرا به سیستم گس در اتریوم نیاز داریم؟
پاسخ این سوال، ساده و سرراست است؛ در یک سیستم غیر متمرکز نظیر اتریوم، بدون وجود مشوق (مالی)، ماینرها دلیلی برای صرف منابع پردازشی خود به منظور اجرای یک قرارداد هوشمند، نخواهند داشت.
شبیه هر سیستم بلاک چینی مبتنی بر الگوریتم اثبات کار (PoW) دیگر، اتریوم نیز شدیدا به هش ریت ماینرهای خود وابسته است. هر چه تعداد استخراجکنندگان بیشتر باشد، هش ریت نیز در شبکه افزایش پیدا کرده و امنیت و سرعت آن بهبود خواهد یافت.
به منظور تشویق افراد بیشتر برای عضویت در اکوسیستم اتریوم به عنوان یک ماینر، باید آن را تا جای ممکن سودآور کرد. در ارتباط با Ethereum، ماینرها به دو روش قادر به کسب درآمد هستند:
- ماین کردن بلاکها و دریافت جایزه مربوط به استخراج
- تبدیل شدن به دیکتاتورهای موقت بلاکهای استخراج شده خود
اکنون درباره روش دوم بیشتر صحبت میکنیم. ماینرها مسئول قرار دادن تراکنشها در داخل بلاکها هستند. به این منظور، آنها میبایست از توان پردازشی خود برای اعتبارسنجی قراردادهای هوشمند استفاده کنند. سیستم گس اتریوم به آنها اجازه میدهد هزینه مشخصی برای این کار تعیین کنند. کارمزد به عنوان کارمزد ماینر شناخته شده و به راغب نگه داشتن کاربران برای حضور فعال در اکوسیستم و تامین هش ریت مورد نیاز آن، کمک میکند. اما آنها چقدر کارمزد میتوانند تعیین کنند؟ پیش از محاسبه، ابتدا نحوه اندازهگیری Gas را بررسی میکنیم.
گس به طور ساده در واحد Gas اندازهگیری میشود. یک تراکنش ارسال شده در شبکه Ethereum به مقداری گسسته از Gas، مثلا 100 عدد از آن، نیاز دارد. تعداد مورد نیاز، به تعداد دستورالعملهای ضروری برای اجرا روی EVM وابسته است.
مبلغ دقیق Gas بر اساس عرضه و تقاضا بین ماینرها، که میتوانند در صورت پایینتر بودن هزینه گس نسبت به آستانه دلخواهشان از پردازش یک تراکنش خودداری کنند، و کاربران نیازمند قدرت محاسباتی، تعیین میشود.
چطور Gas را به Ether تبدیل کنیم؟
بهخاطر نوسان قیمت اتریوم، هیچ قیمت ثابتی برای تبدیل وجود ندارد. ارسالکننده رمز ارز میتواند یک هزینه گس در اتریوم به دلخواه تعیین کند. از طرفی دیگر، ماینر نیز در تایید و بررسی یک تراکنش حق انتخاب دارد، پس طبیعی است موارد دارای بیشترین Gas را در اولویت قرار بدهد. هزینه گس به طور معمول در حدود 20 واحد Gwei یا 0.00000002 اتر است، اما در زمانهای افزایش ترافیک در شبکه به خاطر حجم انبوه تراکنشهای در صف انتظار، میتواند افزایش پیدا کند، چرا که هر ارسالکننده دوست دارد تراکنش وی در اولین بلاک بعدی گنجانده شود.
یکی از مفاهیم بسیار مهمی که باید در ارتباط با Gas در Ethereum درک کنید، علت نیاز به تعیین یک محدودیت برای این مقدار است.
علت تعیین محدودیت گس در محاسبه کارمزد شبکه اتریوم چیست؟
برای انجام یک عمل خاص در اتریوم، ارسالکننده تراکنش باید یک محدودیت گس را قبل از ارسال درخواست به شبکه مشخص کند. منظور از آن، حداکثر هزینهای است که ارسالکننده تمایل دارد برای این تراکنش پرداخت کند. حین تعیین محدودیت Gas باید به چند نکته توجه کرد:
- عملیاتهای مختلف، هزینه Gas متفاوتی دارند.
- وقتی Gas تعیین شده از سوی ارسالکننده به پایان رسید، ماینر اجرای قرارداد را متوقف خواهد کرد.
- در صورتی که بعد از اتمام موفق اجرای کانترکت، چیزی از Gas باقی مانده باشد، به حساب ایجادکننده عملیات بازگردانده میشود.
در ادامه با یک سناریوی فرضی بهتر نحوه کار سیستم گس در اتریوم را درک میکنیم. تصور کنید میخواهید در یک قرارداد هوشمند، دو عدد را با یکدیگر جمع کنیم. قرارداد به این منظور باید اقدامات زیر را انجام بدهد:
- دو عدد را در دو متغیر ذخیره کند. تصور کنید گس این کار 45 است.
- دو عدد را با یکدیگر جمع کند. تصور کنید گس این کار 10 است.
- نتیجه را در متغیری دیگر ذخیره کند. تصور کنید گس این کار 45 است.
فرض کنید ارسالکننده کانترکت، محدودیت Gas را برابر 120 قرار داده است. مجموع سوخت مورد نیاز یک ماینر برای انجام این عملیات برابر 100 است (45+10+45). فرض میکنیم 1 گس برابر 20 Gwei است. پس 0.000002 اتر به عنوان کارمزد نصیب ماینر میشود. با تفاضل سوخت مصرف شده از سوخت در دسترس (100-120) متوجه خواهیم شد 20 گس (0.0000004 اتر) باقی مانده که در نهایت به ارسالکننده برگشت داده میشود.
در تعیین محدودیت Gas در Ethereum دو سناریو را باید در نظر گرفت؛ هزینه تعیین شده توسط کاربر در مقایسه با سوخت مورد نیاز بیش از اندازه زیاد یا بیش از اندازه پایین باشد.
سناریوی اول: محدودیت کارمزد گس شبکه اتریوم بسیار پایین
اگر عملیاتی حین اجرا با مشکل نبود سوخت مواجه شود، دوباره به حالت اولیه برگردانده خواهد شد، گویا هیچ اتفاقی رخ نداده است. با این حال، ایجادکننده این عملیات همچنان باید به خاطر قدرت پردازشی که ماینر تا لحظه توقف صرف کرده، کارمزدش را پرداخت کند. اگرچه عملیات با موفقیت اجرا نشده است، اما همچنان به بلاک چین اضافه خواهد شد.
مثال سفر با خودرو را به یاد آورید. اگر قبل از شروع سفر، باک اتومبیل را به اندازه کافی پر از بنزین نکرده باشید، به مقصد نخواهید رسید، با این حال، پمپ بنزین در مبدا، هزینه سوخت مصرف شده تا آنجا را به شما برنمیگرداند.
در مثال جمع دو عدد داخل یک اسمارت کانترکت، مرحله اول، دوم و سوم به ترتب 45، 10 و 45 گس نیاز داشت. تصور کنید ارسالکننده قرارداد هوشمند شامل این عملیات، این مرتبه محدودیت Gas را برابر 90 قرار داده است. این در حالی است که مجموع گس مورد نیاز مراحل برابر 100 است. در این سناریو، ماینر عملیات را به اندازه سوخت در دسترس پیش برده و 0.0000018 اتر دریافت خواهد کرد. در ادامه قرارداد به حالت اول و اورجینال خود بازگشته و تراکنش به بلاک چین اضافه میشود.
سناریوی دوم: محدودیت گس بسیار بالا
اما اگر باک را بیش از سوخت واقعی مورد نیاز برای رسیدن به مقصد پر کرده باشید، چه اتفاقی رخ میدهد؟ به نظر این کار منطقیتر است، چرا که در صورت باقی ماندن کارمزد گس بعد از اتمام اجرای قرارداد در اتریوم، شبکه آن را به حساب شما برگشت داده و به خاطر یک عملیات ناتمام، مجبور به پرداخت هزینه نخواهید شد. به ظاهر تعیین مبالغی بالا برای Gas برای جلوگیری از اتلاف هزینه روی عملیاتی ناتمام منطقیتر است، اما در عمل واقعیت چیز دیگری است.
ماینرها با محدودیت گس بلاک، محدود شدهاند. این مقدار برای هر بلاک برابر 6 میلیون و 700 هزار Gas است. یک تراکنش ساده (صرفا انتقال اتر از یک والت به والت دیگر)، به حداقل 21 هزار Gas نیاز دارد. ماینرها فقط میتوانند تراکنشهایی را به بلاک اضافه کنند که مجموع گس آنها برابر یا کمتر از محدودیت 6 میلیون و 700 هزار واحدی باشد.
فرض کنید تراکنش A برای انتقال ساده مقداری اتر، دارای محدودیت گس سفارشی 42,200 است. مقدار محدودیت گس دو تراکنش B و C، مجددا برای انتقال مقداری اتر، برابر 21 هزار است. برای یک ماینر، قرار دادن کدام یک در بلاک خود منطقیتر خواهد بود؟ آیا ماینر تراکنش A را قرار داده و در نهایت بخش زیادی از گس اتریوم استفاده نشده را برمیگرداند؟ یا ترجیح میدهد تراکنش B و C را داخل بلاک گنجانده و در نهایت هیچ چیز، یا شاید مقداری بسیار کم، برگرداند؟ در نظر داشته باشید کف محدودیت گس برای یک تراکنش ساده انتقال اتر از یک والت به والت دیگر 21 هزار گس است، اما همانطور که گفتیم، ارسالکننده میتواند مبلغی بالاتر در نظر بگیرد.
از نظر اقتصادی، انتخاب تراکنش B و C برای گنجاندن در بلاک گزینه بهتری است. به همین دلیل تعیین Gas بیش از انداره در Ethereum، لزوما بهترین راهکار برای سرعت دادن به عملیات نیست. بهترین کار این است که همیشه محدودیت گس را کمی بالاتر از Gas مورد نیاز برای انجام تراکنش خود قرار بدهید.
مقدار فعلی هزینه Gas در شبکه اتریوم؛ دی 1402
برای آنکه اتریوم بتواند به یک کامپیوتر جهانی تبدیل شود، نیازاست تا مقدار کارمزد شبکه آن بسیار پایین باقی بماند. به همین دلیل، سازوکار پرداخت این تراکنشها نیز باید به نحوی باشد که مقادیر بسیار پایین کارمزد با واحد پولی معینی بیان شود. برای بیان کارمزد تراکنشها، اتر در نسبتهای کوچکتر قرض میشود. واحد شمارشی که زیاد مورد استفاده قرار میگیرد، گیگاوی (gwei) نام دارد که به نانو اتر نیز شناخته میشود. هر یک نانو اتر معادل (10 به توان -9) 0.000000001 اتر است.
روش دیگری برای نامگذاری واحدهای کوچکتر از اتر نیز وجود دارد. در این روش، هر واحد به نام یکی از چهرههای تاثیرگذار بازار ارزهای دیجیتال است. البته این نامگذاری خیلی مورد استفاده قرار نمیگیرد.
برای محاسبه مقدار کارمزد مورد نیاز برای اجرای هر تراکنش در شبکه اتریوم راههای متفاوتی وجود دارد. شبکه اتریوم به گونهای طراحی شدهاست که میتوان هر مقدار کارمزدی را انتخاب کرد. بنابراین، بر روی کاغذ، فرستنده میتواند مقدار دلخواه کارمزد تراکنش خود را انتخاب کند. این مقدار اهمیتی ندارد که چقدر باشد ( حتی میتواند 1gwei باشد).
اما در عمل اینگونه نیست. زیرا انگیزه ماینرهای شبکه، مقدار کارمزد دریافتی در هر تراکنش را مشخص میکند. وقتی مقدار کارمزد شبکه پایین باشد، ماینرها انگیزهای برای پردازش تراکنش نخواهند داشت.
تعداد زیادی ماشینحساب محاسبه Gas آنلاین وجود دارد که کاربران میتوانند بازهای از مقدار کارمزد قابل پرداخت برای هر تراکنش خود مطلع شوند. یکی از این ابزارها، ETH Gas Station است که استفاده از آن را توصیه میکنیم.
به استناد گس ترکر اتر اسکن به آدرس etherscan.io/gastracker، برای اینکه یک تراکنش در زمانی کمتر از 5 دقیقه تایید شود، هزینه کارمزد آن 15 گیگا وی معادل 0.65 دلار (در دی ماه 1402) است. برای اینکه همین تراکنش در زمانی کمتر از 2 دقیقه انجام شود، باید 34 gwei یا حدود 0.135 دلار پرداخت شود.
لطفا توجه کنید که این محاسبات به صورت تخمینی هستند. یک تراکنش با کارمزد 21000 gas که قیمت هر gas برابر 35 گیگاوی باشد، تقریبا توسط 97 درصد افراد پذیرفته شده است. زمان مورد نیاز برای تایید این تراکنش، به طور میانگین 21 ثانیه است.
گس اتریوم بالا و پایین در برابر کارمزد بالا و پایین
تاکنون برایتان واضح شده که گس و اتر، دو چیز متفاوت محسوب میشوند. منظور از Gas، مقدار توان محاسباتی مورد نیاز است، اما ETH یا Ether به عنوان رمز ارز اختصاصی پلتفرم اتریوم، ارزی است که برای پرداخت Gas از آن استفاده میشود. با در نظر گرفتن هر آن چه تا اینجا یاد گرفتیم، چند سناریوی مختلف گس و کارمزد را بررسی خواهیم کرد.
اگر یک عملیات گس پایینی داشته باشد، ماینر آن را حتی انتخاب نخواهد کرد، چرا که گس کافی برای اتمام محاسبات ندارد. اگر یک عملیات کارمزد پایینی داشته باشد، ممکن است فقط Gas کافی برای پوشش آن داشته باشد، اما همچنان، ماینر برای برداشتن آن تقلا نخواهد کرد، چرا که عملیاتی با کارمزد پایین، از نظر اقتصادی برایش مقرون به صرفه نیست.
اگر یک عملیات گس بالایی داشته باشد، به این معنی است که ارسالکننده محدودیت گس را بیش از اندازه در نظر گرفته است. طبق مثالی که در قسمت قبل بررسی کردیم، ماینر آن را انتخاب نخواهد کرد. اگر یک عملیات کارمزد بالایی داشته باشد، ماینر به خاطر سودآور بودن، سریعا آن را انتخاب میکند.
هزینه Gas پیشنهادی بر اساس سرعت دلخواه انجام تراکنش در اتریوم، طبق وب سایت ethgasstation.info در روز انتشار مطلب (1 فروردین 1400) برابر مقدار زیر است:
- تریدر (در اسرع وقت): 131
- سریع (زیر 2 دقیقه): 127
- استاندارد (زیر 5 دقیقه): 106
سناریوهای بازگشت Gas در Ethereum
در زبان برنامهنویسی Solidity، دو فرمان وجود دارند که از بازگشت مبلغی از Gas اطمینان پیدا میکنند:
- SUICIDE: این فرمان به طور ساده قرارداد هوشمند را متوقف کرده و 24 هزار گس برمیگرداند.
- STORE: با حذف فضای حافظه، 15 هزار گس برمیگرداند.
با در نظر گرفتن این اعداد، اگر کانترکت شما 14 هزار Gas استفاده کرده و در نهایت حافظه را با فرمان STORE حذف کند، هزار Gas نیز در نهایت دریافت خواهید کرد! اما در واقعیت روند کار به این سادگی نیست.
در چنین شرایطی، ماینر هیچ چیز دریافت نخواهد کرد! منطقی نیست که ماینر پردازش عملیات شما را انجام داده و در نهایت به جای دریافت کارمزد، مبلغی نیز برگرداند! برای جلوگیری از رخ دادن چنین سناریوهایی، شرطی در نظر گرفته شده است؛ بازپرداخت انباشته شده، نمیتواند از نصف گس یا کارمزد شبکه اتریوم استفاده شده در طول محاسبه تجاوز کند. برای درک بهتر، به مثال زیر توجه کنید.
مثال اول
فرض کنید یک قرارداد هوشمند با مصرف 14 هزار Gas داریم. محدودیت Gas نیز 20 هزار در نظر گرفته شده است. در کد کانترکت نیز فرمان STORE وجود دارد. حال بعد از اتمام اجرای قرارداد، ارسالکننده آن چقدر دریافت خواهد کرد؟ ابتدا، 6 هزار واحد گس استفاده نشده بازگردانده میشود (14,000-20,000). از نظر تئوری و بدون در نظر گرفتن شرط، باید 15 هزار گس یا کارمزد شبکه اتریوم نیز به خاطر به خاطر فرمان STORE بازگردانده شود.
اما شرط «بازپرداخت انباشته شده، نمیتواند از نصف گس اتریوم استفاده شده در طول محاسبه تجاوز کند» از این اتفاق جلوگیری کرده و مبلغ بازگردانده شده را کاهش میدهد. 15 هزار، از 14 هزار تقسیم بر 2، بیشتر است. در نهایت، 7 هزار گس دیگر نیز برگردانده خواهد شد. مجموع Gas بازپرداختی به ارسالکننده کانترکت برابر 13 هزار واحد است.
مثال دوم
تصور کنید قرارداد هوشمند فرضی ما، شامل فرمان SUICIDE، برابر 70 هزار گس استفاده میکند. طبق این فرمان، باید 24 هزار واحد به شما برگردانده شود. طبق قانون «بازپرداخت انباشته شده، نمیتواند از نصف گس یا کارمزد شبکه اتریوم استفاده شده در طول محاسبه تجاوز کند»، 70 هزار تقسیم بر 2، از 24 هزار بیشتر است. پس Gas برگردانده شده، مساوی 24 هزار به علاوه گس باقی مانده است.
کارمزد اتریوم در چه ساعاتی از شبانهروز پایینتر است؟
بسته به قیمت رمز ارز اتر، کارمزد اتر هم میتواند متفاوت باشد. مثلاً، کارمزد گس گاهی تا ۰.۰۰۰۱ دلار کاهش مییابد و گاهی به بیش از ۱۰۰ دلار میرسد. سادهترین راه برای اینکه گس کمتری بپردازید، عدم انجام تراکنش در ساعات مشخصی از شبانهروز است که شبکه اتریوم بیشترین ازدحام را دارد.
چه ساعتهایی شبکه اتریوم بیشترین و کمترین ازدحام را دارد؟
هرچه تقاضا در بلاک چین اتریوم بیشتر باشد، با هزینه گس بیشتری هم مواجه هستیم. شلوغترین و گرانترین زمانها برای انجام تراکنش در شبکه اتریوم به وقت ایران، از ساعت ۲ بعدازظهر تا ۸ شب برآورد شده است. زیرا در این زمان، تریدرهای ایالات متحده و اروپا در حال گذراندن اولین ساعات روز کاری خود هستند و کاملاً فعالاند.
کمکارترین و کمترافیکترین ساعات در بلاک چین اتریوم حدود ساعت ۱۲:۳۰ نیمهشب تا ۴:۳۰ صبح به وقت ایران تخمین زده میشود که البته، ممکن است بسیاری از ما در ایران در خواب باشیم! باز هم یادآوری میکنیم که این ساعتها تقریبی برآورده شدهاند و در هر بازه زمانی، قیمت اتر و سطح تراکم شبکه بر کارمزد گس تأثیرگذار هستند.
بهترین زمان برای انتقال اتریوم چه وقتی است؟
برای کاهش هزینه گس اتریوم، پیشنهاد شده که تراکنشهایتان را روز یکشنبه (روز تعطیل اروپا و آمریکا) بین ساعات ۱۲:۳۰ نیمهشب تا ۴:۳۰ صبح انجام دهید. بهطور ویژه بین ساعات ۲:۳۰ شب تا ۴:۳۰ صبح، احتمالاً نرخ کارمزد گس هم کاهش پیدا میکند.
چه کسانی باعث افزایش کارمزدهای شبکه اتریوم میشوند؟
هرگاه موضوع مهمی در بازار اتریوم و ارزهای دیجیتال داغ میشود و بر سر زبانها میافتد، کارمزد گس اتریوم هم پابهپای آن افزایش پیدا میکند. مثلاً، اولین جهش عمده قیمت گس مربوط به افزایش تقاضای ناشی از معرفی قراردادهای هوشمند و اپلیکیشنهای غیرمتمرکز در شبکه اتریوم بود.
همچنین، برخی اپلیکیشنهای غیرمتمرکزی که ناگهان به شهرت میرسند، گردوخاک زیادی در حجم تراکنشها به پا میکنند و باعث رشد نمایی نمودار گس میشوند. مثلاً، در سال ۲۰۱۷ با راهاندازی اولین نمونههای معروف NFT در بازی کریپتوکیتیز (CryptoKitties) هزینه گس اتریوم از میانگین ۰.۰۰۲ اتر به ۰.۰۰۸ اتر رسید.
یکی دیگر از مواردی که شاهد جهش قیمت گس بودیم، به ماجرای رونقگرفتن ییلد فارمینگ (کشت سود) دیفای و جنون میم کوینها در سال ۲۰۲۰ برمیگردد. همچنین، ایردراپ تاریخی یونیسواپ در سپتامبر ۲۰۲۰ یکی دیگر از عوامل رشد عجیب قیمت گس بود.
همانطور که در تصویر زیر مشاهده میکنید، در ۱۷ سپتامبر ۲۰۲۰ درست یک روز بعد از ایردراپ توکن UNI از صرافی غیرمتمرکز یونی سواپ، قیمت گس با رشدی ۲۰۰ درصدی از ۱۷۹ وی به ۵۳۸ وی رسید.
یک سال بعد در ۲۰۲۱، همراه با عرضه برخی از مهمترین و مشهورترین توکنهای غیرمثلی، گس چندبرابر شد و به رکورد ۱۴۰۰ گیگاوی (Gwei) رسید. بهعبارت دیگر، کاربران برای انجام هر تراکنش ساده اتریوم باید تقریباً ۰.۰۴ اتر میپرداختند که رقمی بسیار بالا برای گس محسوب میشود.
اندکی جلوتر در سال ۲۰۲۳، با داغشدن مجدد دنیای میمکوینها به بهانه راهاندازی پپه (PEPE) شاهد موج جدید دیگری از افزایش قیمت گس بودیم. در این زمان، فقط ۱۸ روز طول کشید تا قیمت گس با رشدی ۲۷۵ درصدی از ۴۰ وی به ۱۵۰ وی برسد!
مهمترین نکات برای انتخاب بهترین زمان انجام تراکنش در شبکه اتریوم
در این بخش، فهرستی از نکاتی را مرور میکنیم که به شما در انتخاب بهترین بازه زمانی برای کاهش کارمزد گس کمک میکنند.
اولویتبندی تراکنش
دانستن بهترین زمان ارسال تراکنش فقط برای مواقعی مناسب است که کار فوری ندارید و صرفاً قصد دارید توکن انتقال دهید. اگر مشغول ترید هستید یا در پروتکلهای دیفای فعالیت دارید، گاهی مجبور میشوید در اوج ازدحام شبکه تراکنش انجام دهید.
اما بهطور کل، بد نیست این نکته را در نظر بگیرید که اغلب جهشهای گس پس از مدتی با کاهشهای چشمگیر همراه بودهاند و در زمان ترافیک شبکه، بد نیست برای خلوتتر شدن و کاهش گس اندکی منتظر بمانید.
چالش صرافی های غیرمتمرکز
اگر در صرافیهای غیرمتمرکز معامله میکنید، در نظر داشته باشید که پیشبینی کارمزد در صرافیهای غیرمتمرکز کمی سختتر است. زیرا در این صرافیها اگر یک رمز ارز دچار لغزش قیمت (Slippage) شود، ممکن است تراکنش نهایی نشود و در این حالت، شما فقط گس ارزشمند خود را از دست میدهید.
در واقع، صرافیهای غیرمتمرکز واسطهها را حذف و پروتکلهایی را جایگزین آنها میکنند که در صورت تغییر قیمت با حذف تراکنش، کاربر مجبور نشود تراکنش را با قیمت جدید انجام دهد. اما اگرچه تراکنش انجام نمیشود، هزینه گس برای شروع تراکنش از قبل پرداخت میشود و ممکن است با کنسلشدن تراکنش، مجبور شوید هزینه گس اضافه بپردازید.
توجه به عوامل موثر در افزایش گس
علاوه بر یافتن زمان ایدئال برای انجام تراکنش، بد نیست به سایر عوامل موثر در افزایش گس هم توجه داشته باشیم. برخی دورهها مثل جنون دوران دیفای، ییلد فارمینگ یا توکنهای غیرمثلی باعث افزایش غیرمنطقی کارمزد گس میشوند. بهتر است در این ایام، تراکنش انجام ندهید.
همچنین، گاهی پیچیدگی محاسبات برای اجرای قراردادهای هوشمند بر میزان کارمزد گسی که باید بپردازید، تأثیرگذار است. قراردادهای هوشمند پیچیده به گس بیشتری احتیاج دارند و شبکه را متراکمتر میکنند.
استفاده از راهکارهای لایه دوم
یکی از استراتژیهای توسعهدهندهها و تریدرهای کارکشتهتر، بهکارگیری راهکارهای لایه دوم اتریوم برای کاهش هزینه تراکنش است. این راهکارهای لایه دوم مثل شبکههای آربیتروم (Arbitrum)، آپتیمیزم (Optimism) و پالیگان (Polygon) با اپلیکیشنهای غیرمتمرکز اتریوم سازگار هستند و به کاربران و توسعهدهندگان اجازه میدهند از DApp های موردنظر خود در لایه دوم بهره ببرند.
انتقادها به سیستم کارمزد شبکه اتریوم
اگرچه این سیستم، به خاطر ایجاد یک مکانیسم روان برای تشویق کاربران به عضویت و فعالیت در شبکه غیر متمرکز اتریوم، تحسین بسیاری را برانگیخته، اما به خاطر هزینههای بالای آن برای توسعهدهندگان و ایجادکنندگان قراردادهای هوشمند، هدف انتقادهای فراوانی نیز قرار گرفته است.
دنی رایان (Danny Ryan) به عنوان یک متخصص حوزه بلاک چین، تحقیق و مقایسه جالبی در این رابطه انجام داد. وقتی در اتریوم، دو عدد را یک میلیون مرتبه با یکدیگر جمع کنیم، هزینه کارمزد 26.55 دلار میشود. تصور کنید این عملیات را به سیستم متمرکز آمازون AWS سپردهایم. این سیستم قادر است با استفاده از زبان برنامهنویسی پایتون، دو عدد را طی 0.04 ثانیه یک میلیون مرتبه جمع کند. در زمان تحقیق وی، هزینه این کار در سرور آمازون برابر 0.000000066 دلار بود. پس این عملیات در Ethereum نزدیک به 400 میلیون برابر گرانتر تمام میشود!
او در انتهای مطالعه خود به این نتیجه رسید که با دید منطقی، یک میلیون مرتبه جمع دو عدد کمی غیر طبیعی و ساختگی است. یک قرارداد هوشمند که به خوبی نوشته شده، چنین محاسبهای را به خارج از شبکه برده و بیشتر درگیر آپدیت کردن وضعیت میشود. ذخیره کردن مقدار زیادی دیتا در بلاک چین نیز یک کار معمولی نیست. بسته به عملیات، فرد ممکن است یک ارجاع رمزنگاری شده (یک هش) از دیتا را داخل شبکه نگهداری و اصل داده را در خارج از شبکه ذخیره کند.
به عقیده دنی رایان، توسعهدهندگان باید متوجه هزینههای این اعمال باشند و برنامههای غیر متمرکز خود را بر همین اساس طراحی کنند. باید بین پیچیدگی درون و برون زنجیرهای (شبکه) تعادل برقرار کرد. به عبارتی با وجود بهره بردن از ویژگیهای سیستمهای غیر متمرکز، همچنان سرعت و بهرهروی را نزدیک به سیستمهای متمرکز نگه داشت.
تاثیر منفی افزایش کارمزد شبکه یا گس اتریوم در خلاقیت توسعهدهندگان
یکی دیگر از مشکلات بالا بودن هزینه گس در اتریوم این است که برای توسعهدهندگان، امکان فراهم کردن قابلیت پرداختهای خرد داخل پروژههای آنها را غیر ممکن میکند. اخیرا، به خاطر افزایش ترافیک در شبکه اتریوم با توجه به بمب دیفای، کارمزدها باز هم افزایش پیدا کرده و کار از قبل دشوارتر شده است.
در حال حاضر، اپلیکیشنهای حوزه دیفای (سیستم مالی غیر متمرکز)، به شکلی انفجاری محبوب شده و افراد زیادی از آنها استفاده میکنند. بیشتر آنها، روی اکوسیستم اتریوم سوار شدهاند. هر نفر اکنون میخواهد سهمی از ییلد فارمینگ داشته باشد. در حال حاضر، حجم دارایی قفل شده در سیستم مالی غیر متمرکز از چند ده میلیارد دلار فراتر رفته و این مبلغ همچنان در حال افزایش است.
از دیدگاه یک توسعهدهنده، زیبایی DeFi در ترکیبپذیری آن نهفته است. یک توسعهدهنده میتواند به راحتی ویژگیها و قابلیتهای مختلف در این حوزه را با یکدیگر ادغام کرده و یک اپلیکیشن کاملا جدید ارائه کند. با این حال، افزایش افسارگسیخته هزینه گس یا کارمزد شبکه در اتریوم، ایجاد سیستمی با توانایی ایجاد پرداختهای خرد را همینطور دشوار میکند.
سخن پایانی
در این مطلب، به برخی از عوامل تأثیرگذار بر کارمزد گس اتریوم اشاره کردیم و با توجه به نمودار تاریخی گس اتریوم، متوجه شدیم که در زمان رونقگرفتن برخی قراردادهای هوشمند و اپلیکیشنهای غیرمتمرکز روی شبکه اتریوم، بهتر است تا حدممکن از انجام تراکنش اجتناب کنیم. توجه داشته باشید که نرخ کارمزد گس به عوامل متعددی بستگی دارد و نمیتوان زمان مشخصی را با قطعیت مشخص کرد. اما بهعنوان یک قانون کلی، بهتر است زمانی تراکنش اتریوم خود را انجام دهید که شبکه خلوتتر است. بهعنوان نمونه، از آنجا که طبق گزارشها، تریدرهای ایالات متحده و اروپای غربی اغلب بیشترین تأثیر را بر قیمت گس میگذارند، بهتر است هرکجای کره زمین که سکونت دارید، تراکنشهای خود را نزدیک به ساعاتی انجام دهید که آمریکاییها و اروپاییها در خواب یا مشغول گذراندن فراغت و تعطیلات خود هستند!
تهیه شده در بیت 24