همه چیز درباره قرارداد هوشمند و ماشین مجازی اتریوم (EVM)
انتشار: آبان 24، 1401
بروزرسانی: 22 آذر 1404

همه چیز درباره قرارداد هوشمند و ماشین مجازی اتریوم (EVM)

حالا تصور کنید بتوانید قراردادهایی بنویسید که شرایطش مثل یک ماشین فروشْ روشن و قابل پیش بینی باشد و از این بعدْ از فناوری بلاک چین برای اجرای خودکار شرایط توافق بین طرفین استفاده کنید.

EVM این کد را به چیزی به نام «بایت کد» تنظیم می کند و بعد در بلاک چین اتریوم مستقر می شود.

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

برای این تعامل نیازی نیست بین دو طرف اعتماد وجود داشته باشد: ماشین فروش بعد از دریافت پول، گزینه ای جز تحویل کالا ندارد.\xa0

AbhHayxjUReuj5K4KmTvBF1cWZC1GPlMsMLsdrh6cCSehCXkneub9zACxuhxtI50hQNsTAcCNOFHRezRoBIi7yVj12BkZBA1RKm8Eh9Y0W jqsTB99EEOsfWq40bMjjrWDH8iUd aK9

از آنجایی که نودهای اتریوم (که فقط کامپیوترها هستند) از سخت افزار، سیستم عامل (OS) و پیکربندی های اختصاصی استفاده نمی کنند، به روشی نیاز دارید برای بهره مندی از همه این موارد تا کد قرارداد هوشمند بدون آنکه نیاز باشد با انواع مختلف پیکربندی های کامپیوتری سروکار داشته باشد، با الزامات خاص خودش اجرا شود.

اما تنها نکته جالب این نیست.

قراردادهای هوشمند (Smart contract) برنامه های خودکار رایانه ای هستند که بر روی یک بلاک چین میزبانی و اجرا می شوند.

05If7taHW 6UzX6IfZp1HcRBC9l3IzVEak8lZJKD5nYtu5S5VdfGcMF UE ltKsJhEp s1P 6kHU7PbVK1C Jp0s 1C2

در درس بعدی در مورد اپلیکیشن های غیرمتمرکز (dApps) بیشتر صحبت خواهیم کرد.\xa0



منبع: https://iranbroker.org/what-is-smart-contract-and-evm

چرا برای اجرای قراردادهای هوشمند (که یک سری برنامه های کامپیوتری هستند) به یک کامپیوتر مجزا نیاز است؟\xa0

از آنجایی که هدف EVM این است که موتور محاسباتی تعبیه شده در تمام نودهای اتریوم باشد، تورینگ کامل یا Turing-complete است.

اتریوم یک پلتفرم قرارداد هوشمند است.

پلتفرم (یا پلتفرم محاسباتی) محیطی عملیاتی است که در آن یک نرم افزار مثلا اپلیکیشن، می تواند اجرا شود.

اما یک قرارداد هوشمند چیست؟

اگر به جای «هوشمند»، می گفتیم «اتوماتیک» و به جای «قرارداد» می گفتیم «برنامه»، اسمش دقیق تر می شد. اما متأسفانه من اون نابغه ای نبودم که اولین بار این اصطلاح را مطرح کرد.

EVM یک محیط اجرایی برای قراردادهای هوشمند فراهم می کند و این به معنای آن است که یک قرارداد هوشمند می تواند در هر محیطی (هر کامپیوتر یا سیستم عاملی) اجرا شود.

ماشین مجازی یک برنامه نرم افزاری روی یک کامپیوتر فیزیکی است که مثل یک کامپیوتر جداگانه در داخل کامپیوتر اصلی کار می کند.

اساسا یک قرارداد هوشمند (اسمارت کانترکت) روی هر کامپیوتری با EVM اجرا می شود، جالب است، نه؟

اینجاست که EVM وارد می شود.💪

بنابراین به طور کلی هر اپلیکیشن کامپیوتری را می توان بر روی پلتفرم اتریوم نوشت و اجرا کرد.

این شرایط از پیش تعیین شده که مستقیما روی خطوط کد نوشته می شود، مثل «مفاد قرارداد» یک قرارداد سنتی است.

حالا که متوجه شدید قراردادهای هوشمند چیست، در مورد این صحبت کنیم که چگونه اتریوم به یک پلتفرم قرارداد هوشمند تبدیل می شود.\xa0

nHzgkbj1b8Z7Pmj9GymLlb9trK HDbwc36MsUl8nvN JxzbJTt0FbphF4yMHwsbTNRFYa4T1XRLzhzlypPdU ncQ7wU1Z8bIfzap0Nl84DKbxhoTTmJQtKMFoVNMwCfAiEhgnIqNgZ toMCDc2IuzNRgnRUX gOJql3qsg9MXg35xCrPO3V3 NoOPs6Vuw

قراردادهای هوشمند برخلاف اسمش، لزوما هوشمند نیستند.

در غیر این صورت، باید نسخه متفاوتی از قرارداد هوشمند را برای هر نوع پیکربندی کامپیوتری بنویسید.👎

EVM (ای وی ام) نوع جدیدی از موسیقی الکترونیک نیست.\xa0

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

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

توسعه دهندگان می توانند یک قرارداد هوشمند بنویسند و مطمئن باشند که از رویه استاندارد صنعت نرم افزار یعنی «یک بار بنویس، همه جا اجرا کن» تبعیت می کند.

قراردادهای هوشمند با استفاده از زبان های برنامه نویسی سطح بالا مثل Vyper، Solidity یا Serpent به صورت کد نوشته می شوند.

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

قراردادهای هوشمند نمی خواهند این همه دردسر داشته باشند و می خواهند بر روی تمامی دستگاه ها و سیستم عامل ها قابل اجرا باشند.

این دقیقا کاری است که قراردادهای هوشمند انجام می دهند.

قراردادهای هوشمند فاکتور قطعیت را نیز دارند و این باعث می شود کسانی که در قرارداد شرکت دارند، بدانند در صورت اجرای قرارداد چه نتایجی در انتظارشان است.

در زبان کامپیوتری، تورینگ کامل یا Turing-complete به معنای آن است که EVM می تواند هرچیزی را که قابل محاسبه است، محاسبه کند.

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

قراردادهای هوشمند اتریوم شامل بیت هایی از دستورالعمل های کدگذاری شده هستند که بر روی بلاک چین ارسال می شوند تا اعضای شبکه بتوانند این قراردادها را به شیوه ای امن و به طوری که نیازی به اعتماد بین طرفین نباشد، اجرا و ذخیره کنند.\xa0

نیک سابو (Nick Szabo) در قیاس با ماشین های فروش، مفهوم قراردادهای هوشمند را مطرح کرد.\xa0

به خاطر EVM، بلاک چین اتریوم می تواند چیزی فراتر از قراردادهای هوشمند باشد و می توان از آن برای ایجاد اپلیکیشن های غیرمتمرکز (dApps) بهره گرفت.