ماشین مجازی اتریوم چیست؟ آشنایی با قهرمان همه‌کاره شبکه اتریوم

حمیده آقایی پور

زمان مطالعه :

6 دقیقه

اتریوم اصلی‌ترین و بزرگترین بلاک چینی است که امکان استفاده از قراردادهای هوشمند را ارائه می‌کند. نقطه تمایز اصلی بین بیت کوین ‌و اتریوم پشتیبانی از همین قراردادهای هوشمند (Smart contract) است. با اسمارت کارنترکت‌ها تقریبا می‌شود هر کاری را در یک بلاک چین انجام داد. البته موضوع صحبت امروزِ ما قراردادهای هوشمند نیست. در این مقاله، می‌خواهیم شما را با ماشین مجازی اتریوم (EVM) آشنا کنیم؛ سیستمی که ساخت و اجرای این قراردادهای غیرمتمرکز را ممکن کرده است. مهاجرت شبکه اتریوم از سازوکار اثبات کار (PoW) به سمت اثبات سهام (PoS) و غیرممکن شدن استخراج اتریوم، این شبکه را بیشتر از پیش برای توسعه قراردادهای هوشمند جذاب کرد. این فرایند را اتریوم ۲ یا همان مرج Ethereum نام گذاری کرده‌اند.

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

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

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

ماشین مجازی اتریوم (Ethereum Virtual Machine) که نام کوتاه‌شده آن EVM است، نقشی حیاتی در فعالیت و ادامه حیات بلاک چین اتریوم (اتریوم چیست؟) دارد. می‌توانید این ماشین را یک کامپیوتر درنظر بگیرید. البته کامپیوتری فوق‌تخصصی که کارش پردازش قراردادهای هوشمند، اجرای برنامه‌های غیرمتمرکز (DApps)، حساب‌کردن کارمزد (Gas Fee) تمام فعالیت‌ها، بررسی اعتبار و ثبت تراکنش‌ها و خلاصه انجام تمام محاسبات مورد نیاز در شبکه اتریوم است.

یکی از مهمترین ویژگی‌های ماشین مجازی اتریوم این است که این ماشین یک سیستم تورینگ کامل (Turing Complete) محسوب می‌شود؛ یعنی محدودیتی در محاسبه و اجرای انواع الگوریتم‌ها و مسائل نداشته و آمادگی پذیرش هر نوع قرارداد هوشمند پیچیده‌ای را دارد.

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

برنامه غیرمتمرکز چیست؟ در این مقاله بخوانید

مفهوم Ethereum Virtual Machine

EVM یک اَبَرکامپیوتر است که هر شخصی از هر کجای دنیا، می‌تواند به آن دسترسی داشته باشد و از خدمات آن استفاده کند. این رایانه با اینکه مجازیست، می‌تواند کاملا از پسِ نیازهای پردازشی شبکه‌ای مانند اتریوم بربیاید.

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

بیایید برای چند لحظه از دنیای ارزهای دیجیتال و بلاک چین خارج شویم و در تجربه‌های روزمره خود به دنبال موردی مشابه بگردیم؛ مثلا برنامه‌هایی به نام ماشین مجازی (Virtual Machine) که به ما اجازه می‌دهند، نرم‌افزار‌های مربوط به سیستم‌عامل‌های متفاوت را روی کامپیوتر و سیستم‌عامل اصلی خود اجرا کنیم.

مفهوم EVM

ممکن است سیستم‌عامل اصلی رایانه ما لینوکس یا مک باشد، اما قصد استفاده از یک نرم‌افزار ویندوزی را داشته باشیم. در این‌جا، می‌توانیم به‌وسیله یک Virtual Machine، برنامه تحت ویندوز را روی انواع دیگری از سیستم عامل اجرا کنیم.

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

استاندارد ERC-20 چیست؟

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

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

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

قراردادهای هوشمند در EVM

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

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

نحوه کارکرد ماشین مجازی اتریوم

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

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

این قطعات سخت‌افزاری، زبان‌های برنامه‌نویسی پیشرفته‌ای مثل سالیدیتی را نمی‌فهمند. بنابراین، ما به نوعی مترجم نیاز داریم تا برنامه‌ نوشته‌شده به دست انسان را به زبان قابل فهم برای ماشین نزدیک‌ کند. EVM کد قراردادهای هوشمندی که با زبان‌های برنامه‌نویسی ساخته شده را به زبانی ساده‌‌تر (ByteCode) تبدیل می‌کند. به‌این‌صورت، کدهای هر برنامه به زبان صفر و یکِ ماشین شبیه‌تر خواهد شد.

شبکه‌های سازگار با EVM

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

شبکه‌های سازگار با ماشین مجازی اتریوم

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

مزایای ماشین مجازی اتریوم

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

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

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

توضیحات تخصصی و زبان اصلی درباره EVM را در وب سایت بنیاد اتریوم مطالعه کنید. به عقیده بسیاری این بنیاد قلب تکنولوژی بلاک چین به حساب می‌آید که بنیانگذار اصلی آن کسی نیست جز ویتالیک بوترین، برنامه نویس کانادایی-روسی.

اگر از مطالعه این مطلب لذت بردید، پیشنهاد می‌کنیم به مقاله استیک اتریوم نیز سری بزنید.

آیا ماشین مجازی اتریوم به هدف خود رسیده است؟

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

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

در این مقاله به پاسخ سوالات شما درباره ماشین مجازی اتریوم پرداختیم. اگر مایل به دانستن در هر زمینه از دانش بی‌انتهای رمزنگاری هستید سوال خود را در بخش نظرات این مقاله با ما درمیان بگذارید.

0
اشتراک در
اطلاع از
guest
0 تمام دیدگاه‌ها
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها

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

نظر بدهید

0

3

نظر مخاطبان (0)