مفاهیم پایه ای ارز دیجیتال

ماشین مجازی اتریوم (EVM) چیست و چگونه کار می‌کند؟

what is EVM

اگر مدتی در هوای ارز دیجیتال نفس کشیده باشید، حتما با اصطلاح EVM برخورد کرده اید. EVM مخفف عبارت “Ethereum Virtual Machine” به معنای ماشین مجازی اتریوم است. اما این صرفا یک ترجمه است و با مفهوم اصلی ماشین مجازی اتریوم فاصله دارد. به واقع ماشین مجازی اتریوم چیست؟ و چه کاربردهایی دارد؟ EVM که ستون فقرات و پایه و اساس بلاک چین اتریوم رو تشکیل می‌دهد، یک محیط Run-time رو برای ساخت DApps و سایر برنامه‌ها در اختیار توسعه دهندگان قرار می‌دهد و این روزها، ماشین مجازی اتریوم حسابی خبرساز شده است! در این مقاله از کایاکوینکس، در مورد EVM و کاربردهای آن بیشتر آشنا خواهید شد.

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

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

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

EVM به عنوان یک موجودیت واحد در شبکه اتریوم هوشمند حضور دارد؛ البته یک موجودیت مجازی است که توسط هزاران رایانه متصل به شبکه که یک کلاینت اتریوم را اجرا می کنند، نگهداری می شود. بدون ماشین مجازی اتریوم هیچ یک از قراردادها اجرا نمی شوند و عملاً شبکه اتریوم ناکارآمد خواهد بود.

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

EVM: یک ابرکامپیوتر پیچیده

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

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

هدف ماشین مجازی اتریوم (EVM) چیست؟

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

اجرا و پیگیری تراکنش ها با استفاده از دفتر کل

اعمال قوانین

اجرای قراردادهای هوشمند

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

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

EVM gas

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

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

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

پروسه ایجاد قرارداد هوشمند توسط ماشین مجازی اتریوم

ماشین‌های مجازی اتریوم با موفقیت در زبان‌های برنامه‌نویسی مختلف از جمله سی پلاس پلاس (C++)، جاوا، جاوا اسکریپت، پایتون، روبی و بسیاری دیگر پیاده‌سازی شده‌اند. در اتریوم، قراردادهای هوشمند صرفاً برنامه‌های رایانه‌ای هستند که در یک زبان برنامه‌نویسی سطح بالا نوشته شده و در بایت کد قابل خواندن توسط ماشین کامپایل شده و روی ماشین مجازی اتریوم اجرا می‌شوند.

مقایسه EVM با سایر ماشین های مجازی

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

مزایای EVM چیست؟

استفاده دموکراتیک: هیچ مانع یا محدودیت امنیتی خاصی برای ماشین مجازی اتریوم وجود ندارد. EVM به هر کسی اجازه می دهد تا برنامه غیرمتمرکز خود را ایجاد کند.

قابلیت ایجاد توکن های غیرمثلی: NFT ها اخیراً در بازار ارزهای دیجیتال محبوبیت زیادی پیدا کرده اند. اگر با این توکن های غیرمثلی آشنا هستید، بهتر است بدانید این توکن ها با کمک EVM ها ایجاد شده اند. هر کسی ممکن است هنر دیجیتال بسازد و آن را در یک بازار غیرمتمرکز یا مارکت پلیس به فروش برساند. این امر به صورت مجازی دسترسی دموکراتیک به بازار هنر را که قبلاً در دسترس نبود، میسر می سازد.

معایب EVM چیست؟

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

کندی عملکرد: EVM اطلاعات حساب مربوط به شماره بلوک، قیمت گاز، آدرس‌ها و موجودی‌ها را مدیریت می‌کند. از آنجایی که EVM مسئولیت بسیاری از عملکردهای مهم در شبکه اتریوم را بر عهده دارد، سرعت انجام عملیات و اجرای تراکنش در آن، بر سرعت و عملکرد کلی شبکه تأثیر می گذارد. همچنین بازدهی EVM در اجرای کد، مستقیماً بر کارایی شبکه تأثیر می گذارد.

جمع‌بندی

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *