ماشین مجازی اتریوم (EVM) و نحوه کار آن
اتریوم که دومین ارز دیجیتال بزرگ از نظر ارزش بازار است، به دلیل توکن بومی خود در بین سرمایه گذاران ارزهای دیجیتال بسیار محبوب است. با این حال، زبان برنامه نویسی بومی سالیدیتی (Solidity) و ماشین مجازی اتریوم (EVM) در حمایتی که از سوی جامعه توسعه دهندگان دریافت می کند، بسیار موثر است. در واقع، بلاکچین اتریوم به دلیل انعطافپذیری، گستره وسیع ابزارهای توسعهدهنده موجود و پایگاه گسترده کاربران به جذب توسعهدهندگان برنامههای غیرمتمرکز (DApp) ادامه میدهد.
ماشین مجازی اتریوم که هسته معماری بلاک چین را تشکیل میدهد، برنامهای است که کد برنامه یا قراردادهای هوشمند را اجرا میکند و یک محیط زمان اجرا برای آنها فراهم میکند که روی شبکه اتریوم اجرا میشود. علاوه بر این، EVM میتواند هر برنامهای را که با هر زبان برنامهنویسی کدگذاری شده است اجرا کند، در نتیجه به توسعهدهندگان اجازه میدهد تا به راحتی قراردادهای هوشمند سفارشی و DAppها را برای فضای در حال رشد Web3 ایجاد کنند. علاوه بر این قابلیتهای مهم، ماشین مجازی اتریوم به تمام نودهای شبکه دسترسی دارد، اجرای قراردادهای هوشمند را مدیریت میکند و به طور موثر تمام تراکنشهای روی بلاکچین اتریوم را مدیریت میکند و آن را به یکی از قدرتمندترین ماشینهای مجازی موجود تبدیل میکند.
ماشین مجازی اتریوم (EVM) چیست و چگونه کار می کند؟
شبکه اتریوم که در سال 2013 توسط ویتالیک بوترین معرفی شد، موفقیت خارقالعادهاش را به عنوان بلاک چین ترجیحی برای توسعهدهندگان DApp مدیون ماشین مجازی اتریوم (EVM) است که توسط گاوین وود در زمان تصدی او در اتریوم طراحی شد. ماشین مجازی اتریوم با زبان برنامه نویسی ++C نوشته شده و با استفاده از کامپایلر LLVM اجرا میشود. EVM یک ماشین ویژه است که به طور مداوم و بدون وقفه کار می کند و عملیات تغییرناپذیر آن وضعیت هر بلوک را در بلاک چین اتریوم تعیین می کند. ماشین مجازی اتریوم نه تنها بر آنچه که نودها میتوانند یا نمیتوانند با دفتر کل توزیع شده که توسط بلاک چین اتریوم نگهداری میشود انجام دهند، کنترل میکند، بلکه قوانین خاص تغییر حالت از بلوک به بلوک را نیز تعریف میکند. این ویژگی چیزی است که عملکرد قرارداد هوشمند را که اتریوم به آن شناخته شده است را قدرت میبخشد.
برای درک عملکرد ماشین مجازی اتریوم، باید به هر یک از عملکردهای متفاوتی که برای اطمینان از عملکرد روان شبکه اتریوم انجام می دهد نگاه کرد. ماشین مجازی اتریوم، برای هر ورودی که دریافت می کند، خروجی ای تولید می کند که ماهیت قطعی دارد و از یک تابع ریاضی به ساده ترین معنی پیروی می کند. EVM یک حافظه موقت در قالب یک آرایه نگهداری می کند که بین دو تراکنش در بلاک چین اتریوم تغییر می کند. کدهای قرارداد هوشمند که کامپایل شده اند توسط EVM در قالب مجموعه ای از 140 کد عملیات استاندارد اجرا می شوند، در حالی که سایر عملیات پشته مخصوص بلاک چین نیز توسط آن پیاده سازی می شوند.
بنابراین، ماشین مجازی اتریوم دارای یک حالت ماشینی است که طبیعتاً در طول پردازش هر تراکنش تغییر میکند و یک حالت کلی (Global) که حاوی اطلاعات مربوط به حسابهای مختلف نگهداری شده در بلاک چین اتریوم است. همه فعالیتها توسط کد ماشین مجازی اتریوم کنترل می شوند، که به خودی خود از زمان راه اندازی شبکه اتریوم در سال 2015 چندین بار بهروزرسانی شده است که منجر به وجود چندین EVM کاربردی در حال حاضر شده است. در واقع، ماشین مجازی اتریوم مسئول حفظ ارتباط بین هزاران نود اتریوم و کدهای اجرایی است و به عنوان تابعی عمل میکند که نتایج ثابتی را بدون فاش کردن جزئیات زیادی برای مشتریان یا نودها ارائه میکند.
هدف ماشین مجازی اتریوم (EVM) چیست؟
ماشین مجازی اتریوم تمام برنامههای در حال اجرا در شبکه اتریوم را بدون هیچ گزارش قطعی مهمی و با امنیت بالا پشتیبانی میکند. برای توسعه دهندگان، EVM به عنوان برنامه فراگیر عمل می کند که برنامه های اجرایی کوچکتر را اجرا می کند که در اتریوم به عنوان قراردادهای هوشمند شناخته می شوند، در حالی که امکان نوشتن این قراردادهای هوشمند را در انواع زبان های برنامه نویسی از جمله سالیدیتی، وایپر، پایتون و Yul را فراهم می کند. با توجه به این انعطاف پذیری ارائه شده توسط ماشین مجازی اتریوم، بلاک چین اتریوم هزاران DApp را در فضای مالی غیرمتمرکز (DeFi) و NFT ایجاد کرده است. هر یک از این DAppها و قراردادهای هوشمندی که از آنها ساخته شدهاند به بایت کدی تبدیل میشوند که با EVM اجرا شده و بین تمام نودهای شبکه اتریوم توزیع میشود. هنگامی که یک قرارداد هوشمند ساخته میشود، EVM مسئول برقراری ارتباط با تمام نودها و اعمال تغییرات در صورت رسیدن به توافق است. می توان گفت که ماشین مجازی اتریوم در داخل هر نود اتریوم قرار می گیرد تا قراردادهای هوشمند را با استفاده از بایت کد به جای زبان برنامه نویسی پایه اجرا کند.
مزایای EVM
با توجه به نحوه عملکرد ماشین مجازی اتریوم ، توسعهدهندگان میتوانند کد را بدون نگرانی در مورد تأثیر آن بر بقیه شبکه یا امکان سواستفاده از دادهها یا فایلهای شخصی رایانه نودها، اجرا کنند. علاوه بر این، آنها می توانند قراردادهای هوشمند پیچیده را در محیط های محاسباتی مختلف با اجماع توزیع شده اجرا کنند. این تضمین میکند که خرابی یک نود هیچ تأثیر منفی بر اجرای DApp یا قرارداد هوشمند ندارد، زیرا کد ماشین مجازی اتریوم در تمام نودها یکسان باقی میماند. علاوه بر این، از آنجایی که دادههای کلی (Global) در EVM نگهداری میشوند، توسعهدهندگان آن را برای نوشتن کد قرارداد هوشمند سفارشی و ایجاد DApp های متمایز که میتوانند به این مجموعه داده جهانی دسترسی داشته باشند و خروجیهای قابل اعتماد تولید کنند، بسیار مناسب میدانند.
نتایج صحیح همان چیزی است که EVM را برای گسترش پایدار DApps و اکوسیستم قرارداد هوشمند اتریوم مناسب میکند. به این موارد، کتابخانه کدهای استاندارد موجود برای توسعه دهندگان را اضافه کنید. تعداد فزاینده ای از بلاک چین های لایه-2 سازگار با EVM وجود دارد، و به راحتی می توان فهمید که چرا EVM پلتفرم محبوب برای توسعه Web3 است.
معایب ماشین مجازی اتریوم (EVM)
علیرغم مزایای بسیاری که توسط ماشین مجازی اتریوم ارائه می شود، مشکلاتی نیز وجود دارد که باید توسط توسعه دهندگان اتریوم در نظر گرفته شود. مهمترین آنها هزینه های بالای تراکنش یا هزینه های گس مربوط به اجرای یک قرارداد هوشمند در شبکه اتریوم است. این هزینهها که به صورت اتریوم پرداخت میشوند، بسته به پیچیدگی قرارداد و ازدحام شبکه در زمان اجرا متفاوت است، و برای توسعهدهندگان و کارآفرینان ضروری است که خدمات خود را بر اساس آن قیمتگذاری کنند. علاوه بر این، از آنجایی که سالیدیتی ترجیح دادهشدهترین زبان برای کدنویسی در EVM است، به این معنی است که توسعهدهندگان باید تجربه کافی با آن داشته باشند و تخصص فنی خوبی برای ایجاد قراردادهای هوشمند کارآمد با استفاده از آن داشته باشند.
مورد دوم مهم است زیرا هر گونه نیاز محاسباتی اضافی منجر به هزینه های گس بیشتر می شود و در نهایت برای موفقیت پروژه مضر است. در حالی که ارتقای قراردادهای هوشمند در مراحل بعدی امکان پذیر است، اما با ایجاد یک قرارداد هوشمند واسطه که به آدرس قرارداد هوشمند اصلی اشاره می کند، ممکن است باعث بوجود آمدن خطرات امنیتی شود.
آینده EVM
با وجود تغییرات انقلابی که توسط ماشینهای مجازی اتریوم در اکوسیستم بلاک چین ایجاد شده است، این فناوری برای خواندن و اجرای کد توسط تعدادی از پروژه های بلاک چین بهبود یافته است. با توجه به اینکه قابلیت استفاده از قراردادهای هوشمند بصورت بین زنجیره ای مهم ترین جنبه برای توسعه دهندگان است، بسیاری از بلاک چین های سازگار با EVM به کار گرفته شده اند و اکثر آنها هزینه تراکنش کمتری دارند و سرعت تراکنش های سریع تری نسبت به پروتکل اتریوم ارائه می دهند. در نتیجه، این بلاک چین ها اکنون می توانند به طور یکپارچه با کاربران اتریوم تعامل داشته باشند و با استفاده از پل های بلاک چینی، انتقال توکنها به شبکه های خود را تسهیل می کنند.
با این حال، با تکمیل موفقیت آمیز ادغام اتریوم در سپتامبر 2022، هدف بعدی تغییر از EVM به Ethereum WebAssembly (eWASM) است. eWASM که به گونه ای بسیار ماژولار و مستقل از پلتفرم اتربوم طراحی شده است، به عنوان تغییر دهنده بعدی بازی برای پروتکل اتریوم معرفی می شود و می تواند سایر بلاک چین ها را تشویق کند تا از این محیط برای قراردادهای هوشمند خود استفاده کنند. با این حال، اینکه آیا eWASM ها جایگزین EVM به عنوان قابل اعتمادترین مکانیسم برای قراردادهای هوشمند خواهند شد یا خیر، سوالی است که تنها زمان به آن پاسخ خواهد داد.
برای مطالعه اخبار مرتبط با رمزارزها در ایران و جهان، وبلاگ و کانال خبری ما را دنبال کنید.