دستگاه مجازی Ethereum (EVM)

  • 2022-04-22

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

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

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

از دفترچه تا دستگاه دولتی

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

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

A diagram showing the make up of the EVM

نمودار اقتباس از Ethereum EVM Illustrated

عملکرد انتقال حالت اتریوم

EVM به عنوان یک عملکرد ریاضی رفتار می کند: با توجه به ورودی ، یک خروجی قطعی تولید می کند. بنابراین توصیف رسمی اتریوم به عنوان عملکرد انتقال حالت کاملاً مفید است:

با توجه به یک حالت (های) معتبر قدیمی و مجموعه جدیدی از معاملات معتبر (T) ، عملکرد انتقال حالت Ethereum y (s ، t) یک حالت خروجی معتبر جدید را تولید می کند.

در زمینه اتریوم ، حالت یک ساختار داده عظیم به نام یک Merkle Patricia Trie اصلاح شده است که تمام حساب های مرتبط با هش و قابل کاهش با یک هش ریشه واحد ذخیره شده در blockchain را نگه می دارد.

معاملات دستورالعمل های رمزنگاری شده از حساب ها هستند. دو نوع معاملات وجود دارد: مواردی که منجر به تماس پیام و مواردی می شود که منجر به ایجاد قرارداد می شوند.

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

EVM به عنوان یک دستگاه پشته با عمق 1024 مورد اجرا می شود. هر مورد یک کلمه 256 بیتی است که برای سهولت استفاده با رمزنگاری 256 بیتی (مانند امضاهای Keccak-256 یا SECP256K1) انتخاب شده است.

در حین اجرای ، EVM یک حافظه گذرا (به عنوان یک آرایه بایت با کلمه) ، که بین معاملات باقی نمی ماند ، حفظ می کند.

با این حال ، قراردادها حاوی یک تریک ذخیره سازی Merkle Patricia (به عنوان یک آرایه کلمه ای قابل ارسال) ، مرتبط با حساب مورد نظر و بخشی از دولت جهانی است.

Bytecode Contracted Contract Smart Contract به عنوان تعدادی از OPCodes EVM اجرا می شود ، که عملیات پشته ای استاندارد مانند XOR را انجام می دهند ، و ، افزودن ، Sub و غیره. EVM همچنین تعدادی از عملیات پشته مخصوص blockchain ، مانند آدرس ، تعادل ، blockhash و غیره را پیاده سازی می کند. واد

A diagram showing where gas is needed for EVM operations

نمودارهای اقتباس از Ethereum EVM Illustrated

کلیه پیاده سازی های EVM باید به مشخصات شرح داده شده در تصویر زرد Ethereum پایبند باشد.

در طول تاریخ 7 ساله اتریوم ، EVM چندین مورد تجدید نظر کرده است ، و چندین اجرای EVM در زبان های مختلف برنامه نویسی وجود دارد.

مشتریان اعدام Ethereum شامل اجرای EVM هستند. علاوه بر این ، چندین پیاده سازی مستقل وجود دارد ، از جمله:

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.