به زبان خیلی ساده، قرارداد هوشمند یا همان اسمارت کانترکت (Smart contract) یک کد برنامهنویسی است. این کد شامل یک سری دستورات است که روی بلاک چین پیاده میشود. در صورت رخ دادن شرایطی خاص، این دستورات به اجرا در میآیند.
اصل کار قرار هوشمند بسیار ساده است:
اگر فلان اتفاق رخ داد، این دستورات را اجرا کن. اگر اتفاق دیگری رخ داد، دستور دیگر را اجرا کن و الی آخر.
یک مثال برای قرارداد هوشمند
حتماً تا به حال در سطح شهر دستگاههای خودکار فروش آب میوه را دیدهاید. در این دستگاه خبری از فروشنده به عنوان واسطهی بین کارخانه و خریدار نیست. شما محصول موردنظر خود را انتخاب میکنید، پول را وارد یک دستگاه تمام اتوماتیک میکنید و دستگاه با توجه به برنامهای که برای آن مشخص شده، محصول را در اختیار شما قرار میدهد. قرارداد هوشمند نیز تقریباً به این شکل کار میکند. در این قراردادها خریدار بدون نیاز به واسطه مبلغی که برای معامله نیاز است وارد حساب بلاک چین خود میکند؛ سپس این مبلغ با توجه به مفاد قرارداد به حساب طرف دیگر معامله واریز میشود.
در قراردادهای سنتی که در حال حاضر در جهان رایج هستند، همیشه یک واسطه برای تنظیم قرارداد نیاز است. این واسطه یا شخص سوم برای تنظیم قرارداد مبلغی را نیز به عنوان کمیسیون دریافت میکند. قراردادهای سنتی امکان تغییر یا حذف دارند. هر یک از طرفین معامله میتواند به زبانی ساده زیر قولش بزند و همچنین امکان تقلب در این قراردادها همیشه وجود دارد.
اما قراردادهای هوشمند نیاز به واسطه ندارند و مانند سایر تراکنشهای ارز دیجیتال که در بستر بلاک چین انجام میشوند، به صورت همتا به همتا (P2P) میان طرفین معامله انجام میگیرد. همچنین غیر قابل تغییر بودن مفاد و شرایط قرارداد پس از تنظیم و انتشار آن، عملاً امکان فسخ یک طرفه و تقلب را از بین برده است.
بهطور کلی، برای نوشتن کد قراردادهای هوشمند، علاوه بر یادگیری برنامهنویسی، باید روی موضوعات زیر متمرکز باشیم:
موضوع قرارداد و دسترسی
این برنامه باید به محصول یا خدمات تحت قرارداد دسترسی داشته باشد تا به طور خودکار آنها را در فرایند عرضه یا خرید کنترل کند. مثلاً اگر قرارداد قرار است در صورت دریافت پول، فایلی را تحویل بدهد، باید به فایل دسترسی داشته باشد.
شرایط قرارداد
شرایط قرارداد هوشمند دنبالهای از عملیات است که در صورت رخ دادن شرایط، موجب اجرای قرارداد میشود. نوشتن صحیح این شرایط برای داشتن قرارداد هوشمندی سالم و دقیق بسیار مهم است.
اوراکل (Oracle)
اوراکل به منبعی گفته میشود که اطلاعات خارجی را به قرارداد میدهد تا پردازش شوند؛ مثلاً اگر قرارداد باید اطلاعات هواشناسی را بررسی کند، اوراکل میتواند یک وب سایت هواشناسی باشد که اطلاعات از آن گرفته میشود.
پلتفرم انحصاری
پلتفرم اتریوم در حال حاضر محبوبترین پلتفرم برای اجرای قراردادهای هوشمند است و امتحان خود را پس داده است. بهجز این، بلاک چینهای زیاد دیگری مانند سولانا، کاردانو و اولنچ میتوانند قرارداد هوشمند را میزبانی کنند.