ارز دیجیتال
ماشین مجازی اتریوم
تعریف
ماشین مجازی اتریوم (EVM) محیط زمان اجرا است که کد قراردادهای هوشمند را اجرا کرده و وضعیت بلاکچین اتریوم را به طور قطعی بهروزرسانی میکند.
ماشین مجازی اتریوم چیست؟
ماشین مجازی اتریوم (EVM) لایه محاسباتی اتریوم است: یک زمانسنج استاندارد که هر گره اتریوم برای اجرای قراردادهای هوشمند و توافق بر نتایج استفاده میکند.
وقتی شما با یک برنامه غیرمتمرکز (dApp)—تعویض توکنها، ضرب یک NFT، یا گرفتن وام DeFi—تعامل میکنید، EVM موتور قوانین است که دستورالعملهای قرارداد را اجرا میکند و تغییرات وضعیت یکسانی را برای همه در شبکه تولید میکند.ماشین مجازی اتریوم چگونه کار میکند؟در سطح بالا، EVM قراردادهای هوشمند را به عنوان
بایتکد
(دستورالعملهای قابل خواندن توسط ماشین) اجرا میکند و اطمینان حاصل میکند که اجرا قطعی است—به این معنی که ورودیهای یکسان باید خروجیهای یکسانی را در هر گره تولید کنند. توسعهدهندگان معمولاً قراردادها را به زبانهای سطح بالاتر مانند Solidity یا Vyper مینویسند، سپس آن کد منبع را به بایتکد EVM کامپایل میکنند.
آن بایتکد در زنجیره در یک آدرس قرارداد ذخیره میشود و آماده است تا هر زمان که یک تراکنش آن را فراخوانی کند، اجرا شود.اجرا زمانی آغاز میشود که یک کاربر (یا قرارداد دیگری) یک تراکنش ارسال کند که به یک آدرس قرارداد هدفگذاری شده و یک فراخوانی تابع و پارامترها را مشخص میکند. گرهها تراکنش را اعتبارسنجی میکنند، سپس EVM آن را مرحله به مرحله با استفاده از یک مجموعه دستورالعمل مبتنی بر پشته پردازش میکند (که اغلب به عنوان "ماشین پشته مجازی" توصیف میشود). در حالی که EVM کدهای عملیاتی (عملیات پایه مانند حساب، خواندن/نوشتن ذخیرهسازی و هشگذاری رمزنگاری) را اجرا میکند، ممکن است:1. وضعیت قرارداد را از ذخیرهسازی اتریوم بخواند (دادههای دائمی مرتبط با قرارداد). 2. محاسبات را در حافظه انجام دهد (فضای کاری موقت). 3. لاگها (رویدادها) را منتشر کند که برنامهها میتوانند ایندکس و نمایش دهند. 4. قراردادهای دیگر را فراخوانی کند (
قابلیت ترکیب
), داده و ارزش را منتقل کند. 5. اگر اجرا با موفقیت کامل شود، وضعیت بهروزرسانی شده را به ذخیرهسازی بنویسد.یک بخش کلیدی از نحوه کار ماشین مجازی اتریوم گاز
است—یک سیستم اندازهگیری که قیمت محاسبات و ذخیرهسازی را تعیین میکند. هر عملیات EVM هزینه گاز دارد. فرستنده حداکثر مقدار گاز را که مایل به مصرف آن است (حد گاز) تعیین میکند و هزینهها را به صورت ETH برای کار انجام شده پرداخت میکند.
اگر اجرا از گاز خارج شود، EVM متوقف میشود و تغییرات وضعیت را به حالت قبل برمیگرداند، که شبکه را از حلقههای بینهایت و سوءاستفاده از منابع محافظت میکند.یک تشبیه مفید: EVM را به عنوان یک "محاسبهگر" مشترک و مقاوم در برابر دستکاری تصور کنید که همه میتوانند آن را تأیید کنند. شما میتوانید یک برنامه (یک قرارداد هوشمند) و ورودیها (یک تراکنش) را ارسال کنید.
محاسبهگر به ازای هر مرحله (گاز) هزینه میگیرد و نتیجه نهایی (تغییرات وضعیت) را منتشر میکند تا همه شرکتکنندگان بتوانند همان نتیجه را تأیید کنند.ماشین مجازی اتریوم در عمل
EVM تنها "چیز اتریوم" نیست—این یک استاندارد بهطور گسترده پذیرفته شده برای اجرای قراردادهای هوشمند شده است. بسیاری از شبکهها
سازگار با EVM
هستند، به این معنی که آنها همان محیط اجرای مشابه و رفتار کدهای عملیاتی را پیادهسازی میکنند تا قراردادهای به سبک اتریوم با حداقل تغییرات اجرا شوند.
به همین دلیل است که توسعهدهندگان معمولاً میتوانند کد Solidity، ابزارهای آشنا و شیوههای حسابرسی را در چندین زنجیره دوباره استفاده کنند.در خود اتریوم، EVM سهم بزرگی از فعالیتهای زنجیرهای را تأمین میکند: صرافیهای غیرمتمرکز (DEX) که تعویضها را از طریق قراردادهای سازنده بازار خودکار اجرا میکنند، پروتکلهای وامدهی که وثیقه و محاسبات بهره را مدیریت میکنند، و قراردادهای NFT که قوانین ضرب و مالکیت را اجرا میکنند.
در هر مورد، EVM مؤلفهای است که "منطق قرارداد" را به انتقالهای وضعیت قابل تأیید تبدیل میکند—بهروزرسانی موجودیها، ثبت مالکیت و اجرای محدودیتها دقیقاً همانطور که کدگذاری شده است.چرا ماشین مجازی اتریوم مهم است
ماشین مجازی اتریوم مهم است زیرا یک
استاندارد اجرای مشترک
برای برنامههای غیرمتمرکز فراهم میکند. به جای اینکه هر پروژه قوانین زمانسنج خود را اختراع کند، EVM تعریف میکند که قراردادهای هوشمند چگونه رفتار میکنند، چگونه با یکدیگر تعامل دارند و چگونه نتایج توسط شبکه تأیید میشوند. این استانداردسازی یکی از دلایل اصلی است که اتریوم به یک مرکز برای DeFi قابل ترکیب و نوآوری زنجیرهای تبدیل شد: قراردادها میتوانند به طور قابل اعتمادی قراردادهای دیگر را فراخوانی کنند و توسعهدهندگان میتوانند بر روی اصول موجود بسازند.این همچنین برای امنیت و سلامت شبکه مهم است. قیمتگذاری گاز محاسبات را کمیاب و قابل اندازهگیری میکند، از هرزنامه جلوگیری میکند و مانع از مصرف منابع نامحدود توسط قراردادها میشود. اجرای قطعی اطمینان میدهد که توافق نظر ممکن است: اگر گرهها بتوانند نتایج متفاوتی از یک تراکنش یکسان تولید کنند، بلاکچین شکسته میشود. بدون EVM (یا یک لایه اجرایی معادل)، اتریوم محدود به انتقالهای ساده خواهد بود و نه مالی برنامهپذیر، NFTها، DAOها و سایر سیستمهای مبتنی بر قراردادهای هوشمند.
پرسشهای متداول
ماشین مجازی اتریوم (EVM) چیست؟
ماشین مجازی اتریوم محیط اجرایی است که قراردادهای هوشمند اتریوم را اجرا کرده و تغییرات وضعیت آنها را در سراسر شبکه اعمال میکند. هر نود EVM را اجرا میکند تا همان تراکنش نتیجه یکسانی تولید کند.
EVM چگونه قراردادهای هوشمند را اجرا میکند؟
قراردادهای هوشمند به کد بایت EVM تبدیل میشوند که در زنجیره ذخیره میشود. وقتی یک تراکنش یک قرارداد را فراخوانی میکند، EVM آن کد بایت را مرحله به مرحله اجرا میکند و برای عملیات هزینه گاز دریافت میکند و در صورت موفقیتآمیز بودن اجرا، وضعیت را بهروزرسانی میکند.
چرا EVM از گاز استفاده میکند؟
گاز محاسبات و ذخیرهسازی را اندازهگیری میکند تا اجرای قرارداد هزینه مشخصی داشته باشد و نتواند بهطور نامحدود اجرا شود. این به جلوگیری از هرزنامه کمک میکند، استفاده از منابع را محدود میکند و امنیت شبکه را با مشوقهای اقتصادی همسو میسازد.
EVM-سازگار به چه معناست؟
زنجیرههای EVM-سازگار همان قوانین اجرایی و رفتار کد عملیاتی را مانند EVM اتریوم پیادهسازی میکنند. این به توسعهدهندگان اجازه میدهد تا قراردادهای مبتنی بر Solidity را مستقر کنند و از ابزارهای آشنا اتریوم با تغییرات کمتر استفاده کنند.
آیا EVM همان اتریوم است؟
خیر—اتریوم شبکه بلاکچین است، در حالی که EVM محیط اجرایی است که توسط آن شبکه برای اجرای قراردادهای هوشمند استفاده میشود. اتریوم همچنین شامل اجزای اجماع، شبکهسازی و در دسترس بودن دادهها فراتر از EVM است.