با ظهور بلاکچینهای عمومی مانند بیتکوین و بعدها اتریوم، قرارداد هوشمند معرفی شد. این ویژگی جذاب و کاربردی در استفاده از بلاکچین و سیستمهای غیرمتمرکز است. در این مقاله تلاش میکنم درباره آن به زبان ساده و به دور از پیچیدگیهای فنی صحبت کنم.
قرارداد هوشمند چیست؟
قرارداد هوشمند یک قطعه کد و برنامه کامپیوتری است که مانند همه برنامههای کامپیوتری دیگر، با زبان برنامهنویسی و توسط یک برنامهنویس متخصص نوشته و اجرا میشود. حال سوال این است که اگر اینگونه است، چرا آن را قرارداد هوشمند مینامند و چرا به عنوان موضوعی جدید مطرح است؟ موضوع این است که این برنامههای کامپیوتری ویژگیهای خاصی دارند که آنها را از دیگر برنامهها متمایز میکند.
تفاوتهای قرارداد هوشمند با برنامههای رایج کامپیوتری
قراردادهای هوشمند تفاوتهای منحصربهفردی با برنامههای کاربردی رایجی که میشناسیم دارند که در اینجا به آنها اشاره میکنیم:
۱. کدهای قرارداد هوشمند بر بستر بلاکچین و با استفاده از فناوری ماشین مجازی اتریوم ذخیره و اجرا میشوند. بنابراین، نمیتوان آنها را بر روی یک رایانه یا موبایل معمولی اجرا کرد.
۲. ساختار و منطق کد قرارداد هوشمند پس از استقرار در بلاکچین قابل تغییر نیست. البته برخی پارامترها و متغیرها قابل تغییرند، اما این امکان باید هنگام کدنویسی پیشبینی شود.
۳. کد و نحوه عملکرد قرارداد هوشمند برای همه قابل مشاهده، بررسی و حتی آزمایش است.
ویژگیهای ذکر شده باعث میشوند برنامههایی داشته باشیم که:
۱. عملکرد آنها برای همه شفاف و قابل ممیزی است.
۲. اطمینان وجود دارد که مالک کد یا قرارداد نمیتواند در آینده نحوه عملکرد آن را تغییر دهد.
۳. تا زمانی که شبکه بلاکچینی که قرارداد در آن مستقر و اجرا شده فعال باشد، آن قرارداد نیز اجرا میشود و به تصمیم خالق یا سازمانی دیگر وابسته نیست.
همانطور که متوجه شدید، این ویژگیها باعث میشوند برنامههایی داشته باشیم که سطح قابل قبولی از اعتماد و اطمینان را در عملکرد خود تضمین کنند، و این موضوع بسیار جذاب و خاص است.
چرا به آن قرارداد هوشمند میگویند؟
در واقع، وقتی دو نفر میخواهند کاری را با هم انجام دهند، باید بر نحوه اجرا، منافع و مشکلات آن توافق کنند و برای ثبت این توافق، مفاد آن را در قالب یک قرارداد تنظیم و امضا میکنند. این قراردادها در زندگی روزمره ما با قالبها و اهداف مختلفی وجود دارند. معمولاً طرفین قرارداد برای اطمینان از اجرای تعهدات، ضمانتها و جریمههایی در نظر میگیرند و اگر این قراردادها رسمی و مورد تأیید نهادهای دولتی باشند، از حمایت دولت نیز برخوردارند.
حالا فرض کنید توافق آن دو نفر به صورت یک کد کامپیوتری با ویژگیهای ذکرشده نوشته و اجرا شود. در این صورت، ما یک قرارداد دیجیتال داریم که روی شبکه بلاکچین اجرا میشود و اگر شرایط لازم وجود داشته باشد، مفاد قرارداد را به صورت خودکار و تضمینشده اجرا میکند. این همان چیزی است که به آن قرارداد هوشمند میگوییم.
آیا قراردادهای هوشمند میتوانند همه توافقها را پوشش دهند؟
در حال حاضر پاسخ این سوال منفی است. قراردادهای هوشمند با وجود تمام ویژگیهای جذاب خود، نمیتوانند تمام توافقهای واقعی را پوشش دهند، اما شاید روزی این امکانپذیر شود. قراردادهای هوشمند کاملاً وابسته به فناوری بلاکچین و رمزارزها هستند و این موضوع استفاده از آنها را محدود میکند. هرچه استفاده از فناوری بلاکچین و رمزارزها در تبادلات مالی میان مردم و سازمانها بیشتر شود، کاربرد قراردادهای هوشمند نیز افزایش مییابد.