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