به گزارش سایت خبری ساعد نیوز، ماشین مجازی اتریو م(EVM) در واقع یک فضای مجازی محصور و بسیار قدرتمند است که در گره های کامل اتریوم تعبیه شده و وظیفه ی اجرای کد قرارداد های هوشمند را بر عهده دارد. قراردادها معمولا در زبان های سطح بالاتری نوشته می شوند، زبان های برنامه نویسی همچون سولیدیتی(Solidity) و سپس به کدهای ماشین مجازی اتریو م کامپایل می گردند.
ماشین مجازی اتر یوم اساسا یک سطح جدایی بین «کدهای اجرایی» و «دستگاه اجرا کننده» ایجاد می کند. این لایه ی جداکننده ی ایزوله برای توسعه ی قابلیت های جدید نرم افزاری، جدا بودن نرم افزار ها از یکدیگر و همچنین اطمینان از جدا بودن از هاست مورد استفاده قرار می گیرد.
این بدان معناست که کدهای ماشین، فایل های سیستم و یا هر فرایند دیگری که مربوط به رایانه ی میزبان باشد، کاملا از شبکه مجزا بوده و برای بررسی مشکلات احتمالی و آزمایشات مختلف، به صورت ایزوله کار می کند. تمام گره های شبکه ی اتریوم یک نمونه از EVM را اجرا می کنند؛ این ماشین مجازی به آن ها اجازه می دهد در مورد اجرای دستورالعمل ها با یکدیگر به توافق برسند.
ماشین مجازی اتریوم (EVM)
ماشین مجازی اتریوم (Ethereum Virtual Machine) یا EVM بسیار قدرتمند است. محیط ایزوله مجازی آن درون هر نود (Node) اتریوم جاسازی شده است که هر کدام از آنها وظیفه اجرای کد قراردادها را دارند. قراردادها به طور معمول با زبان های برنامه نویسی خاصی مثل سالیدیتی (Solidity) نوشته می شوند و بعد از آن به کدهای ماشین مجازی اتریوم تبدیل می شوند.
هر نود در شبکه اتریوم، یک ماشین مجازی اتریوم را راه اندازی می کند که به آنها اجازه می دهد تا ساختارها و الگوریتم ها را به صورت همزمان اجرا کنند.
ماشین مجازی اتریوم در حال کامل شدن است و با کامل شدن آن، شبکه اجازه خواهد داشت که برای عملیات های محاسباتی، از تابع های مختلف استفاده کند. جاوا اسکریپت، زبان برنامه نویسی است که به وب قدرت مورد نیاز را می دهد و برای کامل کردن خود از تورینگ استفاده می کند. ماشین مجازی ا تریوم یا EVM با موفقیت در زبان های مختلف برنامه نویسی مانند C++، جاوا اسکریپت، پایتون، روبی و دیگر زبان ها اجرا شده است.
وجود ماشین مجازی اتر یوم (Ethereum Virtual Machine) برای پروتکل اتریوم ضروری است و برای مکانیسم اجماع سیستم اتریوم نیز مهم است. این ماشین مجازی به کاربران اجازه می دهد که هر کدی را در یک اکوسیستم بدون نیاز به اعتماد اجرا کنند که امنیت آن تضمین شده و شبیه به اجرای قراردادهای هوشمند است.
هر اجرای کد در ماشین مجازی اتریوم، هزینه ای دارد که سیستم هزینه آن را پیگیری می کند. این هزینه ها مربوط به واحدهای Gas هستند.
هنگامی که یک کاربر می خواهد راه اندازی را شروع کند، باید مقداری اتر را ذخیره کند که با آن هزینه اجرای کد را بپردازد.
جایگاه گس (Gas) در ماشین مجازی اتریوم
با استفاده از مکانیزم گس، دو مشکل اساسی برطرف خواهد شد. یکی تضمین یک اعتبارسنج (ولیدیتور) برای تسویه مبلغ اولیه است و دیگری معتبر بودن اطلاعات تراکنش.
برای انجام هر تراکنش یا عملیات روی شبکه اتریوم باید با استفاده از توکن اتر (ETH) کارمزد پرداخت کنیم.
از طرف دیگر در بلاکچین اتریوم می توانیم با استفاده از قراردادهای هوشمند، برنامه ها یا اپلیکیشن های غیر متمرکز (DApps) بسازیم. با این حال، کد برنامه های پیاده شده روی ماشین مجازی اتریوم مشابه یکدیگر نیستند و اجرای یک عملیات برای شبکه می تواند سخت تر یا راحت تر از دیگر عملیات ها باشد. بنابراین به راهکاری نیاز داریم که با آن بتوانیم میزان پردازش موردنیاز و در نتیجه کارمزد هر عملیات را نسبت به سختی یا آسانی آن مشخص کنیم. این راهکار، واحدی به نام گس (Gas) است.
گس را می توان سوخت ماشین مجازی اتریوم (EVM) دانست.