آنچه در این مطلب می‌خوانید:

با گسترش فناوری بلاک چین، نیاز به بستری فراتر از انتقال ساده ارزش به ‌وجود آمد؛ بستری که بتواند منطق‌های پیچیده، قراردادها و برنامه‌های غیرمتمرکز را اجرا کند. اتریوم با معرفی مفهومی به نام ماشین مجازی اتریوم (Ethereum Virtual Machine) یا EVM این امکان را فراهم کرد. EVM هسته محاسباتی شبکه اتریوم است که اجرای قراردادهای هوشمند را به شکلی غیرمتمرکز، قابل‌اعتماد و یکسان روی تمام نودهای شبکه ممکن می‌سازد. به همین خاطر درک EVM برای فهم عمیق اکوسیستم اتریوم و وب ۳ خیلی مهم است.

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

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

اهمیت EVM در تعیین‌پذیری (Determinism) آن است؛ یعنی اگر یک ورودی مشخص به یک قرارداد داده شود، خروجی آن در همه نودها دقیقاً یکسان خواهد بود. این ویژگی برای حفظ اجماع در شبکه بلاک چین خیلی مهم است. EVM از یک مجموعه دستورالعمل سطح پایین به اسم Bytecode استفاده می‌کند که معمولاً از زبان‌هایی مانند Solidity یا Vyper کامپایل می‌شود.

از نظر نظری، EVM یک سیستم تورینگ کامل (Turing Complete) است؛ یعنی می‌تواند هر محاسبه‌ای را که یک کامپیوتر کلاسیک قادر به انجام آن است، اجرا کند. با این تفاوت مهم که برای جلوگیری از حلقه‌های بی‌نهایت و سوءاستفاده از مکانیزمی به نام Gas استفاده می‌شود. هر عملیات در EVM هزینه گس دارد و اگر گس تمام شود، اجرای قرارداد متوقف می‌شود.

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

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

کاربرد اصلی ماشین مجازی اتریوم چیست؟

کاربرد ماشین مجازی اتریوم

کاربرد اصلی ماشین مجازی اتریوم، اجرای قراردادهای هوشمند و پشتیبانی از برنامه‌های غیرمتمرکز (DApps) است. هر زمان که یک قرارداد هوشمند روی شبکه اتریوم فراخوانی می‌شود (چه انتقال توکن باشد، چه اجرای یک وام غیرمتمرکز)، این EVM است که منطق قرارداد را تفسیر و اجرا می‌کند.

یکی از مهم‌ترین کاربردهای EVM در حوزه DeFi یا دیفای (امور مالی غیرمتمرکز) است. پروتکل‌هایی مانند صرافی‌های غیرمتمرکز، پلتفرم‌های وام‌دهی، استیبل ‌کوین‌ها و مشتقات مالی همگی بر پایه قراردادهایی اجرا می‌شوند که EVM آن‌ها را مدیریت می‌کند. بدون EVM، هماهنگی و اعتماد بین این سیستم‌ها بدون واسطه ممکن نبود.

کاربرد مهم دیگر، NFTها هستند. ضرب (Mint)، انتقال مالکیت و منطق حاکم بر توکن‌های غیرمثلی همگی در قالب قراردادهای هوشمند روی EVM پیاده‌سازی می‌شوند. EVM تضمین می‌کند که قوانین مالکیت دیجیتال تغییرناپذیر و شفاف باقی بمانند.

همچنین EVM به یک استاندارد صنعتی تبدیل شده است. بسیاری از بلاک چین‌های دیگر مانند Binance Smart Chain، Polygon، Avalanche و Arbitrum با سازگاری با EVM طراحی شده‌اند. این سازگاری به توسعه‌دهندگان اجازه می‌دهد بدون بازنویسی کامل کد، برنامه‌های خود را روی چند شبکه اجرا کنند.

در سطح کلان‌تر، EVM بستری برای ایجاد سازمان‌های خودگردان غیرمتمرکز (DAO)، سیستم‌های رأی‌گیری شفاف و قراردادهای حقوقی دیجیتال فراهم کرده است. به بیان ساده، EVM موتور اجرای «قوانین دیجیتال بدون نیاز به اعتماد» است و گسترش آن می‌تواند فشار خرید نسبتاً خوبی برای اتریوم ایجاد کند.

نمودار اتریوم

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

امنیت ماشین مجازی اتریوم در برابر حملات سایبری

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

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

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

با این حال، باید توجه داشت که EVM ذاتاً امن است، اما قراردادهای نوشته‌شده برای آن ممکن است ناامن باشند. بسیاری از حملات معروف (مانند Reentrancy یا Integer Overflow) ناشی از خطای برنامه‌نویسی هستند، نه ضعف خود EVM. به همین دلیل، ابزارهای تحلیل استاتیک، ممیزی امنیتی (Audit) و استانداردهایی مانند OpenZeppelin اهمیت زیادی دارند. در نتیجه، EVM یک محیط اجرای بسیار مقاوم در برابر حملات سایبری در سطح زیرساخت است، اما امنیت نهایی به کیفیت کد قراردادهای هوشمند وابسته است.

جمع بندی

بسیاری از معامله‌گران و کارشناسان باور دارند که ماشین مجازی اتریوم قلب تپنده شبکه اتریوم و بسیاری از بلاک چین‌های مدرن است. EVM با فراهم کردن یک محیط اجرایی تورینگ کامل، ایزوله و غیرمتمرکز، امکان اجرای قراردادهای هوشمند بدون نیاز به اعتماد را فراهم می‌کند. تفاوت بنیادی آن با کامپیوترهای سنتی در تمرکز بر اجماع، شفافیت و امنیت است، نه سرعت. کاربردهای گسترده EVM در امور مالی غیرمتمرکز (دیفای)، بازار توکن‌های غیرمثلی (NFTها)، سازمان‌های خودگران غیرمتمرکز (دائو) و وب ۳ نشان می‌دهد که این ماشین مجازی صرفاً یک ابزار فنی نیست، بلکه زیربنای اقتصاد دیجیتال غیرمتمرکز آینده محسوب می‌شود.

سوالات متداول


ماشین مجازی اتریوم محیط اجرایی غیرمتمرکز شبکه اتریوم است که قراردادهای هوشمند را به ‌صورت یکسان روی تمام نودها اجرا می‌کند.


چون منطق قراردادها را به ‌طور هم‌زمان و قابل‌اعتماد روی هزاران نود مستقل در سراسر جهان اجرا می‌کند.


کاربرد اصلی EVM اجرای قراردادهای هوشمند و پشتیبانی از دی اپ هاست.


شبکه‌هایی مانند بایننس اسمارت چین، پالیگان و آربیتروم با EVM سازگار هستند.


ایزولاسیون باعث می‌شود هر قرارداد در محیطی جداگانه اجرا شود و از تداخل و گسترش حملات جلوگیری گردد.


کدهای سالیدیتی به بایت‌کد قابل‌اجرا برای EVM کامپایل می‌شوند.