اتریوم یک شبکه بلاکچین است که مفهوم قرارداد هوشمند را معرفی کرد. شاید بپرسید اتریوم چگونه توانایی اجرا و کامپایل هزاران قرارداد هوشمند را دارد؟ پاسخ ماشین مجازی اتریوم یا EVM است. اما اهمیت EVM در برنامههای بلاکچین چیست؟ توصیف وجود فیزیکی EVM کاری دشوار است؛ درست مثل توصیف وجود فیزیکی فضای ابری. با این حال، فضای ابری همچنان به عنوان یک موجود واحد، هزاران رایانه را متصل به یکدیگر نگه میدارد. پروتکل اتریوم نیز به همین شکل تداوم، تغییرناپذیری و عملیات یکپارچه ماشین حالت ویژه را تضمین میکند و برای تمام قراردادها و حسابهای هوشمند اتریوم یک محیط مناسب فراهم میآورد.
برای هر بلوک خاصی در زنجیره اتریوم، تنها یک حالت «متعارف» در سراسر زنجیره وجود دارد. توجه به این نکته مهم است که EVM تعاریفی را برای قوانین حاکم بر محاسبه حالتهای معتبر جدید از یک بلوک به بلوک دیگر ارائه میدهد. در این مطلب قصد داریم تا با ماشین مجازی اتریوم، مزایا و موارد استفاده آن آشنا شویم.
ماشین مجازی اتریوم؛ عنصری مهم در عملکرد شبکه
اولین نکتهای که در هنگام آموختن EVM نیاز دارید، تعریف آن است. ماشین مجازی اتریوم به طور کلی به عنوان یکی از عناصر اصلی در کارکرد اتریوم در نظر گرفته میشود. در واقع این ماشین شبیه به قلب در بدن انسان است که برای توزیع اکسیژن و مواد مغذی لازم در سراسر بدن از طریق خون کار میکند.
ماشین مجازی اتریوم محیطی را برای ایجاد و استقرار قراردادهای هوشمند و همچنین dApps در زبان برنامهنویسی Solidity ارائه میدهد. این ماشین مجازی به عنوان یک «کامپیوتر مجازی» یا پلتفرم نرمافزاری است که توسط توسعهدهندگان برای ایجاد برنامههای غیرمتمرکز استفاده میشود. ماشینهای مجازی اتریوم همچنین میتوانند در اجرا و استقرار قراردادهای هوشمند در بلاکچین اتریوم مفید واقع شوند.
تاریخچه ماشین مجازی اتریوم
قبل از تامل درباره بهترین شیوهها برای دانلود ماشین مجازی اتریوم، مهم است که به تاریخچه EVM نگاهی بیندازیم. اکثر افرادی که با بلاکچین اتریوم در تعامل هستند، حتما در مقطعی از زمان درباره EVM چیزهایی شنیدهاند. جالب اینجاست که شما میتوانید با مروری بر تاریخچه، تصور بهتری از ماشین مجازی اتریوم و عملکردهای آن داشته باشید.
همه چیز از آنجا شروع شد که ویتالیک بوترین (پدیدآورنده اتریوم) ادعا کرد که بیتتورنت به عنوان یکی از اولین نمونههای dApps عمل میکرده است. بیتتورنت در سال 2001 توسط برام کوهن توسعه یافت و حتی پس از گذشت چندین سال تلاشهای متعدد برای از بین بردن آن همچنان بهعنوان یک پروتکل به اشتراکگذاری فایل فعالیت میکند؛ اما این کار چگونه انجام میشود؟
ماشین مجازی اتریوم و بیتتورنت در شبکه رایانههای سراسر جهان کاملا مشهود است. اگر واقعا بخواهید بیتتورنت را متوقف کنید، باید تمام رایانهها را در سرتاسر جهان خاموش کنید. همین مساله در مورد EVM نیز صدق میکند. حالا آیا به شباهت بین بیتتورنت و EVM پی بردید؟ در واقع هر دوی آنها ماشینهایی مجازی بدون هیچگونه محدودیت فیزیکی هستند.
این ماشین نیازی به مونتاژ سختافزاری پیشرفته ندارد و برای مبتدیان به عنوان یک پلتفرم ایدهآل عمل میکند. از سوی دیگر، باید در مورد بایتها، پشتهها (استکها) و بسیاری دیگر از مفاهیم بلاکچین مانند اثبات سهام و توابع هش، کدهای سازگار با EVM و همچنین ماشین مجازی اتریوم اطلاعات بیشتری کسب کنید.
آیا EVM یک لجر توزیعشده است یا یک ماشین وضعیت؟
تعریف EVM به عنوان یک ماشین حالت (state machine)، تردیدهایی را درباره ارتباط آن با لجر توزیعشده اتریوم ایجاد میکند. پیادهسازی EVM در درجه اول بر تعیین وضعیت بلاکها در اتریوم متمرکز است. در عین حال، EVMها با سایر شبکههای مبتنی بر بلاکچین نیز شباهتهایی دارند؛ زیرا برای نگهداری پایگاههای داده و برای تسهیل تراکنشها، از یک لجر توزیعشده استفاده میشود. جدا از لایه لجر توزیعشده، ماشینهای مجازی اتریوم لایه دیگری از عملکرد را با ویژگیهای قرارداد هوشمند اضافه میکنند. این لایه دوم با عنوان «ماشین حالت توزیعشده» شناخته میشود.
به طور کلی، شبکههای بلاکچین مانند بیتکوین یا اتریوم به عنوان لجر یا دفتر کل توزیعشده شناخته میشوند. این شبکههای بلاکچین در درجه اول برای فعال کردن ارز غیرمتمرکز از طریق استفاده از ابزارهای اساسی در رمزنگاری مناسب هستند. لجر توزیعشده روی حفظ سابقه تراکنشها و سایر فعالیتها در راستای قوانین خاص برای کنترل امتیازات و رفتار کاربران متمرکز است. این قوانین برای تمام تراکنشهای بیتکوین و همچنین شبکههای مختلف بلاکچین اعمال میشوند.
اتریوم برای اتخاذ قوانین بصری دقیق برای اداره بلاکچین، از ارز دیجیتال بومی خود یعنی اتر استفاده میکند. در عین حال، اتریوم عملکرد قدرتمند اتوماسیون را از طریق قراردادهای هوشمند تضمین میکند. بدینترتیب میتوان بلاکچین EVM یعنی اتریوم را در قالب یک ماشین حالت توزیعشده شناسایی کرد.
وضعیت اتریوم یک ساختار داده بزرگ است که میتواند تمام موجودیها و حسابها و همچنین وضعیت ماشین را در خود ثبت کند. وضعیت ماشین میتواند از یک بلوک به بلوک دیگر بر اساس مجموعهای از قوانین خاص تغییر پیدا کند. علاوه بر این، حالت ماشین همچنین میتواند در اجرای کد دلخواه ماشین، از انعطافپذیر باشد. ماشینهای مجازی اتریوم قوانینی را تعریف میکنند که میتوانند تغییرات حالت را از یک بلوک به بلوک دیگر تحت کنترل داشته باشند.
ماشینهای مجازی اتریوم چگونه چگونه عمل میکنند؟
مطلب مهم بعدی که باید درک کنید، این است که «ارز دیجیتال EVM چیست»؟ اصولا باید گفت ماشین مجازی اتریوم یک پایگاه داده عظیم برای ذخیره تمام حسابها و موجودیها در بلاکچین اتریوم است. علاوه بر این، EVM همچنین به عنوان یک حالت ماشین با قابلیت اجرای کد ماشین و تطبیق با افزودن بلوکهای جدید در دفتر کل بلاکچین کار میکند.
میتوان EVM را به عنوان یک موتور پردازش و همچنین یک پلتفرم نرمافزاری در نظر گرفت که در قالب یک کامپیوتر غیرمتمرکز کار میکند. توسعهدهندگان میتوانند از ماشینهای مجازی اتریوم برای ایجاد dApps، راهحلهای DeFi و بسیاری دیگر از برنامههای رمزنگاری مانند بازیهایی برای کسب درآمد و بازارهای NFT مانند OpenSea استفاده کنند. جالب اینجاست که توسعهدهندگان مجبور نیستند بین پلتفرمها یا زبانهای برنامهنویسی جابجا شوند؛ زیرا ماشین مجازی اتریوم امکان ایجاد dApps خود را در اتریوم با زبان برنامهنویسی Solidity سازگار با این ماشینها ارائه میدهد.
ماشین مجازی اتریوم بخشی جداییناپذیر از شبکه اتریوم است و مسئولیت اجرا و استقرار قراردادهای هوشمند را بر عهده میگیرد. بلاکچین اتریوم یک شبکه بزرگ همتا به همتا است که از گرههای مختلفی که به یکدیگر متصل هستند، تشکیل شده است. هر گره باید مسئولیت حفاظت از ثبات و امنیت کل اکوسیستم بلاکچین را بر عهده بگیرد. گرهها برای رسیدگی به مسئولیت خود و حفظ اجماع در سراسر شبکه بلاکچین اتریوم باید به EVM اتکا داشته باشند.
روش کار ماشینهای مجازی اتریوم
ماشین مجازی اتریوم درست مانند یک تابع ریاضی کار میکند؛ زیرا میتواند یک خروجی قطعی برای هر ورودی ایجاد کند. در واقع، میتوان اتریوم را با یک تابع انتقال حالت به صورت زیر توصیف کرد:
Y(S, T) = S’
حالت معتبر قدیمی که با S و مجموعه جدید تراکنشهای معتبر یا T، میتوانند تحت تابع انتقال حالت Y عمل کنند. نکته قابل توجه در عملکرد EVM، وضعیت و نیز تراکنشها است. اول از همه باید توجه داشت که وضعیت در EVM در واقع یک ساختار داده عظیم است. ساختار داده از تمام حسابهای مرتبط با یکدیگر از طریق هش یک رکورد نگهداری میکند. علاوه بر این، وضعیت عملکردهای بلاکچین EVM میتواند به یک هش ریشه خاص در بلاکچین اتریوم کاهش یابد.
یکی دیگر از عناصر مهم در عملکرد EVM به تراکنشها هستند. تراکنشها به دستورالعملهای حسابهای مختلف با امضای رمزنگاری اشاره دارد. ماشین مجازی اتریوم از دو نوع متمایز از تراکنشها پشتیبانی میکند که یکی منجر به تماسهای پیام میشود و دیگری با ایجاد قرارداد سروکار دارد. ایجاد قرارداد میتواند منجر به توسعه یک حساب قرارداد جدید با بایت کد قرارداد هوشمند کامپایلشده شود. زمانی که حساب دیگری با قرارداد مربوطه تماس پیامی برقرار میکند، قرارداد بایت کد مشخصشده را اجرا میکند.
عملکرد دستورالعملهای EVM
عملکرد EVM در بلاکچین نیز بر دستورالعملهای این ماشینها تمرکز دارد. ماشین مجازی اتریوم مرحله اجرا را در قالب یک ماشین پشتهای با عمق حدود 1024 آیتم پشت سر میگذارد. هر آیتم در ماشین پشته یک کلمه 256 بیتی است که استفاده بهتر را با رمزنگاری 256 بیتی تسهیل میکند. به عنوان مثال، اجرای ماشین مجازی اتریوم با امضای secp256k1 یا هش Keccak-256 وارد تداخل نمیشود.
در طول فرآیند اجرا، EVM یک حافظه گذرا را در قالب یک آرایه بایت آدرسدهی کلمه تسهیل میکند. حافظه گذرا بین تراکنشها دائمی نیست. با این حال، قراردادها دارای یک آزمایش ذخیرهسازی Merkle Patricia در قالب یک آرایه کلمات قابل آدرس دهی هستند. آزمایش ذخیرهسازی با حساب مربوطه و همچنین با وضعیت جهانی مرتبط است. در نهایت، بایت کد کامپایلشده در قالب چند کد عملیاتی اجرا میشود. علاوه بر این، ماشین مجازی اتریوم میتواند عملیاتهای مختلف پشته محور بلاک چین را نیز پیادهسازی کند.
منظور از Opcode چیست؟
عد عملیاتی یا Opcode یکی از جنبههای جداییناپذیر در پیادهسازی ماشین مجازی اتریوم است. در حال حاضر تقریبا یکصد و پنجاه Opcode مختلف در اتریوم وجود دارد. اهمیت کدهای عملیاتی در درک ماشین مجازی اتریوم در شناسایی آن به عنوان یک سیستم کامل تورینگ، مشهود است. ماشین مجازی اتریوم بر اساس توانایی خود در اجرای دستورالعملها یا کدهای عملیاتی در سطح ماشین، به عنوان یک سیستم کامل تورینگ صلاحیت پیدا میکند.
کدهای عملیاتی پشتیبانیشده در ماشین مجازی اتریوم به آن در انجام وظایف خاص مرتبط با قراردادهای هوشمند یا تراکنشهای رمزنگاری کمک میکنند. این کدها برای چندین کار، از جمله ثبت دادهها و حساب و همچنین بازیابی اطلاعات بلوک، کارکرد موثری دارند. همچنین مهم است که به یاد داشته باشید کدهای عملیاتی مستقیما در ماشین مجازی اتریوم اسکریپت نمیشوند و میتوانند به توسعهدهندگان کمک کنند تا قراردادهای هوشمند ایجاد کنند و البته بدون زحمت با آنها تعامل داشته باشند.
مزایای ماشینهای مجازی اتریوم
یکی از بارزترین مزایای ماشین مجازی اتریوم، بلاکچینهای سازگار آن است. رشد اتریوم به عنوان انتخاب اول برای توسعه dApps مشکلات تراکنشهای کندتر و هزینههای بالای گاز را ایجاد کرد. بنابراین، توسعهدهندگان تصمیم گرفتند dApps را در سایر شبکههای بلاکچین بدون مجوز ایجاد کنند. بلاکچینهای سازگار با ماشین مجازی اتریوم میتوانند راهحلی برای فعالسازی قابلیت همکاری بین dApps و سایر شبکههای بلاکچین بر اساس اصول EVM ارائه دهند. برخی از نامهای آشنا در این اکوسیستم بلاکچین عبارتند از Avalanche، Tron، Cardano و Polygon.
علاوه بر این، میتوان بسیاری از مزایای دیگر فراتر از قابلیت همکاری بلاکچین ماشین مجازی اتریوم را کشف کرد. کاربران میتوانند در کنار ایجاد سهولت بهتر برای جابجایی dApps از جابجایی یکپارچه داراییها بین شبکههای ماشین مجازی اتریوم استفاده کنند. علاوه بر این، قابلیت همکاری تضمین میکند که موانع کمتری برای ورود توسعهدهندگان اتریوم وجود خواهد داشت.
کاربردهای متنوع EVM
تعریف ماشین مجازی اتریوم و عملکرد آن میتواند به شما در تجسم برنامههای بالقوه آن کمک کند. این ماشینها چگونه میتوانند تبدیل به نیروی محرکه به پروژههای واقعی شوند؟ در توکنهای ERC-20 که از طریق قراردادهای هوشمند ایجاد شدهاند، میتوانید پاسخهایی به «ارز دیجیتال ماشین مجازی اتریوم چیست» بیابید. ساختار داده مرتبط با قراردادهای هوشمند توکنهای ERC-20 از نامگذاری، توزیع و نظارت بر توکنها پشتیبانی میکند.
جالب اینجاست که توکنهای ERC-20 میتوانند نقش مهمتری را فراتر از خدمت به عنوان رمزارز ماشین مجازی اتریوم ایفا کنند. دامنه ماشینهای مجازی اتریوم همچنین شامل توکنهای ERC-721 است که به ظهور NFTها دامن زده است. برخی از موارد استفاده دیگر از ماشین مجازی اتریوم به DAOها اشاره دارد که یک ساختار سازمانی مستقل ارائه میدهند.
ماشین مجازی اتریوم مسیر آینده بلاکچین است
ماشین مجازی اتریوم عملکرد چندین کامپیوتر متصل به شبکه را در بر میگیرد. علاوه بر این، میتوان EVM را به عنوان یک محیط انعطافپذیر و ساده برای ایجاد و استقرار قراردادهای هوشمند در نظر گرفت. با وجود تحولات بزرگی که توسط ماشین مجازی اتریوم در اکوسیستم بلاکچین به وجود آمده، این فناوری برای خواندن و همینطور اجرای کد، توسط تعدادی از پروژههای بلاکچین نیز بهبود یافته است.
پلتفرم هوشمند معاملات رمزارز هیتوبیت در طی ۱۲ سال تجربه کاری خود بر این باور بوده است که همزمان با پیشرفت فناوری، سبک زندگی نیز دستخوش تغییر شده و روزی فرا خواهد رسید که همه افراد با رمزارزها و دنیای بلاکچین ارتباط تنگاتنگ خواهند داشت. ماموریت ما در هیتوبیت، تسهیل روند استفاده از ارزهای دیجیتال، تحقق آزادی مالی و نیز بهبود سطح زندگی مردم جامعه است. برای شروع معاملات رمزارز با استفاده از بستر هیتوبیت، کافی است همین امروز در پلتفرم هوشمند ما ثبت نام کنید.