اگر اخیرا وارد فضای بلاک چین شدهاید، ممکن است با عبارت ماشین مجازی اتریوم (Ethereum Virtual Machine) یا به اختصار EVM برخورد کرده باشید. ممکن است این سوال برایتان پیش بیاید که EVM چیست و چه کاربردهایی دارد؟ خالقان اتریوم از روز اول انتشار پروتکل خود همه چیز را به صورت واضح در اینباره توضیح دادهاند؛ آنها قصد داشتند به یک «کامپیوتر جهانی» یا یک «اینترنت کامپیوتر» تبدیل شوند. اما چگونه میتوان به چنین اهدافی جامه عمل پوشاند؟ بخشی از پاسخ این سوال در بطن مفهوم EVM نهفته است. پیش از اینکه به سراغ مطالعه مفهوم ماشین مجازی اتریوم برویم، لازم است با مفاهیمی همچون ماشینهای مجازی، سیستمهای تورینگ کامل، قراردادهای هوشمند، کارمزد گس و نحوه ذخیرهسازی اطلاعات در شبکه اتریوم آشنا شویم. بنابراین در این مقاله مختصری درباره این مفاهیم توضیح میدهیم و بعد به سراغ این موضوع میرویم که ماشین مجازی اتریوم چیست و چه کاربردهایی در دنیای دیفای دارد.
یک ابر کامپیوتر جهانی! ماشین مجازی اتریوم (Ethereum Virtual Machine) اینگونه توصیف شده است و تمام تراکنش هایی که رایانه شما می تواند انجام دهد را شامل می شود: (ارسال و دریافت چیزهایی مانند پول نقد، اسناد و قراردادها و تبدیل آنها در مقیاس جهانی). این ماشین مجازی (EVM) یک موتور محاسباتی است و مانند یک کامپیوتر غیرمتمرکز عمل می کند که میلیون ها پروژه قابل اجرا دارد. کمی به عقب برگردیم: بیت کوین مانند یک نسخه اولیه از کاری است که یک بلاک چین می تواند انجام دهد. شما یک واحد ارزش دارید (یک بیت کوین) و می توانید بیت هایی (واحدهای کوچکی) از آن ارزش را بین خود و افراد دیگر ارسال و دریافت کنید. سپس اتریوم آمد و به مردم اجازه داد تا با استفاده از فناوری بلاک چین قراردادهای هوشمند و Dapp بسازند. هنگامی که اتریوم اجازه ایجاد قراردادهای هوشمند را داد، گام بعدی ایجاد محیطی بود که همه آن قراردادهای هوشمند با یکدیگر تعامل داشته باشند. اینجاست که EVM وارد می شود. ماشین مجازی اتریوم به عنوان یک کامپیوتر مجازی روی بلاک چین در نظر گرفته می شود که ایده های شما را به کد تبدیل می کند و آن را در شبکه جهانی اتریوم اجرا می کند. به صورت خلاصه این ماشین مجازی به عنوان بخشی از اتریوم در نظر گرفته می شود که اجرا و استقرار قرارداد هوشمند را اجرا می کند. نقش EVM این است که تعدادی قابلیت اضافی را در بلاک چین به کار گیرد تا اطمینان حاصل شود که کاربران با مشکلات محدودی در دفتر کل توزیع شده مواجه می شوند. هر گره اتریوم روی EVM اجرا می شود اجماع در سراسر بلاک چین حفظ شود. اتریوم چیزی به نام قراردادهای هوشمند را تسهیل می کند، قطعه کدی که روی اتریوم اجرا می شود. EVM کاملاً ایزوله است به این معنی که کد داخل EVM به شبکه، سیستم فایل یا سایر فرآیندها دسترسی ندارد. اتریوم دارای دو نوع حساب است: حسابهای تحت مالکیت خارجی (EOA) و حسابهای قراردادی که هر دو به طور مساوی تحت نظر EVM رفتار می کنند. EOA ها توسط کلیدهای خصوصی کنترل می شوند، در عین حال حساب های قراردادی در قراردادهای هوشمند ذخیره می شوند که به عنوان کیف پول هوشمند نیز شناخته می شوند. قراردادی که در کدگذاری قرارداد هوشمند نوشته شده است به چیزی به نام بایت کد (bytecode) تبدیل می شود. بیشتر کدهای منبع برای استفاده از قراردادهای هوشمند با استفاده از زبان برنامه نویسی Solidity انجام می شود و بعد به کدهای عملیاتی برای تفسیر EVM تبدیل می شود. سپس EVM از کدهای عملیاتی برای تکمیل وظایف خاص استفاده می کند. بنابراین، EVM مانند یک کامپیوتر بزرگ غیرمتمرکز یا اصلی کار می کند تا انواع وظایف را در بلاک چین انجام دهد. ماشین مجازی یکی از بزرگترین پروژه ها در دنیای ارزهای دیجیتال است.
ماشین مجازی EVM در ابتداییترین شکل خودش یک پایگاه داده بزرگ برای نگهداری حسابها و موجودیهای این شبکه است و در عین حال، یک ماشین وضعیت با توانایی اجرای کدها و تغییر در راستای هر بلاک جدید اضافهشده به دفتر کل بلاک چین نیز محسوب میشود. قوانین خاصی که تعیینکننده نحوه تغییر EVM همسوی هر بلاک جدید هستند، توسط خود این ماشین تعریف میشوند. به زبان سادهتر، ماشین مجازی اتریوم یک موتور پردازش و پلتفرم نرم افزاری است که مشابه یک کامپیوتر غیر متمرکز کار میکند. از دیفای و برنامههای کریپتویی EVM گرفته تا بازیها و بازارچههایی نظیر اوپن سی (OpenSea)، توسعهدهندگان از Ethereum Virtual Machine برای ساخت اپلیکیشنهای غیر متمرکز مبتنی بر اتریوم و زبان برنامهنویسی مخصوص آن یعنی سالیدیتی استفاده میکنند. مهمتر اینکه EVM بخشی از شبکه اتریومِ مسئول در اجرا و استقرار قراردادهای هوشمند است. اینجا همان جایی است که اسمارت کانترکتها و میلیونها دیاپ مبتنی بر اتریوم زندگی میکنند. بلاک چین اتریوم را شبیه به یک ساختار همتابههمتا از نودهای مجزای مختلف در نظر بگیرید. در اینجا، هر نود به نود بعدی متصل میشود که وظیفه تامین امنیت و ثبات کل اکوسیستم را برای آنها به بار میآورد. بنابراین هر نود برای این اتصال و حفظ اجماع در کل بلاک چین اتریوم، از ماشین مجازی EVM استفاده میکند.
نتیجه گیری :
یک ماشین مجازی معمولاً نمایشی از یک رایانه واقعی است که یک مفهوم انتزاعی نرم افزاری از سخت افزار واقعی، تماس های سیستمی و سایر عملکردهای هسته را ارائه می دهد. ماشین مجازی اتریوم (EVM) جزء شبکه اتریوم است که استقرار و اجرای قراردادهای هوشمند را مدیریت می کند.