ماشین مجازی اتریوم (EVM) چیست و چگونه کار میکند؟
مقدمه
برای درک بهتر ماشین مجازی اتریوم (Ethereum Virtual Machine) یا EVM، در ابتدا بهتر است با شبکه بیت تورنت (BitTorrent) آشنا شویم. ویتالیک بوترین، سازنده اتریوم میگوید که بیت تورنت اولین نرم افزار غیر متمرکز (DApp) بوده که یک جامعه مستقل از کاربران و صرافیها را در سراسر اینترنت پوشش میداد.
بیت تورنت
برام کوهن (Bram Cohen) که یک برنامهنویس است، بیت تورنت را به عنوان یک پروتکل اشتراکگذاری در سال 2001 اختراع کرد. با وجود اینکه افرادی در سراسر جهان با هزینههای میلیارد دلاری سعی در نابودی این پروتکل داشتند، امروزه بیت تورنت فعالیت خود را حفظ کرده است. کاربران همچنان میتوانند آخرین فیلمها و نرم افزارها را از طریق پروتکل بیت تورنت دانلود و آنها را روی دستگاه خود ذخیره کنند.
برای اینکه بیت تورنت از بین برود، باید تک تک کامپیوترهایی که در خانهها وجود دارد را نابود کرد تا کسی از این پروتکل استفاده نکند. این روش در از بین بردن ماشین مجازی اتریوم نیز صدق میکند.
با توجه به غیر متمرکز بودن شبکه اتریوم، این ماشین مجازی به «رایانه جهانی غیرقابل توقف» معروف شده است.
ماشین مجازی اتریوم (EVM)
ماشین مجازی اتریوم (Ethereum Virtual Machine) یا EVM بسیار قدرتمند است. محیط ایزوله مجازی آن درون هر نود (Node) اتریوم جاسازی شده است که هر کدام از آنها وظیفه اجرای کد قراردادها را دارند. قراردادها به طور معمول با زبانهای برنامهنویسی خاصی مثل سالیدیتی (Solidity) نوشته میشوند و بعد از آن به کدهای ماشین مجازی اتریوم تبدیل میشوند.
ماشین مجازی اتریوم در حال کامل شدن است و با کامل شدن آن، شبکه اجازه خواهد داشت که برای عملیاتهای محاسباتی، از تابعهای مختلف استفاده کند. جاوا اسکریپت، زبان برنامهنویسی است که به وب قدرت مورد نیاز را میدهد و برای کامل کردن خود از تورینگ استفاده میکند. ماشین مجازی اتریوم یا EVM با موفقیت در زبانهای مختلف برنامهنویسی مانند C++، جاوا اسکریپت، پایتون، روبی و دیگر زبانها اجرا شده است.
وجود ماشین مجازی اتریوم (Ethereum Virtual Machine) برای پروتکل اتریوم ضروری است و برای مکانیسم اجماع سیستم اتریوم نیز مهم است. این ماشین مجازی به کاربران اجازه میدهد که هر کدی را در یک اکوسیستم بدون نیاز به اعتماد اجرا کنند که امنیت آن تضمین شده و شبیه به اجرای قراردادهای هوشمند است.
هنگامی که یک کاربر میخواهد راهاندازی را شروع کند، باید مقداری اتر را ذخیره کند که با آن هزینه اجرای کد را بپردازد.
جایگاه گس (Gas) در ماشین مجازی اتریوم
با استفاده از مکانیزم گس، دو مشکل اساسی برطرف خواهد شد. یکی تضمین یک اعتبارسنج (ولیدیتور) برای تسویه مبلغ اولیه است و دیگری معتبر بودن اطلاعات تراکنش.
از طرف دیگر در بلاکچین اتریوم میتوانیم با استفاده از قراردادهای هوشمند، برنامهها یا اپلیکیشنهای غیر متمرکز (DApps) بسازیم. با این حال، کد برنامههای پیادهشده روی ماشین مجازی اتریوم مشابه یکدیگر نیستند و اجرای یک عملیات برای شبکه میتواند سختتر یا راحتتر از دیگر عملیاتها باشد. بنابراین به راهکاری نیاز داریم که با آن بتوانیم میزان پردازش موردنیاز و در نتیجه کارمزد هر عملیات را نسبت به سختی یا آسانی آن مشخص کنیم. این راهکار، واحدی بهنام گس (Gas) است.
سخن پایانی
ماشین مجازی اتریوم (EVM) یک ماشین تورینگ کامل است که روی شبکه بلاکچین اتریوم به اجرا درمیآید. EVM این امکان را به هر کسی میدهد که بتواند پلتفرمها و اپلیکیشنهای خودش را به صورت غیر متمرکز روی آن اجرا کند. در واقع این ماشین مجازی، یه دستگاه کدنویسیشده است که میتواند قراردادهای هوشمندی را که به زبان Solidity نوشته شدهاند، روی شبکه بلاکچین اجرا کند.
ماشین مجازی اتریوم وظیفه تأیید اعتبار تراکنشهای انجامشده در بلاکچین اتریوم را به عهده دارد. در اتریوم، از مفهوم gas به عنوان کارمزد انجام تراکنش استفاده میشود.
دیدگاه خود را ثبت کنید