سال نو فرصت های نو , نوروزتان پیروز

ماشین مجازی اتریوم (EVM) چیست و چگونه کار می‌کند؟

ماشین مجازی اتریوم (EVM) چیست

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

ماشین مجازی اتریوم (EVM) چیست؟

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

هر تراکنش در ماشین مجازی اتریوم (EVM) ، گس (gas) مصرف کرده که متناسب با عملیات محاسباتی مورد نیاز است. این گس که بر حسب ارز دیجیتال بومی اتریوم (ETH) قیمت گذاری می‌شود، کارمزدهای تراکنش را تعیین می‌کند. هنگامی که EVM این تراکنش‌ها را پردازش می‌کند، از یک بلاک به بلاک دیگر در شبکه اتریوم با استفاده از ساختاری به نام Merkle Patricia Trie حرکت می‌کند. بدین ترتیب، اپلیکیشن‌ها صرف‌نظر از اینکه پلتفرم‌های مالی غیر متمرکز (DeFi)، توکن‌های غیر قابل تعویض (NFTها) یا صرافی‌های غیر متمرکز باشند، عملکرد بسیار مناسبی دارند. جامعه پرتکاپوی متن‌باز پیرامون EVM، موجب زایش انواع ابزارها و فریم ورک ها شده و باعث ارتقای این اکوسیستم و تسهیل توسعه بلاکچین‌های سازگار با EVM شده است.

ماشین مجازی اتریوم (EVM)

تاریخچه ماشین مجازی اتریوم (EVM)

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

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

ماشین مجازی اتریوم (EVM) چگونه کار می‌کند؟

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

EVM همانند یک ماشین استک عمل کرده که مقادیر موقتی را از استک (پشته) فشردنی دریافت کرده و به آن انتقال می‌دهد و دارای 1024 آیتم است که هر کدام از آنها یک کلمه 256 بیتی هستند. همچنین EVM یک حافظه موقت به شکل آرایه بایتی دارد که بین دو تراکنش در بلاکچین اتریوم تغییر می‌کند. کدهای کامپایل شده قرارداد هوشمند، توسط EVM به‌شکل مجموعه‌ای از 140 کد عملیاتی استاندارد اجرا شده و سایر عملیات استک بلاکچین نیز توسط آن، پیاده سازی می‌شوند.

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

هدف ماشین مجازی اتریوم (EVM) چیست؟

EVM نقشی محوری در تمامی اپلیکیشن‌هایی دارد که در شبکه اتریوم اجرا می‌شوند و تاکنون اختلال خاصی در مورد آن، گزارش نشده است. EVM از نگاه توسعه‌دهندگان به‌عنوان یک برنامه فراگیر عمل کرده که برنامه‌های کوچک‌تر (قراردادهای هوشمند) را در بستر اتریوم اجرا کرده و اختیار کافی را به آنها جهت نوشتن قراردادهای هوشمند بر حسب انواع زبان‌های برنامه نویسی شامل Solidity، Vyper، پایتون و Yul می‌دهد.

انعطاف پذیری موجود در EVM موجب شده است تا بلاکچین اتریوم، هزاران DApps را در فضای امور مالی غیر متمرکز (DeFi) و توکن‌های تعویض ناپذیر (NTF) ایجاد کند. هر یک از این DApps و قراردادهای هوشمند ساخته ‌شده، به کد بیتی تبدیل شده که به EVM تغذیه می‌شوند و در میان کلیه گره‌ها در شبکه اتریوم، توزیع می‌شوند. هنگام استفاده از یک قرارداد هوشمند، EVM مسئول برقراری ارتباط با تمامی گره‌ها و تأثیرگذاری بر تغییرات حالت در صورت رسیدن به اجماع است.

مزایای ماشین مجازی اتریوم (EVM)

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

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

معایب ماشین مجازی اتریوم (EVM)

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

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

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

در نهایت، EVM کاملاً غیر متمرکز نیست. بلاکچین غیر متمرکز بوده اما EVM وابسته به ماینرها و گره‌ها جهت راستی‌آزمایی تراکنش‌ها است. این موضوع تأثیر معناداری بر ماینرها داشته و تا حدودی موجب متمرکز شدن عملیات می‌شود.

کاربردهای ماشین مجازی اتریوم (EVM)

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

کاربردهای ماشین مجازی اتریوم (EVM)

توکن‌های ERC-20

توکن‌های ERC-20، دارایی‌های دیجیتال استاندارد شده‌ای در بلاکچین اتریوم هستند. این توکن‌ها قابل تعویض هستند، یعنی هر توکن یکسان و قابل تعویض است. این توکن‌ها نقش بسیار مهمی در فضای ارزهای دیجیتال داشته و موجب تسهیل قابلیت‌های DApps دارند. پروژه‌هایی مانند یونی سواپ و نکسوس موچوال از توکن‌های ERC-20 برای نقدینگی و حاکمیت در اکوسیستم خود، استفاده می‌کنند.

AMMها و DEXها

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

انتشار NFT

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

وام دهی DeFi

وام دهی DeFi در ماشین مجازی اتریوم (EVM) ، موجب غیر متمرکز شدن ابزارهای قدیمی مالی می‌شود. پلتفرم‌هایی مانند MakerDAO و Compund، سیستم‌های وام دهی و وام گیری غیر متمرکز را ارائه می‌کنند. تراکنش‌ها در پروتکل وام دهی DeFi به‌صورت شفاف و خودکار انجام می‌شوند.

DAO ها

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

بلاکچین سازگار با EVM چیست؟

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

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

ماشین مجازی اتریوم (EVM)

چه چین‌هایی با EVM سازگار هستند؟

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

این چین‌ها جهت حفظ سازگاری، نسخه‌های EVM مختص خود را دارند و از سالیدیتی (Solidity) به‌عنوان زبان اصلی برنامه نویسی اتریوم، پشتیبانی می‌کنند. پیاده سازی این برنامه‌ها با زبان‌های مختلف همچون راست (Rust) برای آوالانچ، Go برای فانتوم و C++ برای HECO انجام شده است.

پیش بینی آینده EVM ها

ماشین مجازی اتریوم (EVM) ، تغییرات بزرگی را در آینده تجربه خواهند کرد. برنامه ارتقای سازگاری کامل اپتیمزیم اتریوم (EOF) در سال 2023، یکی از این تحولات است. EOF که فرمت شیء EVM محسوب می‌شود، ارتقای مهمی نسبت به EVM با تمرکز بر بهبود ماشین مجازی اتریوم و اجرای قراردادهای هوشمند در لجر گسترده اتریوم، محسوب می‌شود. این ارتقا، اولین مرحله بهبود EVM از سال 2015 محسوب می‌شود. همچنین اقداماتی برای دستیابی به وب اسمبلی اتریوم (eWASM) انجام شده است. این محیط جدید، کارایی، سرعت و سازگاری بیشتری جهت اجرای قراردادهای هوشمند دارد. eWASM به کاربران اجازه می‌دهد تا از زبان‌های مختلف برنامه نویسی استفاده کرده و توسعه‌دهندگان بیشتری را به اتریوم، جذب کنند. در نهایت می‌توان گفت آینده بسیار روشنی در انتظار ماشین مجازی اتریوم است و می‌توان از این ابزار جهت ارتقای بازدهی، مقیاس‌پذیری و تعامل‌پذیری با سایر چین‌ها استفاده کرد.

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

ماشین مجازی اتریوم (EVM) چیست؟

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

توکن EVM چیست؟

کوین هایی هستند که از محیط زمان اجرای ماشین مجازی اتریوم برای قرارداد های هوشمند استفاده می کنند. کوین های EVM نسبت به سایر شبکه ها متمایز بوده و امکان آزمایش مجزای نرم افزارهای جدید را با امکان برقراری ارتباط با قرارداد های دیگر، ممکن می سازند.

آیا EVM همان ERC20 است؟

خیر، این دو مفهوم در اکوسیستم اتریوم، کاملا با هم متفاوت هستند. ماشین مجازی اتریوم یک محیط غیر متمرکز است که امکان استفاده از قرارداد های هوشمند را ممکن می سازد در حالی که ERC-20 یک استاندارد پذیرفته شده جهت ایجاد توکن‌ها در بستر اتریوم است.

چه بلاکچین‌هایی از EVM استفاده می کنند؟

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

5/5 - (2 امتیاز)

مقاله های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *