قرارداد هوشمند(smart contracts) چیست؟
به طور کلی قرارداد هوشمند یک برنامه خوداجرا است که اقدامات مورد نیاز در یک توافق نامه یا قرارداد خودکار انجام می شود که پس از تکمیل، تراکنش ها قابل پیگیری و برگشت ناپذیر هستند. قراردادهای هوشمند برنامههایی روی یک بلاک چین هستند که هر طرف تراکنش را کامل میکند. به عنوان مثال، یک قرارداد هوشمند می تواند انتقال وجه با شخص ثالث را آغاز کند تا تأیید کند که این انتقال انجام شده است.
قراردادهای هوشمند نوعی حساب اتریوم هستند این بدان معنی است که آنها تعادل دارند و می توانند هدف معاملات باشند. با این حال آنها توسط یک کاربر کنترل نمی شوند، در حالیکه در شبکه مستقر می شوند و طبق برنامه اجرا می شوند. سپس حسابهای کاربر میتوانند با ارسال تراکنشهایی که عملکرد تعریفشده در قرارداد هوشمند را اجرا میکنند، با یک قرارداد هوشمند تعامل کنند. قراردادهای هوشمند می توانند قوانینی را مانند یک قرارداد معمولی تعریف کنند و به طور خودکار آنها را از طریق کد اجرا کنند. قراردادهای هوشمند را نمی توان به طور پیش فرض حذف کرد و تعامل با آنها غیر قابل برگشت است.
با قرارداد هوشمند، معاملات و توافقات قابل اعتماد بین طرف های ناشناس بدون نیاز به یک مرجع مرکزی، سیستم قانونی یا مکانیزم اجرایی خارجی انجام می شود.در حالی که فناوری بلاک چین اساساً به عنوان پایه ای برای بیت کوین در نظر گرفته شده است، اما بسیار فراتر از یک ارز مجازی تکامل یافته است. قراردادهای هوشمند اسکریپت هایی هستند که اقدامات خاص یک قرارداد بین دو طرف را خودکار می کنند.
قراردادهای هوشمند حاوی زبان قانونی، شرایط یا توافقنامه نیستند در واقع فقط کدی است که در صورت برآورده شدن شرایط مشخص، اقدامات را اجرا می کند. در واقع آنها اسکریپت هایی هستند که حاوی دستورات « if/then» ، توابع، واردات ماژول و سایر برنامه نویسی هستند که اقدامات مشخص شده در یک قرارداد را خودکار می کنند.
تاریخچه قراردادهای هوشمند
قراردادهای هوشمند برای اولین بار در سال 1994 توسط نیک سابو(دانشمند کامپیوترآمریکایی) که یک ارز مجازی به نام “Bit Gold” را در سال 1998 اختراع کرد، 10 سال قبل از معرفی بیت کوین، پیشنهاد شد. نیک سابو، قراردادهای هوشمند را به عنوان پروتکل های تراکنش کامپیوتری تعریف می کند که شرایط یک قرارداد را اجرا می کند. او می خواست کارکرد روش های تراکنش الکترونیکی مانند POS (نقطه فروش) را به حوزه دیجیتال گسترش دهد.
او پیشنهاد اجرای قراردادی برای دارایی های مصنوعی، مانند مشتقات و اوراق قرضه را ارائه کرد و نوشت: “این اوراق بهادار جدید با ترکیب اوراق بهادار (مانند اوراق قرضه) و مشتقات (اختیارات و قراردادهای آتی) به طرق مختلف تشکیل می شوند. ساختارهای مدت بسیار پیچیده برای پرداخت ها… اکنون می توانند در قراردادهای استاندارد ساخته شده و با آنها معامله شود. هزینه های مبادله کم، به دلیل تجزیه و تحلیل کامپیوتری این ساختارهای اصطلاح پیچیده.”
بسیاری از پیشبینیهای سابو به روشهایی که پیش از فناوری بلاک چین بودند، به حقیقت پیوستند. به عنوان مثال: در حال حاضر تجارت مشتقات بیشتر از طریق شبکه های کامپیوتری با استفاده از ساختارهای اصطلاحی پیچیده انجام می شود.
موارد استفاده از قرارداد هوشمند
از آنجا که قراردادهای هوشمند قراردادها را اجرا می کنند، می توان از آنها برای اهداف مختلف استفاده کرد. یکی از ساده ترین کاربردها، اطمینان از انجام معاملات بین دو طرف است، مانند خرید و تحویل کالا.
برای مثال، تولیدکنندهای که به مواد خام نیاز دارد، میتواند با استفاده از قراردادهای هوشمند، پرداختها را تنظیم کند و تامینکننده میتواند محمولهها را تنظیم کند. سپس، با توجه به توافق بین دو کسب و کار، وجوه می تواند به طور خودکار پس از ارسال یا تحویل به تامین کننده منتقل شود.
معاملات املاک و مستغلات، سهام و کالا، وام دهی، حاکمیت شرکتی، زنجیره تامین، حل اختلاف و مراقبت های بهداشتی تنها چند نمونه هستند که می توان از قراردادهای هوشمند استفاده کرد.
مزایا و معایب قرارداد هوشمند
مزیت اصلی قراردادهای هوشمند مشابه مزایای فناوری بلاک چین است، آنها نیاز به اشخاص ثالث را از بین می برند. مزایای دیگر عبارتند از:
- کارایی : سرعت بخشیدن به اجرای قرارداد
- دقت : هیچ خطای انسانی معرفی نشده و دقت بالایی دارد
- تغییرناپذیری : برنامه نویسی را نمی توان تغییر داد
برخی از معایب قراردادهای هوشمند عبارتند از:
- دائمی : در صورت وجود اشتباه نمی توان آنها را تغییر داد
- عامل انسانی : آنها به برنامه نویس متکی هستند تا مطمئن شوند که کد به شرایط قرارداد می پردازد
- باگ ها : ممکن است در کدنویسی باگ هایی وجود داشته باشد که اجازه می دهد قراردادها با نیت بد اجرا شوند.
مراحل انجام قراردادهای هوشمند
به طور کلی قرارداد هوشمند نوعی برنامه است که منطق تجاری را رمزگذاری می کند و بر روی یک ماشین مجازی اختصاصی تعبیه شده در یک زنجیره بلوکی یا دفتر کل توزیع شده دیگر عمل می کند.
- تیم های تجاری با توسعه دهندگان همکاری می کنند تا معیارهای خود را برای رفتار مطلوب قرارداد هوشمند در پاسخ به رویدادها یا شرایط خاص تعریف کنند.
- شرایطی مانند مجوز پرداخت، رسید حمل و نقل یا آستانه قرائت کنتور برق نمونههایی از رویدادهای ساده هستند.
- عملیات پیچیده تر، مانند تعیین ارزش یک ابزار مالی مشتقه، یا آزاد کردن خودکار پرداخت بیمه، ممکن است با استفاده از منطق پیچیده تر رمزگذاری شوند.
- سپس توسعه دهندگان از یک پلتفرم نوشتن قرارداد هوشمند برای ایجاد و آزمایش منطق استفاده می کنند. پس از نوشتن برنامه، برای تست امنیتی به تیم جداگانه ای ارسال میشود.
- می توان از یک کارشناس داخلی یا یک شرکت متخصص در بررسی امنیت قراردادهای هوشمند استفاده کرد.
- قرارداد پس از تأیید بر روی یک بلاک چین موجود یا دیگر زیرساخت های دفتر کل توزیع شده مستقر می شود.
- قرارداد هوشمند طوری پیکربندی شده است که بروزرسانیهای رویداد را از یک «اوراکل» که بهطور مؤثر یک منبع داده جریانی رمزنگاری امن است، پس از استقرار، گوش دهد.
- هنگامی که ترکیب لازم از رویدادها را از یک یا چند اوراکل به دست آورد، قرارداد هوشمند اجرا می شود.