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