قراردادهای هوشمند برخلاف اسمش، لزوما هوشمند نیستند.
به خاطر EVM، بلاکچین اتریوم میتواند چیزی فراتر از قراردادهای هوشمند باشد و میتوان از آن برای ایجاد اپلیکیشنهای غیرمتمرکز (dApps) بهره گرفت.
اما تنها نکته جالب این نیست.
قراردادهای هوشمند اتریوم شامل بیتهایی از دستورالعملهای کدگذاریشده هستند که بر روی بلاکچین ارسال میشوند تا اعضای شبکه بتوانند این قراردادها را به شیوهای امن و به طوری که نیازی به اعتماد بین طرفین نباشد، اجرا و ذخیره کنند.
حالا تصور کنید بتوانید قراردادهایی بنویسید که شرایطش مثل یک ماشین فروشْ روشن و قابل پیشبینی باشد و از این بعدْ از فناوری بلاکچین برای اجرای خودکار شرایط توافق بین طرفین استفاده کنید.
ماشین مجازی یک نرمافزار است که مثل یک کامپیوتر واقعی فیزیکی عمل میکند و میتواند برنامهها و اپلیکیشنها را اجرا کند.
EVM (ای وی ام) نوع جدیدی از موسیقی الکترونیک نیست.
EVM یک محیط اجرایی برای قراردادهای هوشمند فراهم میکند و این به معنای آن است که یک قرارداد هوشمند میتواند در هر محیطی (هر کامپیوتر یا سیستم عاملی) اجرا شود.
در درس بعدی در مورد اپلیکیشنهای غیرمتمرکز (dApps) بیشتر صحبت خواهیم کرد.
منبع: https://iranbroker.org/what-is-smart-contract-and-evm
قرارداد هوشمند را یک برنامه نرمافزاری روی بلاکچین در نظر بگیرید که در صورت تحقق شرایط از پیش تعیینشده، به طور خودکار اجرا میشود.
گفتیم که قراردادهای هوشمند دستورالعملهایی هستند که با کد نوشته شدهاند، ماشین مجازی اتریوم یا Ethereum Virtual Machine (EVM) هم این دستورالعملها را در بلاکچین اتریوم اجرا میکند.
این شرایط از پیش تعیینشده که مستقیما روی خطوط کد نوشته میشود، مثل «مفاد قرارداد» یک قرارداد سنتی است.
قراردادهای هوشمند با استفاده از زبانهای برنامهنویسی سطح بالا مثل Vyper، Solidity یا Serpent به صورت کد نوشته میشوند.
در زبان کامپیوتری، تورینگ کامل یا Turing-complete به معنای آن است که EVM میتواند هرچیزی را که قابلمحاسبه است، محاسبه کند.
اساسا یک قرارداد هوشمند (اسمارت کانترکت) روی هر کامپیوتری با EVM اجرا میشود، جالب است، نه؟
توسعهدهندگان میتوانند یک قرارداد هوشمند بنویسند و مطمئن باشند که از رویه استاندارد صنعت نرمافزار یعنی «یک بار بنویس، همه جا اجرا کن» تبعیت میکند.
ماشین مجازی یک برنامه نرمافزاری روی یک کامپیوتر فیزیکی است که مثل یک کامپیوتر جداگانه در داخل کامپیوتر اصلی کار میکند.
قراردادهای هوشمند (Smart contract) برنامههای خودکار رایانهای هستند که بر روی یک بلاکچین میزبانی و اجرا میشوند.
حالا که متوجه شدید قراردادهای هوشمند چیست، در مورد این صحبت کنیم که چگونه اتریوم به یک پلتفرم قرارداد هوشمند تبدیل میشود.
نیک سابو (Nick Szabo) در قیاس با ماشینهای فروش، مفهوم قراردادهای هوشمند را مطرح کرد.
در ماشینهای فروش، کاربران سکهها را وارد دستگاه میکنند و اگر مقدار سکهها درست باشد، دستگاه به طور خودکار عملیات را انجام میدهد و کالای درخواستی را تحویل میدهد. هیچ کس دیگری جز شما و ماشین فروش درگیر عملیات خرید کالا نمیشود و نیازی به شخص دیگری برای حساب کردن و تحویل کالا نیست. حتی صاحب ماشین فروش هم لازم نیست حضور داشته باشد.
پلتفرم (یا پلتفرم محاسباتی) محیطی عملیاتی است که در آن یک نرمافزار مثلا اپلیکیشن، میتواند اجرا شود.
اما یک قرارداد هوشمند چیست؟
برای این تعامل نیازی نیست بین دو طرف اعتماد وجود داشته باشد: ماشین فروش بعد از دریافت پول، گزینهای جز تحویل کالا ندارد.
EVM این کد را به چیزی به نام «بایتکد» تنظیم میکند و بعد در بلاکچین اتریوم مستقر میشود.
از آنجایی که نودهای اتریوم (که فقط کامپیوترها هستند) از سختافزار، سیستم عامل (OS) و پیکربندیهای اختصاصی استفاده نمیکنند، به روشی نیاز دارید برای بهرهمندی از همه این موارد تا کد قرارداد هوشمند بدون آنکه نیاز باشد با انواع مختلف پیکربندیهای کامپیوتری سروکار داشته باشد، با الزامات خاص خودش اجرا شود.
بنابراین به طور کلی هر اپلیکیشن کامپیوتری را میتوان بر روی پلتفرم اتریوم نوشت و اجرا کرد.
از آنجایی که هدف EVM این است که موتور محاسباتی تعبیهشده در تمام نودهای اتریوم باشد، تورینگ کامل یا Turing-complete است.
چرا برای اجرای قراردادهای هوشمند (که یک سری برنامههای کامپیوتری هستند) به یک کامپیوتر مجزا نیاز است؟
قراردادهای هوشمند فاکتور قطعیت را نیز دارند و این باعث میشود کسانی که در قرارداد شرکت دارند، بدانند در صورت اجرای قرارداد چه نتایجی در انتظارشان است.
اگر به جای «هوشمند»، میگفتیم «اتوماتیک» و به جای «قرارداد» میگفتیم «برنامه»، اسمش دقیقتر میشد. اما متأسفانه من اون نابغهای نبودم که اولین بار این اصطلاح را مطرح کرد.
این دقیقا کاری است که قراردادهای هوشمند انجام میدهند.
اینجاست که EVM وارد میشود.💪
در غیر این صورت، باید نسخه متفاوتی از قرارداد هوشمند را برای هر نوع پیکربندی کامپیوتری بنویسید.👎
قراردادهای هوشمند نمیخواهند این همه دردسر داشته باشند و میخواهند بر روی تمامی دستگاهها و سیستم عاملها قابل اجرا باشند.
اتریوم یک پلتفرم قرارداد هوشمند است.
اگر بخواهیم فنیتر تعریف کنیم، باید بگوییم قرارداد هوشمند مجموعهای از کد و داده است که در یک آدرس خاص در بلاکچین اتریوم قرار دارد.