ماشین مجازی اتریوم یا EVM چیست و چه قابلیت‌هایی دارد؟

تاریخ انتشار: 13 اسفند 1401 | آخرین به‌روزرسانی: 6 آذر 1402
زمان مطالعه:  7 دقیقه
ماشین مجازی اتریوم

ماشین مجازی اتریوم یا EVM (مخفف Ethereum Virtual Machine) محیط اجرایی مجازی است که توسط توسعه‌دهندگان پروتکل اتریوم ایجاد شده و امکان اجرای برنامه‌های کاربردی را در قالب قراردادهای هوشمند فراهم می‌کند.

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

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

اجرای برنامه‌ها در ماشین مجازی اتریوم با استفاده از زبان برنامه‌نویسی سالیدیتی (Solidity) یا پایتون (Python) صورت گرفته و هر برنامه نیز به صورت یکسان و قابل اعتماد در تمام نودهای شبکه اتریوم اجرا می‌شود.

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

ماشین مجازی چیست؟

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

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

ماشین مجازی

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

علاوه‌براین، قدرت محاسباتی ماشین‌های فیزیکی را نیز شبیه‌سازی کرده و فارغ از موقعیت مکانی یا جغرافیایی‌شان، پروژه‌های مختلفی را ایجاد، پردازش و اجرا کنند.

ماشین مجازی اتریوم نیز، حکم ماشینی مجازی برای انجام محاسبات پیچیده در شبکه‌ی اتریوم را دارد و توسعه‌دهندگان به کمک آن قرارداد‌های هوشمند و برنامه‌های غیرمتمرکز (dApp‌) را توسعه می‌دهند.

در دو مقاله‌ی زیر در مورد برنامه‌های غیرمتمرکز و نودها مفصل توضیح داده‌ایم:

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

قراردادهای هوشمند، توافق‌نامه‌هایی هستند که زبان‌های برنامه‌نویسی مختلفی (اغلب پایتون یا سالیدیتی) کدنویسی شده‌اند، این قراردادها برای اجرا روی بلاک چین‌‌های مختلف باید به زبانی واحد یا همان یا همان کدهای ماشین مجازی اتریوم ترجمه شوند.

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

این توسعه‌دهنده می‌تواند به کمک ماشین‌های مجازی با سرعت بیشتری اپلیکیشن موردنظر را برای کاربران iOS منتشر کند؛ همین موضوع در مورد توسعه‌ی برنامه‌های غیرمتمرکز (dApp) برای شبکه‌های مختلف اتریوم نیز صدق می‌کند و کاربرد دارد.

دانلود هفتمین ماهنامه دامیننس

سواد اقتصادی و ذهنیت برنده در دنیای کریپتوکارنسی

    تورینگ کامل چیست؟

    گفتیم که ماشین مجازی اتریوم سیستمی است که زمان و حافظه‌ی کافی برای حل هر پروژه‌ی محاسباتی، حتی پیچیده‌ترین محاسبات را دارد و به عبارت دیگر تورینگْ کامل است. در تئوری محاسباتی، به سیستمی تورینگْ کامل یا از نظر محاسباتی جامع، نامیده می‌شود که بتواند هر کامپیوتر یا زبان کامپیوتری را شبیه‌سازی کند و حافظه و طول عمر نامحدود داشته باشد.

    یک دستگاه یا زبان برنامه‌نویسی زمانی به‌عنوان تورینگ کامل در نظر گرفته می‌شود، که بتواند هر مساله را حل یا هر برنامه‌ای را اجرا کند؛ در غیر این صورت به آن تورینگ ناقص می‌گویند.

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

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

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

    در ابتدای مقاله گفتیم که ماشین مجازی اتریوم یا همان EVM (مخفف Ethereum Virtual Machine) ابر کامپیوتری جهانی و مجازی است که برای تعامل قراردادهای هوشمند و اجرای میلیون‌ها پروژه‌ی محاسباتیِ غیرمتمرکز در شبکه‌ی اتریوم استفاده می‌شود.

    قابلیت ‌های EVM

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

    ماشین مجازی اتریوم موتور پردازش و پلتفرمی نرم‌افزاری است که نقش کامپیوتری غیر‌متمرکز را برای تعامل قرارداد‌های هوشمند و توسعه و اجرای dAppها ایفا می‌کند.

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

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

    قابلیت‌های ماشین مجازی اتریوم

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

    عملکرد قطعی

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

    ایزوله بودن

    ماشین مجازی اتریوم برای ایجاد قطعیت قراردادهای هوشمند و حفظ امنیت‌ آن‌ها، ایزوله پیاده‌سازی شده است.

    پایان پذیر بودن

    ماشین مجازی اتریوم، تورینگْ کامل است و قرارداد‌های هوشمند در آن می‌توانند هر محاسباتی را انجام دهند، اما هیچ تضمینی برای به پایان‌ رساندن این محاسبات در زمانی مشخص وجود ندارد. در چنین شرایطی، EVM این قابلیت را دارد تا از مفهومی به نام گس (Gas) برای نهایی‌سازی محاسبات استفاده کند.

    ارتباط گس با EVM

    هر اقدامی در بستر شبکه اتریوم، یک تراکنش است و هر برای انجام به کارمزد نیاز دارد؛ در شبکه‌ی اتریوم، به این کارمزد‌ها گس (Gas) می‌‌گویند.

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

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

    ماشین مجازی اتریوم امکان توسعه‌ی برنامه‌های غیرمتمرکز را برای همه‌ی افراد فراهم کرده و محدود به قشر خاصی نیست. توکن‌های غیرقابل معاوضه یا همان NFT‌ها از نمونه‌های بارز کاربرد EVM در شبکه‌ی اتریوم هستند که درآمدهای قابل‌توجهی برای خالقان خود به ارمغان آورده‌اند.

    مزایای EVM

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

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

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

    شبکه‌های سازگار با ماشین مجازی اتریوم

    ماشین مجازی اتریوم با هر شبکه‌ای که از پروتکل اتریوم پشتیبانی کند، سازگار است. بلاک چین‌های سازگار با EVM کمک می‌کنند تا توسعه‌دهندگان به‌جای شروع از پایه، از روی شبکه اتریوم کپی کرده و برنامه‌های غیرمتمرکز خود را توسعه دهند.

    در حال حاضر، شبکه‌های اصلی اتریوم (Ethereum Mainnet)، تست‌نت‌های رسمی (Ethereum Testnets) از جمله Ropsten، Rinkeby، Kovan و Göerli و شبکه‌های خصوصی مانند Quorum و Hyperledger Besu از پروتکل اتریوم پشتیبانی می‌کنند.

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

    گفتار پایانی

    ماشین‌های مجازی شبیه‌سازی از کامپیوتری واقعی هستند که در قالب نرم‌افزار روی سخت‌افزار واقعی اجرا می‌شوند. ماشین مجازی اتریوم (EVM) بر شبکه اتریوم مبتنی است و نقش برقرارکننده‌ی ارتباط بین قراردادهای هوشمند و توسعه‌ی نرم‌افزارها را در این شبکه برعهده دارد.

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

    سوالات متداول

    • ماشین مجازی اتریوم چیست؟

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

    • ماشین مجازی اتریوم چه قابلیت‌هایی ارائه می‌دهد؟ 

    عملکرد قطعی، ایزوله بودن و پایان پذیر بودن از قابلیت‌های ماشین مجازی اتریوم یا EVM محسوب می‌شوند.

    شبنم توایی

    شبنم توایی

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

    مطالب نویسنده
    کلیدواژه‌ها
    اشتراک گذاری:

    مطالب مشابه

    دیدگاه‌ها 7 دیدگاه
    در پاسخ به دیدگاه کاربر
    1. محمد
      محمد | 22 آبان 1402

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

      • مبین حسینی
        مبین حسینی | 22 آبان 1402

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

    2. دانایزدانی
      دانایزدانی | 1 فروردین 1402

      سلام ممنونم برنامه عالی وفوقعلاده ای است تشکر برای زحمت تمامی کارکنان

    3. اسماعیل
      اسماعیل | 23 اسفند 1401

      با سلام ، اتریم بیپ ۲۰ چیست؟ میشه در موردش مختصر توضیح بفرمایین. ممنون

    4. مریم
      مریم | 18 اسفند 1401

      ممنون از توضیحات مفید شما در باره اتریم 🌺

      • مهران بابایی
        مهران بابایی | 20 اسفند 1401

        سلام
        خواهش می‌کنم.
        موفق و پر سود باشید.