ارتباط گس با روند اجرای EVM چیست؟

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

گس در ethereum virtual machine

بنابراین، به هر آپ کد یک هزینه گس تخصیص داده می‌شود و هرچه این کد دستور پیچیده‌تر باشد، این فی نیز بالاتر خواهد بود. در حال حاضر، هزینه اولیه آغاز هر تراکنش 21,000 گس است. علت دریافت کارمزدهای گس، جبران زحمت ولیدیتورهایی است که مسئول بررسی و حصول اطمینان از اعتبار اطلاعات تراکنش‌ها و عدم وجود استثناء یا خطا در EVM هستند.

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

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

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

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

بنابراین، بسیاری از بلاک چین‌های پراستفاده امروزی نیز به‌خاطر وجود چنین تعامل متقابلی از مدل سازگار با Ethereum Virtual Machine بهره می‌برند. از جمله بزرگترین بلاک چین‌های فعال در فضای EVM می‌توان موارد زیر را نام برد:

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

تعامل پذیری اکوسیستم اتریوم

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

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

انتقال آسان برنامه‌های غیر متمرکز

ماشین‌های مجازی اتریوم مهاجرت و ورود دی‌اپ‌ها به زنجیره‌های جدید بدون نگارش مجدد هرگونه کدی را میسر کرده‌اند. استفاده از نوع دیگر ماشین‌های مجازی نظیر Move-Vm یا Wasm به منابع بیشتر نیاز داشته و انتقال اپلیکیشن‌های غیرمتمرکز را بسیار دشوارتر می‌سازند.

موانع ورود کمتر برای توسعه‌دهندگان

ماشین مجازی اتریوم همچنین دارای موانع ورود پایین برای توسعه‌دهندگان است. هیچ جای نگرانی درباره ذات و طبیعت EVMها یا سازگاری کدها با این ماشین‌های مجازی نیست. همچنین از آنجایی که توسعه‌دهندگان می‌توانند از ابزارهای اتریوم آشنا نظیر Waffle و MetaMask استفاده کنند، نیازی به یادگیری یک زبان برنامه‌نویسی جدید نیست.

محدودیت‌های دانش فنی، گس و تمرکزگرایی

سوای مزایای Ethereum Virtual Machine، این فناوری محدودیت‌های خاص خود را نیز دارد. مثلا، استفاده از این ماشین مجازی نیازمند دانش و تجربه فنی است و آشنایی با سالیدیتی، جاوا و دیگر زبان‌ها از ضروریات کار با آن محسوب می‌شود.

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

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

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

اکنون که با EVM و نحوه کار آن آشنا شدید، بهتر است به کاربردهای آن در پروژه‌های اتریومی نگاهی بیندازیم.

توکن‌های ERC20

بسیاری از پروژه‌های اتریومی و برنامه‌های غیر متمرکز به کاربران خود توکن ERC20 پاداش می‌دهند که منحصرا برای انتقال راحت بین آدرس‌ها و حفظ ارزش یکسان در کل شبکه طراحی شده‌اند. توکن‌های ERC20 توسط قراردادهای هوشمند مطیع ساختارهای داده تعریف‌شده، ساخته می‌شوند. این ساختار داده مسئول نام‌گذاری، توزیع و نظارت بر توکن مربوطه است.

البته این ارزها کاربردی بیشتر از صرفا ماشین مجازی اتریوم دارند. مثلا، Nexus Mutual که ارائه‌دهنده بیمه برای اسمارت کانترکت‌هاست، برای فراهم‌آوری توانایی ادعای خسارت و پوشش خرید، از توکن NXM مبتنی بر استاندارد ERC20 استفاده می‌کند.

نمونه دیگر، پروژه لایوپیر (Livepeer) است. با اینکه لایوپیر شناخته‌شده‌ترین پروژه در مبحث EVMها نیست، اما این شبکه استریم ویدیو غیر متمرکز از توکن ERC20 خود به‌نام LPT برای پاداش‌دهی به کاربران تامین‌کننده منابع شبکه بهره می‌برد. این‌ها تنها نمونه‌های کوچکی از طیف گسترده اپلیکیشن‌های غیرمتمرکز هستند که به مدیریت توکن‌های ERC20 می‌پردازند.

بازارسازهای خودکار و صرافی‌های غیر متمرکز

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

مینت و ساخت توکن‌های غیر مثلی (NFT)

یکی دیگر از استانداردهای محبوب، ERC721 است. از قراردادهای هوشمند اینگونه ارزهای دیجیتال برای مینت توکن غیر مثلی یا همان ان اف تی (NFT) استفاده می‌شود که دارای ارزش منحصربه‌فرد در بلاک چین اتریوم هستند.

امروزه، یک کد توانایی دموکراتیک کردن دسترسی مجازی به بازارهای هنری را دارد. پروژه‌های گیمینگ نظیر گادز آنچیند (Gods Unchained) و اکسی اینفینیتی (Axie Infinity) نیز از این توکن‌ها برای آیتم‌ها و کالکتیبل‌های درون بازی خود استفاده می‌کنند.

وام‌دهی در دیفای

اداسواپ (AdaSwap) یک صرافی غیرمتمرکز مبتنی بر شبکه کاردانو به‌همراه یک بازار ساز خودکار است. اخیرا، این پروژه از همکاری خود به Milkomeda خبر داده بود. میلکومدا با استفاده از راه‌حل‌های لایه 2 برای ساخت یک زنجیره جانبی یا همان سایدچین (SideChain)، به بلاک چینی‌های ناسازگار با ماشین مجازی اتریوم نظیر کاردانو اجازه می‌دهد تا با آن سازگار شوند. با استفاده از این ساید چین، کاربران نیز قادر به انتقال دارایی‌ها و استفاده از دی‌اپ‌های کاردانو روی اتریوم و بالعکس هستند. اداسواپ و میلکومدا هر دو از این همکاری برای ادغام و یکپارچگی Ethereum Virtual Machine درون اکوسیستم کاردانو بهره می‌برند.

سازمان‌های خودگران غیر متمرکز

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

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

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

ماشین مجازی EVM یک نرم افزار متن بسته خاص نیست، بلکه مجموعه‌ای از مشخصات و چارچوب‌ها برای ساخت ابزارهای بلاک چین اتریوم است. بنابراین، قابلیت نوشتن Ethereum Virtual Machine به هر زبانی وجود دارد. البته تنها نیازمندی این است که باید تمام پیاده‌سازی‌های EVM منطبق بر مشخصات توصیف‌شده در وایت پیپر اتریوم باشند.

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

  • go-EVM: نوشته‌شده کاملا به زبان Golang
  • SputnikEVM: نوشته‌شده کاملا به زبان Rust
  • Py-EVM: نوشته‌شده کاملا به زبان Rust
  • evmone: اکثر آن به زبان ++C و قسمتی به زبان CMake
  • ethereumjs-VM: برخلاف نام آن، تقریبا کاملا به زبان TypeScript و کمی به زبان جاوااسکریپت است.
  • eEVM: تقریبا کاملا به زبان ++C و قسمت کمی به زبان CMake
  • Hyperledger Burrow: بیشتر به زبان GO، اما همچنین TypeScript، سالیدیتی و دیگر زبان‌ها
  • hevm: نوشته‌شده به زبان Haskel

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

مقایسه EVM با سایر ماشین های مجازی

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

پارا استیت اس‌اس‌وی‌ام (ParaState SSVM)

ماشین مجازی پارا استیت برای مقیاس پذیری دی‌اپ‌ها در اتریوم از مشکل ریشه‌ای آن یعنی «اجرای اسمارت کانترکت‌ها» کار را آغاز کرده و با بهبود زمان اجرای این جزء کلیدی در هر برنامه غیر متمرکزی، مشکلات ذاتی EVM را از بین می‌برد.

ماژولی به‌نام SSVM-Ewasm Substrate در این ماشین مجازی به توسعه‌دهندگان اجازه می‌دهد تا اپلیکیشن‌های غیرمتمرکزی را بسازند که قادر به پیاده‌سازی و اجرای قراردادهای هوشمند اتریوم در اکوسیستم پولکادات هستند تا کاربران از مزیت کارمزدهای پایین و سرعت بالای تراکنش‌ها بهره‌مند شوند.

ماشین مجازی پارا استیت

ماژول SSVM یک ماشین مجازی تحت استاندارد Ethereum-flavored WebAssembly یا به‌طور خلاصه EWASM، یک جزء کلیدی زیرساخت برای بلاک چین‌های عمومی است. تمامی اپلیکیشن‌ها فعلی و آتی اتریوم نیز قادر به اجرا روی ماشین مجازی Ewasm پارا استیت هستند. به عبارت دیگر، توسعه‌دهندگان می‌توانند اسمارت کانترکت‌های سازگار با اتریوم را نوشته و آن‌ها را روی یک سیستم ساب استریت هم‌تعاملی پرسرعت و مقیاس پذیر اجرا کنند.

بنابراین توسعه‌دهندگان با پیاده‌سازی WebAssembly به‌عنوان راه‌حل محوری فناوری خود، قادر به نگارش کدها به بیش از 20 زبان برنامه‌نویسی از جمله پراستفاده‌ترین زبان‌ها برای پیاده‌سازی وب 3 هستند.

ماشین مجازی روت استاک (RVM)

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

ماشین مجازی RSK مسئول فعال‌سازی عملکرد اسمارت کانترکت‌هاست و سازگاری فوق بالایی با EVM دارد. این ماشین مجازی یک تورینگ کامل است و به‌طور متوسط تراکنش‌های قراردادهای هوشمند را زیر 30 ثانیه تایید می‌کند.

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

به‌لطف سازگاری با Ethereum Virtual Machine، امکان انتقال قراردادهای هوشمند اتریوم به RSK با کمترین زحمت برای بهره‌مندی از قابلیت‌های فنی این ماشین مجازی (تا 300 تراکنش در ثانیه) و امنیت شبکه بیت کوین وجود دارد.

در آینده، RSK به‌دنبال پشتیبانی از ماشین‌های مجازی بیشتر با عملکرد بهتر مبتنی بر بایت کدهای جاوا یا Wasm است. با حضور این بهبودها، و موازی‌سازی عملیات، این ماشین مجازی جدید قادر به اجرای وظایف به‌صورت موازی و قالب کد سریع‌تر و بهینه‌تر و در نتیجه، بهبود مقیاس پذیری و امنیت است.

ماشین مجازی نئو (NeoVM)

این پروژه از سال 2017 تا کنون بر پشتیبانی از قراردادهای هوشمند و دی‌اپ‌های مرتبط با انتقال دارایی‌های دیجیتال و اعتبارسنجی هویت دیجیتال متمرکز بوده است. نئو 3.0 آخرین به‌روزرسانی این شبکه برای اتصال دیجیتال هویت‌ها، قراردادها و دارایی‌ها از طریق مدل قیمت‌گذاری به‌روز و اوراکل‌های داخلی دارای پشتیبانی اسمارت کانترکت‌های جدید از طریق ماشین مجازی نئو است.

این ماشین مجازی به بهبودهایی تجهیز شده که عملکرد، کاربرد و قابلیت‌های توسعه در شبکه نئو را افزایش داده و باعث ساده‌سازی هرچه بیشتر معماری فنی و برخی از ویژگی‌های نوآورانه نظیر NeoFS و NeoID شده است. ماشین مجازی نئو برای پشتیبانی از تعامل متقابل و دیگر زنجیره‌ها برای حل چالش‌های دنیای واقعی طراحی مجدد شد. از طریق NeoVM، قراردادهای هوشمند پشتیبانی توسعه کافی را برای مهندسان سازنده برنامه‌های غیرمتمرکز در اکوسیستم نئو فراهم کرده‌اند.

پروتکل اسمارت کانترکت نئو به‌نام NeoContract، با استفاده از زبان‌های برنامه‌نویسی محبوب نظیر استانداردهای صنعت همچون پایتون، جاوا، ++C و جاوااسکریپت، توانایی اجرا و مدیریت قراردادهای هوشمند را دارد. این یعنی تقریبا تمامی توسعه‌دهندگان قادر به استفاده از این سیستم هستند.

نئو VM

نئو وی‌ام یک ماشین مجازی استک‌محور است. علاوه بر این، NeoVM اسمارت کانترکت‌ها را در فایل‌های بایت کد متحدالشکل NVM کامپایل می‌کند که سپس دی‌کد و توسط ماشین مجازی مربوطه اجرا می‌شوند.

ماشین مجازی الگورند (AVM)

در ماشین مجازی الگورند، قراردادهای هوشمند با‌ عنوان “Stateful” شناخته می‌شوند. این قراردادها حاوی منطقی هستند که قابلیت پیاده‌سازی و سپس فراخوانی از راه دور آن‌ها از هر نودی در بلاک چین الگورند وجود دارد. AVM سپس یک زبان مشترک به‌نام Transaction Execution Approval Language یا به‌طور خلاصه TEAL را ترجمه می‌کند. زبان TEAL را می‌توانید به‌مثابه شکر مصنوعی برای بایت کدهای AVM در نظر بگیرید.

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

ماشین مجازی الگورند

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

الگورند امیدوار است تا با این ماشین مجازی جدید، توسعه‌دهندگان قادر به نگارش قراردادهای هوشمند به زبان پایتون یا ریچ (Reach)، زبانی ساده شبیه به جاوااسکریپت، باشند. از آنجایی که تعامل‌پذیری با Ethereum Virtual Machine در اکوسیتم ماشین‌های مجازی امری ضروری است، ماشین مجازی الگورند نیز امکان نگارش اسمارت کانترکت‌ها با زبان‌های تورینگ کامل را فراهم کرده است.

جمع‌بندی ؛ آینده ماشین مجازی EVM

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

در رابطه با Ethereum Virtual Machine و بلاک چین اتریوم، تازه در ابتدای مسیر هستیم و مشابه بسیاری از اتفاقات دیگر نظیر تکامل کامپیوترهای شخصی در دهه 90 میلادی به سوی موجودیت‌های پردازنده قدرتمند امروزی، در آینده نزدیک نیز سرعت، پیچیدگی و توانایی ماشین مجازی این شبکه افزایش خواهد یافت.

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

تهیه شده در بیت 24