ماشین مجازی اتریوم چیست؟ - نگاهی کلی به EVM در مجله کریپتو
نااریب زمان تقریبی مطالعه 3 دقیقهپیش نیاز فهم ماشین مجازی اتریوم درک ماشین تورینگ کامل است، با خواندن این مطلب فهم اصالت کلمات رایج اتریوم آسان می شود.
بلاکچین از یک فناوری ویژه به جریانی اصلی تبدیل شده است. قطعا شما در مورد بلاکچین ها در خبر ها شنیده یا در پست های اینترنتی خواندهاید و احتمالا متوجه شدهاید که که حوزه توانائی و نفوذ آن فقط به موارد مالی و یا فناوری محدود نمیشود. بلاکچین ها با توانایی دگرگونی صنایع اهمیت جهانی پیدا کرده اند. اگر به تازگی با بلاکچین ها آشنا شده اید، یادگیری مطالبی در مورد اتریوم و ماشین مجازی اتریوم، شروع خوبی است.
اگر تازه واردید و یا برنامه نویسی هستید که تازه با بلاکچین آشنا شده اید، احتمالا با اصطلاح ماشین مجازی اتریوم(EVM) و چیستی آن و چگونگی شکل گیری این ایده برخورد میکنید و در ذهنتان سوال ایجاد میشود. سازندگان اتریوم از روز اول دیدگاهی شفاف داشتند و میخواستند ایده ای را خلق کنند که شبیه "کامپیوتری جهانی" یا اینترنتی باشد؛ اما چگونه این ایده بلند پروازانه را به اجراء در آوردند؟
بخشی از این پاسخ در ماشین مجازی اتریوم (EVM) پنهان است. علاوه بر این مورالیس(Moralis) به عنوان میان افزار برتر بلاکچین از پشتیبانی وسیعی از EVM برخورداراست. در این مطلب از مجله کریپتو قصد داریم به چیستی ماشین های مجازی اتریوم(EVM) بپردازیم و توضیح دهیم وقتی dApps ها را به عنوان اپلیکیشن های غیر متمرکز می سازید؛ پشتیبانی (Moralis) تا چه اندازه کار را آسان میکند.
پیش نیاز مطالعه در مورد ماشین های مجازی اتریوم یا (EVM)، دانستن سابقه مفاهیمی مانند ماشین های کامل تورینگ و ماشین های مجازی است و این که اکوسیستم های غیر متمرکز چگونه کار میکند. پس پیشنهاد میکنیم مطلب «تفاوت بین پایگاه داده متمرکز و پایگاه داده توزیع شده» را بخوانید.
بیتکوین اولین بار اکوسیستم غیر متمرکز را معرفی کرد و بعد از چند سال از راه اندازی بیتکوین، توسعه دهندگان با ایده کامپیوتر ها یا ماشین های مجازی کنترل کننده جهان آشنا شدند. ایده بلاکچین های قدرتمندتر و پیچیدهتر بیشتر ذهنشان را به خود مشغول کرد که به طور مستقیم به Web3 و وب غیر متمرکز مربوط میشود؛ بنابراین بهتر است به خصوصیات EVM ها بپردازیم.
ماشین مجازی اتریوم چیست؟
هنگام خواندن مطلبی در مورد اتریوم یا توضیحات مختلف در مورد اتریوم در اینترنت شاید از خود بپرسید "ماشین مجازی اتریوم چیست؟" درک و فهم EVM ها به عنوان اکوسیستمی کامل لازم است؛ اما قبل از پاسخ به این سوال باید روش یادگیری خود را بخش بندی کنید. اتریوم دارای بخش های زیادی است و شما باید بدانید چگونه همه با هم هماهنگ عمل میکنند.
ماشين مجازی
ماشین های مجازی چیستند؛ ماشین های مجازی در سطحی بالاتر از سیستم عامل های معمولی یا OS فعالند و مفاهیم را انتزاع میکنند و بر خلاف ویندوز یا OIS در بالای سیستم عامل های معمولی ایجاد میشوند تا بتوانند عملکرد مشابهی با ماشین های محاسباتی فیزیکی داشته باشند.
در حقیقت ماشین های مجازی یا VM ها با شبیه ساز نوعی معماری مجازی هستند که امکان عملکرد ماشین های محاسباتی فیزیکی را بر روی هر سیستم عامل یا سخت افزاری ایجاد میکنند و آن ها را به موتوری عالی برای اکوسیستمی غیر متمرکز تبدیل میکنند.
از مسیر VM میتوان بدون در نظر گرفتن محل یا جغرافیای شرکت کنندگان از منابع آن ها برای ساخت و پردازش و اجرای خواسته هایشان بهره برد. از این نظر، EVM مانند یک پردازنده یا کامپیوتر جهانی عمل میکند که قدرت محاسباتی انباشته شده خود را به توسعه دهندگان میدهد. توسعه دهندگان نیز از این منبع برای ایجاد قراردادهای هوشمند و برنامه های غیرمتمرکز یا dApps استفاده میکنند.
هر مشارکت کننده از هر کجا و از راه "نود" های اتریوم امکان دسترسی به ماشینی مجازی را دارد . واگذاری امتیاز قدرت محاسباتی به شبکه، داوطلبانه است و توسط چندین انگیزه کنترل میشود. با توجه به تمام ویژگیهای ماشینهای مجازی و نیاز به پردازش همه دادهها از طریق یک شبکه داوطلبانه، انتخاب نوع معماری VM برای اتریوم منطقی است.
کامل بودن تورینگ چیست؟
برای پاسخ به سوال «ماشین مجازی اتریوم چیست؟» با اصطلاحاتی مانند کامل بودن تورینگ مواجه خواهید شد. EVM تورینگ کامل است؛ این دقیقا به چه معناست؟ این مفهوم از طریق ایده های دانشمند مشهور کامپیوتر آلن تورینگ ایجاد شده است. او ایده هایی را در مورد آن چه که یک کامپیوتر فرضی یا ماشین فکر میتواند انجام دهد، توسعه داد. وی استدلال کرد که رایانهها مانند انسانها فکر نمیکنند، بلکه برای حل مسائل از مجموعهای از قوانین پردازش داده پیروی میکنند.
ماشین های تورینگ چگونه فکر میکنند؟
ماشین تورینگ، که زمانی توسط تورینگ به عنوان یک ماشین (به معنای ماشین خودکار) از آن یاد میشد، ماشینی فرضی است که مفهوم تفکر غیرانسانی یا ماشینی را مجسم میکند. فرآیند تفکر در چارچوب الگوریتم ها عینی میشود.
تورینگ در مقالهاش اشاره کرده که چنین ماشینی باید یک حلقه نوار را با خطی از نمادها یا توابع پردازش کند که میتواند به عقب و جلو حرکت کند. همچنین میتوان یک هد خواندن/نوشتن را تصور کرد که بین این توابع حرکت میکند. بنابراین، دستگاه میتواند یک نماد را پردازش کند یا آن را تغییر دهد. چنین ماشینی فقط میتواند توجه خود را در یک زمان به یک "وضعیت" معطوف کند. (مفهوم "وضعیت" در درک EVM ها مفید است).
به طور فرض، هیچ محدودیتی برای این نوار وجود ندارد مگر محدودیت های فیزیکی و اگر آن را مشابه حافظه کامپیوتر در نظر بگیریم. با اضافه کردن به طول نوار، فضای حافظه کامپیوتر افزایش یافته است. پس وقتی کامپیوتر مجبور است مجموعه ای از دستورالعمل ها را دنبال کند، داده ها و پاسخ ها به چنین دستوراتی فقط با محدودیت های فیزیکی محدود میشود. این ایده ها برای درک ماشین مجازی اتریوم بنیادین است؛ چون مفاهیم بنیادین اولیه و معماری آن را شکل می دهند. از اصول بیشتر فیزیکی تورینگ، دیگران مشابه آن را با اصول بنیادین یکسانی ایجاد کردند.
جاوا اسکریپت در ETH
به طور خلاصه، سیستم تورینگ کامل میتواند هربخش منطقی از یک تابع محاسباتی را انجام دهد. زبان های برنامه نویسی، نه فقط ماشین ها، از کامل بودن تورینگ استفاده میکنند. یکی از این موارد جاوا اسکریپت است. جاوا اسکریپت یک زبان برنامه نویسی مهم است که برای کار با اتریوم و EVM و همچنین درک ترکیب و هماهنگی قسمت های مختلف زبان برنامه نویسی قراردادهای هوشمند اتریوم یعنی Solidity (زبان برنامه نویسی اتریوم)مورد نیاز است.
ماشین مجازی اتریوم یا EVM چیست؟
حالا شما ایده ای اولیه از ماهیت ماشین تورینگ کامل و مروری کلی از روش کار ماشینهای مجازی دارید. در این مرحله به درک ماشین مجازی اتریوم و به خصوص EVM نزدیکتر شدهایم. در سالهای اخیر، اتریوم مورد توجه قرار گرفته است، زیرا ثابت شده است که اتریوم پیشرفتی مفهومی در بلاکچین و ایجاد شبکههای غیرمتمرکز داشته که چیزی بیشتر از پردازش تراکنشهای نقدی پایه انجام میدهند.
ماشین مجازی اتریوم پلتفرمی است که توسعه دهندگان میتوانند از آن برای ایجاد برنامه های غیرمتمرکز (DApps) در اتریوم استفاده کنند. این ماشین مجازی جایی است که تمام حسابهای اتریوم و قراردادهای هوشمند در آن وجود دارند.
اگر توسعهدهنده با مهارتی هستید و میدانید که اتریوم چگونه کار میکند و این انتقال شبکه به اتریوم 2.0 را مهم میدانید، خوب است این دانش را از ماشین مجازی اتریوم (EVM) به e WASM در اتریوم 2.0 به روز کنید و به اشتراک بگذارید.
ویژگی های ماشین مجازی اتریوم
اگر از قبل با بیتکوین آشنا باشید و از آن استفاده کنید، متوجه خواهید شد که چقدر سر راست و ساده است. بیتکوین در حالی که غیرمتمرکز است، اغلب با تراکنش های حاضر در ماشین مجازی خود سر و کار دارد. همچنین محدود به یک دفتر اصلی توزیع کننده غیرمتمرکز است.
ماشین مجازی در حالت توزیع شده
تلاش اتریوم برای چیزی بالاتر از طرح نهائی است. این فقط یک دفتر کل توزیع نیست، بلکه چیزی بسیار پیچیده تر است. وب سایت اصلی اتریوم آن را به عنوان یک «ماشین موقعیت توزیع» توصیف میکند. اتریوم نه تنها دادههای حسابها یا موجودیها را نگه میدارد، بلکه از کل وضعیت ماشین حفاظت میکند. ماشین در حالت توزیع با هر بلوک دیگری متفاوت است، زیرا ماشین با هر مجموعه ای از برنامه هایی که اجرا میکند طبق قوانین ثابت خاصی جا به جا میشود.شاید برایتان سوال شود «چه چیزی این تغییر حالات مبتنی بر قوانین خاص را تعیین میکند؟» این کار ماشین مجازی اتریوم است. پروتکل اتریوم همچنین از قراردادهای هوشمندی استفاده میکند که دستورالعمل های کدگذاری شدهای هستند که با ماشین مجازی اتریوم یا EVM تعامل دارند.
این قراردادهای هوشمند برنامه هایی هستند که بسیاری از جنبه های مختلف رفتار انسانی را پوشش میدهند یا حداقل آن ها را شبیه سازی میکنند. از این طریق میتوانید ببینید که چرا طراحی اساسی اتریوم باید بسیار پیچیده تر از بیتکوین باشد.
در حالی که اتریوم منطبق برساختار پیچیدهای است، زبان برنامه نویسی رو به توسعه آن چنین نیست. برای جذب بیشتر مشارکت کنندگان در اکوسیستم اتریوم، موسسین زبان برنامه نویسی کاربر پسندتری را انتخاب کردند تا یادگیری آن نسبتاً آسان باشد. Solidity، زبانی است که قراردادهای هوشمند اتریوم و DApps با آن نوشته میشود و نسبتاً ساده طراحی شده است. الگوهای رفتاری و ارتباطی انسان را شبیه سازی میکند و تلاش میکند در ترکیب بندی پیکره خود گویاتر و کاربرپسندتر باشد. شما این زبان کاربرپسند و قوی را دارید که به دستگاه می گوید چه کاری انجام دهد.
قراردادهای هوشمند
هنگام تلاش برای درک ماشین مجازی اتریوم، به درک خوبی از قراردادهای هوشمند نیاز دارید. در سادهترین تعریف، قراردادهای هوشمند قراردادهایی بین طرفین هستند که در خطوط کد نوشته میشوند. این قرارداد ها برای انجام کار نیازی به نظارت طرف ثالثی ندارند. آنها به طرفین اجازه میدهند تا به صورت ناشناس، از سراسر جهان، بدون هیچ مجوزی برای تایید تراکنشهای مشترک، با یکدیگر به روشی قابل اعتماد معامله کنند. اجرای چنین معاملاتی نیز به هیچ سیستم قانونی یا سازوکار اجرایی بستگی ندارد. قراردادهای هوشمند به دلیل نحوه طراحی شبکه اتریوم امکان پذیر شده است. آن ها همچنین به ماشین مجازی اتریوم یا EVM دسترسی دارند. قراردادهای هوشمند، همانطور که در بلاکچین اجرا میشود، غیر قابل تغییر و شفاف هستند. از آن جایی که قراردادهای هوشمند تغییر ناپذیرند، باید بتوانند از طریق "نود" ها بدون خطر اجرا شوند.
EVM یا ماشین مجازی اتریوم دارای ویژگی های زیر است:
- قطعی است.
- حفاظت شده است.
- پایان پذیر است.
در ادامه به هر یک ازین موارد بیشتر میپردازیم.
ماشین مجازی اتریوم قطعی(تعیین شده) است
برنامه زمانی قطعی که خروجی یکسانی را برای مجموعه ورودی های یکسانی ارائه میدهد. این که کد چند بار اجرا شده مهم نیست چون برنامه های غیرمتمرکز یا dApps در اتریوم ممکن است تراکنش های مالی شامل مقادیر زیادی پول را در هر زمان انجام دهند. بنابراین، بسیار مهم است که بدانید کد در هر مرحله از اجرا چه واکنشی نشان خواهد داد. تعین گرا بودن و قطعیت برای ماشین مجازی اتریوم ضروری است.
ماشین های مجازی اتریوم حفاظت شده است
یکی دیگر از ویژگی های قرارداد هوشمند جداسازی برای حفاظت آن است. جداسازی و حفاظت نیز با استفاده از کانتینر های داکر و ماشین مجازی اتریوم تسهیل و عملی میشوند و چون کانتینر های داکر قطعی نیستند، اتریوم با کمک ماشین مجازی خود این امکان را تکمیل میکند.
جدا سازی به دلیل مواردی مانند هک ها و باگ هایی که ممکن است در قرارداد هوشمند باشند مهم اند و این ایزوله کردن باعث میشود که چنین حوادثی تاثیری در پروتکل اصلی نداشته باشند.
ماشن مجازی اتریوم پایان پذیر است
همانطور که در بخش های بالا در مورد کامل بودن تورینگ ذکر شد، EVM یک تورینگ کامل است، به این معنی که قراردادهای هوشمند آن میتواند هر نوع مسالهای را، حداقل به صورت فرضی، حل کند. اما هیچ راهی برای تشخیص این که آیا چنین قراردادهای هوشمندی میتوانند تمام عملیات داده شده را در یک چارچوب زمانی خاص به پایان برسانند وجود ندارد.
بنابراین، قرار دادن یک مکانیسم" فسخ "برای ایجاد محدودیت های دقیق ضروری است. در اتریوم از مفهوم "گس" برای تسهیل ترافیک استفاده میشود. گس بخشی از مکانیسم تشویقی شبکه نیز هست که بر مبنای کارمزد های گس(فی گس) در تعیین انتخابی عملکرد ها برای اجرا و اولویت بندی ها استفاده میشود. محدودیت های گس در ابتدا تعیین شده و در زمان اتمام محدودیت ها، ماشین به سادگی عملیات یا پردازش خود را متوقف می کند.
اقتصاد EVM
EVM یک اقتصاد ایجاد میکند. بامشوق های "گس" نظیر به نظیر دستگاه تورینگ کامل خود را تقویت میکند و از منابع جهان برای ساختن اقتصاد خود بهره میبرد و به این ترتیب به دیدگاه"کامپیوتر جهانی" عمل میکند.
چگونه EVM به پروتکل ملتزم است؟
ماشین مجازی هوشمند این امکان را ایجاد میکند که هر کسی از هر جایی به شبکه متصل شود و بدون نیاز به اعتماد سازی طرفین کد خود را بسازد که این نتیجه گارانتی قراردادهای هوشمند کاملا قطعی است.
با راهی برای محاسبه کارمزد های "گس" برای یک قرارداد هوشمند، پروتکل، دریافت کارمزد قبل از اجرای برنامه را ضمانت میکند و سیستم حق تقدم و مشوق ها را پشتیبانی میکند. اتریوم دارای اعتبارسنجی هایی است که اطلاعات همه تراکنش ها در شبکه را ضمانت می کند تا از کافی بودن دارایی های فرستنده برای تامین اعتبار قرارداد هوشمند مطمئن شود.
دیدگاه ها (1 دیدگاه)
نقد و بررسی صرافی تبدیل – Tabdeal Exchange Review
در این مطلب صرافی بین از مجله کریپتو قصد داریم صرافی تبدیل را بررسی کنیم.
صرافی بین 2 0
چگونه در صرافی کوکوین حساب باز کنیم؟ - 4 قدم ساده برای ثبت نام در Kucoin
در این مطلب از مجله نااریب قصد داریم، نحوه بازکردن حساب در صرافی کوکوین را به شما آموزش دهیم.
صرافی بین 1 0
نوبیتکس به روزرسانی شد – به روز رسانی نقد و بررسی صرافی نوبیتکس
همین که صرافی نوبیتکس به روز رسانی شد؛ صرافیبین هم هم مطلب نقد و بررسی نوبیتکس را به روز کرد.
صرافی بین 1 1
نقد و بررسی صرافیکوکوین – Kucoin Exchange
در این مطلب از مجله کریپتو، ما تیم صرافی بین قصد داریم تا صرافی کوکوین را مورد بررسی قرار دهیم.
صرافی بین 1 1
آموزش واریز به صرافی والکس
در این مطلب از مجله کریپتو، تیم صرافی بین به آموزش واریز رمزارزی و تومانی در صرافی والکس پرداخته.
صرافی بین 0 1
فعالان حوزه کریپتو، نااریب یک خبر برای شما دارد! – دعوت به فعالیت در مجله کریپتو
نااریب از همه فعالان حوزه کریپتو دعوت به عمل میآورد تا با برند و نام خود به عنوان نویسنده در مجله کریپتو فعالیت داشته باشند.
نااریب 1 1
کارشناس بلومبرگ زنگ خطر را به صدا در می آورد: بیت کوین در معرض خطر سقوط بزرگ است - دلیل آن چیست؟
در حالی که گاوهای نر بیت کوین (BTC) سخت برای حفظ روند صعودی سال نو مبارزه میکنند، یکی از کارشناسان زنگ خطر را به صدا در میآورد.
نااریب 2 0
چرا نرخ لحظهای ارزدیجیتال مهم است؟ - معرفی صفحه نرخ لحظهای ارز های دیجیتال در نااریب
در این مطلب از مجله کریپتو قصد داریم امکانات سرویس نرخ لحظه ای کریپتو در نااریب را معرفی کنیم.
نااریب 0 1
مهم ترین رویداد های کریپتویی 2023 که باید دنبال کنید – معرفی بهترین رویداد های جهانی
در این مطلب از مجله کریپتو فهرستی از برترین رویدادهای کریپتویی، بلاکچین،NFT و متاورس را معرفی میکنیم.
نااریب 0 0
کیف پول کریپتو چیست؟
کیف پول کریپتو به کاربران کریپتو اجازه میدهد ارز های دیجیتال خود را ذخیره و بازیابی کنند.
نااریب 0 1
توکن غیر قابل تعویض یا غیر مثلی (NFT) چیست؟
در این مطلب از مجله کریپتو به توضیح NFT یا همان توکن غیرمثلی که یکی از پرکاربردترین قابلیت های بلاکچین است؛ خواهیم پرداخت.
نااریب 0 1