ماشین های مجازی موظف به ایجاد پیچیدگی بین دو عنصر هستند.  این دو عنصر همان اجرای کد و اجرای ماشین است.  برای اطمینان از این که برنامه ها از یکدیگر و از میزبان شان جدا شده‌اند از این ماشین ها بهره می گیرند.  قابلیت حمل کلی نرم افزار با این لایه خاص بازدهی بالایی می یابد. شاید در جستجوهای اینترنتی به این سوال برخورده باشید که اتریوم چیست؟ ماشین مجازی اتریوم (EVM) را باید یک ماشین تورینگ کامل دانست که روی شبکه بلاکچین اتریوم اجرا می‌شود و به کسانی که  در این شبکه اوضاع هستند،  این امکان را می‌دهد که پلتفرم ها و اپلیکیشن های خودشان را به صورت غیر متمرکز روی آن اجرا کنند. برای شرح بهتر این موضوع بهتر است که واژه تورینگ معنا شود.  این واژه به افتخار مردی به نام آلان تورینگ که ماشین نامگذاری را ایجاد کرده است بر روی این ماشین گذاشته شده است.  اصطلاح تکمیل تورینگ اصطلاح تکمیل تورینگ به سیستمی است قوانین دستکاری شده اشاره دارد.  در واقع ماشین مجازی اتریوم (EVM) یک دستگاه کدنویسی شده است که  روی شبکه بلاک چین اجرا می شود  البته فقط قرارداد های هوشمندی که به زبان solidity نوشته شده‌اند قابل اجرا هستند.  این ماشین مجازی ارائه دهنده یک ماشین انتزاعی است که نمادها را در یک باریکه نوار ،  طبق یک مجموعه قوانین دستکاری می کند.  در این مدل ساده ماشین توانایی این را دارد که لوجیک الگوریتمی کامپیوتر را شبیه سازی کند. دو نمونه برجسته از سیستم هایی که به داده ها دسترسی دارند و می توانند آنها را تغییر دهند، زبان های برنامه نویسی و واحدهای پردازشگر مرکزی هستند.  قوانین نوشته شده زمانی تورینگ کامل هستند که قادر به شبیه سازی محاسبه فرضی تورینگ باشند. این سیستم  باید توانایی اجرای  هر نوع محاسبه یا برنامه کامپیوتری را داشته باشد.

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

 

ماشین مجازی اتریوم

 

زبان برنامه نویسی اتریوم، solidity  این است که معمولا در قرارداد هوشمند توسط آن نوشته می شود این زبان شبیه جاوا اسکریپت و سی پلاس پلاس است. از زبان های برنامه نویسی vyper و Bamboo نیز  در نوشتن قرارداد هوشمند استفاده می کنند.  ماشین مجازی اتریوم (EVM) توانایی اجرای مستقیم زبان های مربوط به قرارداد هوشمند را ندارد  اما آنها را در دستورالعمل های ماشین سطح با این تجمیع می کند که به آنها کدهای عملکردی گفته می شود.  از این کدهای عملکردی ماشین مجازی اتریوم (EVM) برای انجام وظیفه های خاص استفاده می کند.  بدون این کدها ماشین مجازی اتریوم (EVM) تورینگ کامل شناخته نمی شود.  به این معنی که این ماشین مجازی تنها در صورت داشتن منابع کافی  توانایی محاسبه هر چیزی را دارند.  از آنجایی که کدهای عملکردی یک بایتی هستند ،  حداکثر مقدار آنها ۲۵۶ است.  همه این کد ها در دسته های زیر طبقه بندی می شوند:

  • کدهای عملکردی دستکاری پشته
  • کدهای عملکردی مقایسه‌ای - حسابی
  • کد های عملکردی محیطی
  • کد های عملکردی دستکاری حافظه
  • کد های عملکردی دستکاری انبارش
  • کد های عملکردی مرتبط در جهت معکوس
  • کدهای عملکردی توقفی

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

 

کاربرد ماشین مجازی اتریوم

 

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

ماشین مجازی اتریوم چه کاربردی دارد؟

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

 

گس در ماشین مجازی اتریوم چیست

 

جایگاه گس در ماشین مجازی اتریوم

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

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

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