اتریوم به عنوان یک سکوی قرارداد هوشمند شناخته میشود.
سکو (یا سکوی محاسباتی) به عنوان یک محیط عملیاتی شناخته میشود که در آن نرمافزارها مانند برنامهها قابل اجرا هستند (یا "اجرا میشوند").
قراردادهای هوشمند برنامههای کامپیوتری خودکار هستند که بر روی یک بلاکچین میزبانی و اجرا میشوند.
علیرغم نام، «قراردادهای هوشمند» لزوماً هوشمند یا الزامآور نیستند.
"اتوماتیک" به جای "هوشمند" و "برنامه" به جای "قرارداد" انتخاب بهتری بود، اما من نابغه ای نیستم که این مفهوم را مطرح کرده باشم!
نیک سابو - که این اصطلاح را در اواخر دهه 90 ابداع کرد - قراردادهای هوشمند را با یک ماشین فروش مقایسه کرد.
کاربران سکهها را در دستگاه وارد میکنند و با فرض صحت مقدار درج شده، ماشین کالای مورد نظر را «خود اجرا» کرده و تحویل میدهد. هیچ کس دیگری جز شما و ماشین فروش درگیر نبود. نیازی به دخالت شخص ثالث نبود. حتی صاحب ماشین فروش.
حالا تصور کنید قراردادهایی بنویسید که دارای شرایطی به روشنی و قابل پیشبینی برای یک ماشین فروش باشند و سپس از فناوری بلاکچین برای اجرای خودکار شرایط توافق بین طرفین استفاده کنید.
این کاری است که یک قرارداد هوشمند انجام میدهد.
در اتریوم، قراردادهای هوشمند بیتهایی از دستورالعملهای کدگذاریشده هستند که بر روی بلاکچین ارسال میشوند تا مشارکتکنندگان شبکه بتوانند این قراردادها را به شیوهای امن و غیرقابل اعتماد اجرا و ذخیره کنند.
در اصطلاح فنیتر، قرارداد هوشمند مجموعهای از کد و داده است که در یک آدرس خاص در بلاکچین اتریوم قرار دارد.
قراردادهای هوشمند نیز قطعی هستند تا دستاندرکاران قرارداد بدانند هنگام اجرای قرارداد چه نتایجی را انتظار دارند.
قرارداد هوشمند را به عنوان یک برنامه نرمافزاری روی بلاکچین در نظر بگیرید که در صورت برآورده شدن شرایط از پیش تعیین شده به طور خودکار اجرا میشود.
این شرایط از پیش تعیین شده که مستقیماً در خطوط کد نوشته شده است، معادل «شرایط توافق» در یک قرارداد سنتی است.
اکنون که میدانید قراردادهای هوشمند چیست، اجازه دهید تا شما را با آنچه اتریوم را به یک سکوی قرارداد هوشمند تبدیل میکند آشنا کنم.
نه، این نوع جدیدی از موسیقی الکترونیک نیست.
اگر قراردادهای هوشمند دستورالعملهایی هستند که با کد نوشته شدهاند، این ماشین مجازی اتریوم (EVM) است که آنها را در بلاکچین اتریوم اجرا میکند.
«ماشین مجازی» قطعهای از نرمافزار است که مانند یک رایانه فیزیکی واقعی عمل میکند که میتواند برنامهها را اجرا کند.
این اساساً یک برنامه نرمافزاری روی یک رایانه فیزیکی است که مانند یک رایانه جداگانه در داخل رایانه اصلی کار میکند.
چرا برای اجرای قراردادهای هوشمند (که فقط برنامههای کامپیوتری هستند) به یک "کامپیوتر مجزا" نیاز است؟
از آنجایی که همه گرههای اتریوم (که فقط رایانهها هستند) از سختافزار، سیستمعامل (OS) و تنظیمات مشابه استفاده نمیکنند، شما به راهی برای «انتزاع» همه این موارد نیاز دارید تا کد قرارداد هوشمند بدون نیاز به اجرا شود. با انواع مختلف پیکربندیهای کامپیوتری با نیازهای خاص آنها سروکار دارد.
در غیر این صورت، باید نسخه متفاوتی از قرارداد هوشمند را برای هر نوع پیکربندی رایانه بنویسید!
قراردادهای هوشمند نمیخواهند با این همه درام مقابله کنند! میخواهد به دستگاهها و سیستمعامل آگنوستیک باشد.
اینجاست که EVM وارد میشود.
این یک محیط اجرایی برای قراردادهای هوشمند فراهم میکند، به این معنی که یک قرارداد هوشمند میتواند در هر محیطی ("هر کامپیوتر یا سیستم عامل") اجرا شود ("اجرا").
توسعهدهندگان میتوانند یک قرارداد هوشمند بنویسند و مطمئن باشند که از رویه استاندارد صنعت نرمافزار یعنی «یک بار بنویس، هر جا اجرا کن» (WORA)، که با نام «یک بار بنویس، همه جا اجرا شود» (WORE) نیز شناخته میشود، پیروی میکند.
اساساً یک قرارداد هوشمند روی هر رایانهای با EVM اجرا میشود، جالب است؟
اما این تنها چیز جالب نیست.
از آنجایی که هدف EVM این است که موتور محاسباتی جاسازی شده در تمام گرههای اتریوم باشد. تورینگ کامل است.
در زبان کامپیوتری، "Turing-complete" به این معنی است که EVM از نظر تئوری میتواند هر چیزی را که شما در مورد محاسبات فکر کنید محاسبه کند.
بنابراین، در تئوری، هر برنامهکامپیوتری را میتوان بر روی پلتفرم اتریوم برنامهریزی و اجرا کرد!
قراردادهای هوشمند با استفاده از زبانهای برنامهنویسی سطح بالا مانند Solidity، Vyper یا Serpent نوشته میشوند.
این کد توسط EVM به چیزی به نام بایت کد کامپایل میشود که سپس در بلاکچین اتریوم مستقر میشود.
به لطف EVM، بلاکچین اتریوم میتواند فراتر از قراردادهای هوشمند باشد و میتواند برای ایجاد **برنامههای غیرمتمرکز (dApps)** استفاده شود.
در واحد بعدی، در مورد برنامههای غیرمتمرکز (dApps) بیشتر توضیح خواهیم داد.