آشنایی کامل با ماشین مجازی اتریوم + تصاویر
سلام دوستان عزیز سالیدیتی کد! در این مقاله قصد داریم تا ماشین مجازی اتریوم را به طور مفصل بررسی کنیم. اگر شما هم از علاقه مندان به حوزه رمز ارز ها هستید حتما در این مدت اسم ماشین مجازی EVM را شنیده اید. این کلمه که مخفف عبارت “ethereum virtual machine” است در لغت به معنی ماشین مجازی اتریوم است ولی این معنی لغوی با مفهوم و کاربرد اصلی آن فاصله دارد. این محیط مجازی به اسمارت کانترکت ها اجازه تعامل با یکدیگر را می دهد.
قبل از اینکه بخواهیم ابعاد مختلف EVM را بررسی کنیم بیایید تا با شبکه اتریوم و قرارداد های هوشمند به طور مختصر آشنا شویم
شبکه ی اتریوم چیست ؟
شبکه اتریوم بعد از بیت کوین به عنوان بزرگترین پروژه این سیستم شناخته می شود. اتریوم در واقع فراتر از یک پول یا ارز دیجیتال معمولی است. اتریوم با امکانات گسترده ای که دارد به کاربران اجازه می دهد تا فعالیت های مختلفی را روی این پلتفرم داشته باشند. اتریوم که یک شبکه غیر متمرکز محسوب می شود متمرکز بر اسمارت کانترکت های بلاکچین است و امکانات مختلفی از جمله EVM را در خود جای داده است. البته فراموش نکنید که میان اتر و اتریوم تفاوت است. اتر در واقع ارز دیجیتال اتریوم است که مثل دیگر کریپتو کارنسی ها برای خرید و فروش و سرمایه گذاری مورد استفاده قرار می گیرد و در اتریوم در واقع یک شبکه بلاکچین است.
در این قسمت به قرارداد های هوشمند نیز اشاره شد که بد نیست قبل از بررسی ماشین مجازی اتریوم تعریف مختصری از آن داشته باشیم.
قرارداد های هوشمند
اگر علاقه مند به این حوزه باشید حتما در این مدت بیشتر از قرارداد های هوشمند یا Smart Contract ها شنیده اید. اگر بخواهیم در چند خط و به زبان ساده قرارداد های هوشمند را تعریف کنیم می توان گفت :
قرارداد هوشمند در واقع مجموعه کد های برنامه نویسی است که بر بستر بلاکچین پیاده سازی می شود تا در صورت اتفاق افتادن شرایطی که در قرارداد تعریف شده، دستورات خاصی که برنامه نویس در قرارداد تعیین کرده است اجرا شود.
اگر با مفهوم قرارداد های هوشمند آشنایی ندارید پیشنهاد می کنیم حتما مقاله قرارداد هوشمند چیست را مطالعه کنید. در آن مقاله ما به طور مفصل در مورد قرارداد های هوشمند صحبت کرده ایم.
ماشین مجازی اتریوم چیست؟
ماشین مجازی اتریوم در واقع بستری برای قرارداد های هوشمند اتریوم است. در این ماشین، هر بلوک در زنجیره، یک حالت برای اتریوم تعریف میکند که EVM قوانین محاسبهی این حالت را از بلوکی به بلوک دیگر، انتقال و تعریف میکند. همانطور که از اسم این ماشین پیداست، یک جز مجازی است، که در هر گره از اتریوم حضور دارد.
همانطور که احتمالا اطلاع دارید برای نوشتن قرارداد های هوشمند از زبان هایی مثل سالیدیتی استفاده می شود. برای اینکه بتوان در یک ماشین مجازی قرارداد های هوشمند را اجرا کرد لازم است تا کد های قرارداد به بایت کد تغییر کند تا ماشین مجازی اتریوم بتواند بایت کدهای اسمارت کانترکت را تجزیه و تحلیل کرده و اجرا کند. پس به زبان ساده EVM طراحی شده است تا قرارداد های هوشمند را اجرا کند. می توان ماشین مجازی اتریوم را به عنوان یک سیستم عامل برای اتریوم دانست البته قطعا عملکرد این ماشین با سیستم عامل های سنتی تفاوت هایی دارد که مهمترین تفاوت را می توان در این دانست که یک سیستم عامل در لحظه روی یک سیستم اجرا می شود ولی ماشین مجازی اتریوم در لحظه روی هزاران سیستم اجرا می شود. EVM برای اجرای قرارداد ها نقش حیاتی دارد و بدون وجود ماشین مجازی هیچ یک از قرارداد ها اجرا نمی شود و عملا شبکه اتریوم نارکارآمد خواهد بود
کل پروتکل اتریوم صرفاً به این دلیل ساخته شده که بقای عملکرد مداوم، بی وقفه و تغییرناپذیر این ماشین مجازی را تضمین کند؛ زیرا EVM محیطی است که تمام حسابهای اتریوم و قراردادهای هوشمند در آن قرار دارند. در هر بلوک زنجیره اتریوم، فقط یک حالت «تعریف شده» وجود دارد و EVM همان چیزی است که قوانین را برای محاسبه یک حالت معتبر جدید، از بلوکی به بلوک دیگر تعریف میکند.
EVM قراردادهای هوشمند را به چه زبان برنامه نویسی ایجاد می کند؟
زبان اختصاصی بلاکچین اتریوم سالیدیتی (Solidity) است. ماشین مجازی اتریوم به توسعه دهندگان اجازه می دهد تا قراردادهای هوشمند را با زبان برنامه نویسی سالیدیتی ایجاد کنند. احتمالا شما هم جزو کسانی هستید که قصد دارید از فرصت بوجود آمده برای توسعه قرارداد های هوشمند با سالیدیتی استفاده کنید و این مهارت پولساز را هر چه سریعتر یاد بگیرید.
اگر علاقه مند به یادگیری سالیدیتی هستید حتما مقاله آموزش سالیدیتی را ببینید و با این مهارت پولساز آشنا شوید.
مزایا و معایب ماشین مجازی EVM
هر سیستمی دارای مزایا و معایبی می باشد و ماشین مجازی اتریوم نیز از این قائله مستثنی نیست. در کنار مزایای فوق العاده ای که EVM دارد معایبی هم می توان یافت که البته اتریوم با ارتقای خود به اتریوم ۲.۰ خیلی از این موارد را برطرف خواهد کرد.
مزایا:
- عدم وجود محدودیت امنیتی برای اجرای برنامه های غیر متمرکز در این پلتفرم
- به کمک این ماشین می توانید توکن های NFT ایجاد کنید و از طریق آن کسب درآمد کنید
معایب :
- تمرکزگرایی : اگرچه شبکه EVM ظاهرا غیر متمرکز است اما به معنای واقعی اینطور نیست.اکثریت نودهای اتریوم در سرویس های وب آمازون و سرور های ابری متمرکز قرار گرفته اند که این خلاف مفهوم غیرمتمرکز بودن است و در واقع اگر صاحبان این سرور ها بخواهند اتریوم را تحریم کنند می توانند آسیب های جدی به شبکه وارد کنند
جمع بندی :
ماشین مجازی اتریوم بستری برای توسعه دهندگان است تا بتوانند اپلیکیشن های غیر متمرکز خود و یا سایر پروژه های بلاکچین را در آن پیاده سازی کنند بر همین اساس اتریوم به دنبال آن است تا با تکیه بر ماشین مجازی خود به یک رایانه جهانی غیر متمرکز تبدیل شود.
در این مقاله سعی کردیم تا با مفاهیم کلی اتریوم آشنا شویم و خصوصیات کلی آن را بررسی کنیم.
حتما در مقالات بعدی EVM را از ابعاد دیگر نیز بررسی خواهیم کرد
دیدگاهتان را بنویسید