پیشینه تاریخی

اصطلاح "قرارداد هوشمند" اولین بار توسط "نیک سابو" دانشمند کامپیوتر و رمزنگار در حدود 20 سال پیش زمانی که دانشجوی کارشناسی ارشد در دانشگاه واشنگتن بود معرفی شد. به گفته سابو:

اکنون با انقلاب دیجیتال موسسات جدید و راه‌های جدید برای رسمی کردن روابطی که این نهادها را تشکیل می‌دهند (قراردادها)، ممکن شده‌ است. من این قراردادهای جدید را "هوشمند" می نامم، زیرا آن‌ها بسیار کاربردی تر از اجداد بی جان مبتنی بر کاغذشان هستند. هیچ استفاده‌ای از هوش مصنوعی نشده است. قرارداد هوشمند مجموعه‌ای از وعده‌ها است که به شکل دیجیتالی مشخص شده‌اند، به همراه پروتکل‌هایی که طرفین در آن به این وعده‌ها عمل می‌کنند.

استفاده سابو از نقل قول‌ها در اطراف کلمه "هوشمند" هنگام مقایسه قراردادهای هوشمند با قراردادهای مبتنی بر کاغذ و اجتناب او از هوش مصنوعی مهم است. قراردادهای هوشمند ممکن است «هوشمندتر» از قراردادهای کاغذی باشند، زیرا به طور خودکار می‌توانند برخی از مراحل از پیش برنامه‌ریزی شده را اجرا کنند، اما نباید به عنوان ابزارهای هوشمندی در نظر گرفته شوند که می‌توانند موارد موردنیاز قرارداد را تجزیه و تحلیل کنند. در واقع، نمونه کلاسیک قرارداد هوشمند ارائه شده توسط سابو یک دستگاه فروش خودکار میان وعده است. هنگامی که یک خریدار شرایط "قرارداد" را برآورده کند (یعنی وارد کردن پول در دستگاه)، دستگاه به طور خودکار شرایط توافق نامه نانوشته را رعایت می‌کند و میان وعده را تحویل می‌دهد.

منشأ اصلی قراردادهای هوشمند امروزی در قراردادهای ریکاردیان (Ricardian contract) وجود دارد، مفهومی که در سال 1996 توسط ایان گریگ و گری هاولند در حین کار بر روی سیستم پرداخت ریکاردو برای انتقال دارایی‌ها منتشر شد. گریگ، قراردادهای ریکاردیان را پلی بین قراردادهای متنی و کد می‌دانست که دارای پارامترهای زیر باشد:

 الف) قراردادی است که توسط یک ناشر به دارندگان پیشنهاد می‌شود.

ب) این قرارداد در خصوص یک دارایی با ارزش است که توسط دارندگان نگهداری می‌شود و توسط ناشر مدیریت می‌شود.

ج) به راحتی توسط افراد قابل خواندن است (مانند قرارداد روی کاغذ).

د) قابل خواندن توسط برنامه‌های کامپیوتری است (قابل تجزیه مانند پایگاه داده یا قابل استفاده در برنامه حسابداری).

ه) دارای امضای دیجیتالی است.

و) کلیدها و اطلاعات سرور در آن قرار دارد.

ی) به همراه یک شناسه منحصر به فرد و امن که در دسترس طرفین است.

smart-contarct

قراردادهای هوشمند چگونه کار می‌کنند

«قرارداد هوشمند» اصطلاحی است که برای توصیف کدهای رایانه‌ای استفاده می‌شود که به طور خودکار تمام یا بخش‌هایی از یک توافق‌نامه را اجرا می‌کنند و در یک پلتفرم مبتنی بر بلاک چین ذخیره می‌شوند. این کدها می‌توانند یک توافق جدید بین طرفین باشند یا ممکن است مکمل یک قرارداد سنتی مبتنی بر متن باشند و جزئیات خاصی را اجرا کنند، مانند انتقال وجوه از طرف A به طرف B، خود کد در سراسر جهان تکرار می‌شود و بر روی چندین گره (node) از یک بلاک چین قرار می‌گیرد بنابراین از امنیت، ماندگاری و تغییرناپذیری‌ای که یک بلاک چین ارائه می‌دهد، سود می‌برد.

این تکرار همچنین به این معنی است که با اضافه شدن هر بلوک جدید به بلاک چین، کد در واقع اجرا می‌شود. اگر طرفین با شروع یک تراکنش نشان داده باشند که پارامترهای خاصی برآورده شده است، کد مرحله ایجاد شده توسط آن پارامترها را اجرا می‌کند. اگر چنین تراکنشی آغاز نشده باشد، کد هیچ اقدامی انجام نخواهد داد. اکثر قراردادهای هوشمند به یکی از زبان های برنامه‌نویسی که مستقیماً برای چنین برنامه‌های رایانه‌ای مناسب است (مانند Solidity) نوشته می‌شوند.

در حال حاضر، پارامترهای ورودی و مراحل اجرا برای یک قرارداد هوشمند باید مشخص و عینی باشد. به عبارت دیگر، اگر (x) رخ داد، مرحله (y) را اجرا کنید. بنابراین، وظایف واقعی که قراردادهای هوشمند انجام می‌دهند نسبتاً ابتدایی هستند، مانند انتقال خودکار مقداری از ارز دیجیتال از کیف پول یک طرف به دیگری در صورت رعایت معیارهای خاصی که در قرارداد آمده است. همانطور که پذیرش بلاک چین گسترش می‌یابد و دارایی‌های بیشتری توکن می‌شوند، قراردادهای هوشمند به طور فزاینده‌ای پیچیده می‌شوند و قادر به انجام تراکنش‌های پیچیده می‌شوند.

در واقع، توسعه‌دهندگان در حال حاضر چندین مرحله تراکنش را برای ایجاد قراردادهای هوشمند پیچیده‌تر، کنار هم می‌گذارند. با این وجود، ما تا کد بتواند معیارهای حقوقی درونی و خصوصی را تعیین کند سال‌ها فاصله داریم، مانند اینکه آیا یک طرف تعهدات منطقی تجاری خود را به صورت کامل برآورده کرده است یا اینکه آیا باید یک بند غرامت ایجاد شود و غرامت پرداخت شود.

قرارداد هوشمند اتریوم

هزینه‌های قرارداد هوشمند

قبل از اینکه یک قرارداد هوشمند کامپایل شده، واقعاً روی بلاک چین‌ها اجرا شود، یک مرحله دیگر هم وجود دارد، مرحله پرداخت هزینه تراکنش برای اضافه شدن و اجرای قرارداد بر روی بلاک چین. در بلاک چین اتریوم، قراردادهای هوشمند بر روی ماشین مجازی اتریوم (EVM) اجرا می‌شوند و این پرداخت که از طریق ارز دیجیتال اتریوم انجام می‌شود، به عنوان «gas» (هزینه تراکنش) شناخته می‌شود. هرچه قرارداد هوشمند پیچیده‌تر باشد (بر اساس مراحل معامله که باید انجام شود)، gas بیشتری برای اجرای قرارداد هوشمند باید پرداخت شود. بنابراین، هزینه تراکنش در حال حاضر به عنوان یک عامل مهم برای قراردادهای هوشمند بیش از حد پیچیده یا متعدد عمل می‌کند.

در حال حاضر قراردادهای هوشمند اکثرا برای اجرای خودکار دو نوع معاملات، مناسب‌تر هستند: (1) تضمین پرداخت وجوه پس از برخی رویدادهای مشخص شده و تعیین شده در قرارداد و (2) اعمال جریمه‌های مالی در صورت عدم رعایت شرایط عینی خاص که در قرارداد هوشمند ذکر شده است. در هر دو نوع، مداخله انسانی، شخصی که پول‌ها را پیش او امانت بگذارند یا شخصی که وظیفه جابجایی را داشته باشد یا حتی سیستم قضایی، پس از استقرار قرارداد هوشمند و عملیاتی شدن آن لازم نیست، در نتیجه هزینه‌های اجرای فرآیند قرارداد کاهش می‌یابد.

قراردادهای هوشمند می‌توانند شکاف‌های بین خرید تا پرداخت را از بین ببرند. به عنوان یک مثال هنگامی که یک محصول به دست مشتری می‌رسد و در مقصد اسکن می‌شود، یک قرارداد هوشمند می‌تواند بلافاصله پس از دریافت، وجه را از خریدار به فروشنده منتقل کند. فروشندگان سریع‌تر دستمزد می‌گیرند و دیگر نیازی به هیچگونه پیگیری نیست و دغدغه دریافت وجه را ندارند و خریداران هزینه‌های اضافی برای انجام تراکنش را کاهش می‌دهند. این امر عملیات مالی را برای هر دو طرف ساده می‌کند. در بخش اجرایی، یک قرارداد هوشمند می‌تواند برنامه‌ریزی شود تا در صورت عدم دریافت پرداخت، دسترسی به دارایی متصل به اینترنت را قطع کند. به عنوان مثال، در صورت عدم دریافت پرداخت، ممکن است به طور خودکار دسترسی به محتوای خاصی رد شود.


Powered by Froala Editor