قرارداد هوشمند یا Smart Contract
قرارداد هوشمند یک کد برنامه نویسی رایانه ای روی بلاک چین است که به طور خودکار قابل اجراست
قرارداد هوشمند یا Smart Contract چیست؟
به زبان ساده، قرارداد هوشمند یک سری کدهای برنامه نویسی شده رایانه ای است که روی بلاک چین (یا زنجیرهٔ بلوکی به انگلیسی: Blockchain) پیادهسازی میشود تا در صورت تحقق یک سری شرایط، دستورات خاصی را که برنامه نویس به آن داده است، اجرا کند.
همان طور که در قراردادهای سنتی شروط مختلفی قابل تعیین هستند، در قراردادهای هوشمد هم این وضعیت وجود دارد، به عنوان نمونه وقتی از اینترنت یک فایل خریداری میکنید، در پشت صحنه کدهایی وجود دارند که برای آنها تعریف شده است، مثلا اگر کاربر پول را پرداخت کرد و مبلغش کافی بود، لینک دانلود فایل را به او نمایش بده، در غیر این صورت پیغام خطا نشان بده.
چیزی که قرارداد هوشمند را نسبت به قرارداد عادی متفاوت کرده، استفاده از فناوری بلاک چین است که ما را از اعتماد کردن به واسطهها بینیاز میکند.
به عبارت دیگر، قرارداد هوشمند کدی است که روی بلاک چین فعال میشود تا بدون نیاز به واسطهها، شرایط یک توافقنامه بین دو طرف را بررسی و اجرا کند.
زمانی که یک قرارداد هوشمند بر روی یک بلاک چینِ آزاد مثل اتریوم اجرا شود، دیگر قابل توقف نیست و هیچکس نمیتواند جلوی اجرای آن را بگیرد.
با قراردادهای هوشمند میتوان برنامهها و پروژههایی را ساخت که بدون هیچگونه واسطه و از کارافتادگی تا ابد به کار خود ادامه دهند، به این برنامهها، برنامههای غیرمتمرکز (Dapp) هم میگویند.
حتی خودِ برنامهنویس قرارداد هوشمند هم نمیتواند کد قرارداد هوشمند ثبت شده در بلاک چین را تغییر دهد.
روش کار قراردادهای هوشمند مشابه با کار دستگاههای فروش خودکار است که در مترو و امکان عمومی قرار دارند. وقتی شما قصد خرید یک نوشابه با استفاده از این دستگاهها را دارید، پول را به دستگاه وارد میکنید و دستگاه به صورت خودکار پول شما را پردازش میکند و نوشابه را تحویل میدهد، بدون اینکه پای واسطهای در میان باشد.
همانطور که گفتیم، قرارداد هوشمند روی بلاک چِین پیادهسازی میشود و خاصیت اصلی بلاک چین هم توزیعشده بودنِ آن است.
جدا از فرایندهای پیچیدۀ فنی، وقتی قرارداد هوشمند روی بلاک چین ثبت شود میان همه اعضای بلاک چین یا همان نودها (Node) به اشتراک گذاشته میشود و همه یک نسخه از آن را خواهند داشت، بنابراین جلوگیری از اجرای آن یا دستکاری در آن تقریبا ممکن نیست زیرا همه اعضای بلاک چین آن را اجرا میکنند، نه یک یا چند سرور و نهاد متمرکز.
کد قرارداد هوشمند پس از نوشته شدن توسط برنامهنویس از طریق یک کلاینت (نرم افزار رسمی که شما را مستقیم به بلاک چین متصل میکند) به صورت یک تراکنش بر روی بلاک چین ثبت میشود.
کد قراردادها توسط برنامهنویسان نوشته میشود، بنابراین احتمال اشتباه یا باگ در کد قرارداد وجود دارد. اگر قرارداد هوشمند در بلاک چین ثبت شود، دیگر نمیتوان تغییر داد و بنابراین باگ هم قابل رفع شدن نیست.