ماشین مجازی اتریوم چیست؟
ماشین مجازی اتریوم چیست و از آن چه استفادهای میشود؟ بیت کوین در سال 2008 جهان را با ارزهای دیجیتال آشنا کرد. بااینحال، بیشتر علاقهمندان به ارزهای دیجیتال معتقدند ادغام یکپارچه قراردادهای هوشمند اتریوم در سال 2015 اولین گام برای تکمیل فرمول بیت کوین بود. قراردادهای هوشمند اتریوم به توسعهدهندگان راهی آسان برای ذخیره پروتکلهای تراکنش زنجیرهای با استفاده از یک زبان برنامهنویسی داد.
برای درک قراردادهای هوشمند، باید ماشین مجازی اتریوم (EVM) را بشناسید. این دستگاه سیستمی است که استقرار و اجرای قرارداد هوشمند را در اکوسیستم غیرمتمرکز اتریوم امکانپذیر میکند. در این پست آموزشی از صرافکس قصد داریم که در رابطه با EVM و ویژگیهای آن با شما به گفتگو بپردازیم. پس باما همراه باشید.
مطلب پیشنهادی: قیمت اتریوم
EVM یا ماشین مجازی اتریوم چیست؟
EVM یک ماشین مجازی کامل تورینگ است که میتوان بهصورت جهانی از طریق یک گره شبکه مشارکتکننده به آن دسترسی داشت. کامل بودن تورینگ EVM با این واقعیت سنجیده میشود که میتواند هر برنامهای را اجرا کند. بدون ماشین مجازی اتریوم، توسعهدهندگان نمیتوانند تعداد زیادی dApps (برنامههای غیرمتمرکز) را که اتریوم به آنها شناخته میشود، پیادهسازی کنند.
ماشینهای مجازی به یک دستگاه فیزیکی خاص متصل نیستند و هیچ رابط سیستم یا سختافزاری ندارند. یک ماشین مجازی از قدرت محاسباتی بسیاری از شرکتکنندگان برای ارائه یک محیط زمان اجرا مشابه یک کامپیوتر فیزیکی استفاده میکند. برخلاف کامپیوترهای فیزیکی، ماشینهای مجازی به یک سیستمعامل یا مکان محدود نمیشوند. مردم در سراسر جهان میتوانند بدون توجه به محل زندگی و نوع رایانهای که استفاده میکنند از این دستگاه استفاده کنند.
EVM یک ماشین حالت است
ماشینهای حالت موتورهای محاسباتی هستند که میتوانند بین حالتهای مختلف جابجا شوند. هنگامیکه یک تراکنش باعث اجرای یک قرارداد هوشمند میشود، EVM وضعیت اتریوم را تغییر میدهد تا نیازهای این قرارداد را برآورده کند.
توانایی ماشین مجازی اتریوم برای تفسیر و اجرای قراردادهای هوشمند در طول تراکنشها، اتریوم را از بلاک چینهای سادهتری مانند بیت کوین جدا میکند. بلاک چین بیت کوین بهسادگی یک دفتر کل توزیعشده است. از طرف دیگر، تابع انتقال حالت EVM به اتریوم اجازه میدهد تا در پاسخ به دادههای ورودی قرارداد هوشمند، از بلوکی به بلوک دیگر به حالت معتبر جدیدی بهروزرسانی شود.
تغییرات وضعیت اتریوم به توسعهدهندگان این امکان را میدهد تا ارزها و NFT های سفارشی ایجاد کنند، مالکیت داراییهای فیزیکی زیربنایی را نشان دهند، نامهای دامنه غیرقابل تعویض ایجاد کنند و برنامههای مالی غیرمتمرکز یا سازمانهای مستقل (DAO) را ایجاد کنند.
ماشین مجازی اتریوم میتواند هر برنامهای را که در یک قرارداد هوشمند نوشتهشده است اجرا کند. بااینحال، قراردادهای هوشمند پیچیدهتر از هزینه کارمزد شبکه اتریوم بیشتری استفاده میکنند که درنتیجه هزینه تراکنش کلی بیشتر میشود. اگرچه هزینههای گاز برای بسیاری از علاقهمندان به ارزهای رمزنگاریشده به محل مناقشه تبدیلشده است، اما آنها بخش مهمی از EVM هستند.
محاسبات ذاتاً از طریق یک پارامتر، گاز، محدود میشود که کل مقدار محاسبات انجامشده را محدود میکند. محدودیتهای گاز، EVM را قادر میسازد تا از سوءاستفاده از شبکه جلوگیری کند.
آیا ماشین مجازی اتریوم غیرمتمرکز است؟
EVM را میتوان بهعنوان «یک سیستم غیرمتمرکز» توصیف کرد. افراد بیشماری در سراسر جهان گرهها را اجرا میکنند، اما اکثر گرههای اتریوم بر روی سرورهای متمرکز مانند خدمات وب آمازون میزبانی میشوند. اگر صاحبان گرهها را ببندند، میتواند به شبکه آسیب برساند. بااینحال، باگذشت زمان، همانطور که رایانههای جدید با اجرای گرهها در شبکه اتریوم شرکت میکنند، اکوسیستم غیرمتمرکزتر میشود.
ماشین مجازی اتریوم چگونه کار می کند؟
EVM از معماری مبتنی بر پشته و اندازه کلمه 256 بیت استفاده میکند. اندازه کلمه 256 بیتی به EVM اجازه میدهد تا عملیات هش بومی را تسهیل کند که تضمین میکند وجوه فقط توسط صاحبان واقعی آنها خرج میشود. ماشین مجازی اتریوم از زبانهای برنامهنویسی مختلفی مانند Vyper و Solidity پشتیبانی میکند که Solidity محبوبترین زبان برنامهنویسی برای کد منبع قرارداد هوشمند است. این زبانهای برنامهنویسی برای نوشتن قراردادهای هوشمند استفاده میشوند که به بایت کد موردنیاز برای استفاده توسط EVM تبدیل میشوند.
بایت کد ذخیرهشده در زنجیره که بهعنوان بایت کد زمان اجرا شناخته میشود، سپس به یک کد عملیاتی تبدیل میشود که موتور محاسباتی EVM برای انجام آن اقدامات تفسیر میکند.
هنگامیکه یک تراکنش اتریوم یک قرارداد هوشمند را اجرا میکند، یک EVM با اطلاعات تراکنش در حال پردازش بارگذاری میشود. بهعنوانمثال، یکی از متغیرهای موردنیاز برای اجرای یک قرارداد هوشمند، تأمین هزینه گاز موردنیاز آن است که بر روی مقدار گاز پرداختشده توسط فرستنده تنظیم میشود. با پیشرفت معامله، عرضه گاز کاهش مییابد و اگر در هر نقطهای، عرضه گاز به صفر برسد، معامله متوقف میشود.
قراردادهای هوشمند میتوانند معاملات را آغاز کنند و بهتنهایی قراردادهای دیگری را فراخوانی کنند. در این حالت، هر تماس منجر به بارگیری یک EVM دیگر با اطلاعات خاصی برای تراکنش جدید میشود. این اطلاعات جدید از EVM یک سطح بالاتر مقداردهی اولیه شده است. اگر گاز کافی برای تکمیل اجرا وجود نداشته باشد، حالت کنار گذاشته میشود و اجرای تراکنش به EVM یک سطح بالاتر بازنشانی میشود.
دادهها در EVM چگونه ذخیره می شوند؟
پروتکل اتریوم از دو نوع داده متمایز استفاده میکند، دادههای دائمی و دادههای زودگذر. دادههای دائمی، مانند تراکنش، در ساختار داده درخت مانند اتریوم ثبت میشود و هرگز تغییر نخواهد کرد. دادههای زودگذر، مانند موجودی کیف پول، در پاسخ به تراکنشهای جدید ثبت و تغییر میکنند.
کدهای عملیاتی ماشین مجازی اتریوم از حافظه قراردادی برای بازیابی دادهها استفاده میکنند. حافظه وضعیت قرارداد در آدرس قرارداد ذخیره میشود و پایدار نیست. موقعیت یک متغیر در آرایه ذخیرهسازی قرارداد هوشمند با ترتیب آن در کد تعیین میشود. اگر یک متغیر معین 256 بیت یا کمتر باشد، EVM سعی میکند چندین متغیر را در فضا قرار دهد. وقتی قراردادی قرارداد دیگری را به ارث میبرد، متغیرهای ذخیرهسازی قرارداد پایه در اولین شکافها به ترتیب وراثت ذخیره میشوند.
ذخیرهسازی قرارداد مانند یک پایگاه داده عمومی است که در آن میتوان مقادیر را بدون نیاز به ارسال تراکنش بهصورت خارجی خواند. بااینحال، ذخیرهسازی قراردادی در مقایسه با حافظه حالت قراردادی گرانتر است.
استفاده از ماشین یادگیری اتریوم
EVM اتریوم به این پروژه اجازه داده است تا به هدف خود یعنی «غیرمتمرکز کردن همهچیز» دست یابد.
EVM ازنظر عملکرد پیچیده است اما برای توسعهدهندگان جدید قابلدسترسی است که با استفاده از آن میتوانند بسیاری از برنامههای غیرمتمرکز را ایجاد کنند. بااینحال، پروژههای جدیدتر و بلاک چینها بر اساس مدل EVM به پیشرفت خود ادامه میدهند و روزبهروز به محبوبیت آنها افزوده میشود.
سوالات متداول
ماشین مجازی اتریوم یک دلیل و اجرا کننده برنامههای غیرمتمرکز شبکه اتریوم است. EVM به صورت کلی قراردادهای هوشمند شبکه اتریوم که روی این شبکه بارگزاری یا دیپلوی شدهاند، را اجرا میکند.
این به معنای سازگاری با ماشین مجازی اتریوم است و به شبکههایی اشاره دارد که آنها نیز از این ماشین مجازی بهره میبرند. آدرسهای این شبکهها دقیقا مطابق با استانداردهای تعریف شده شبکه اتریوم است. ماشین مجازی EVM چیست؟
سازگاری ماشین مجازی اتریوم (Evm compatible ) چیست؟