عصر ارتباط – “قراردادهای هوشمند” را میتوان یکی از اجزای مهم پلتفرمها و برنامههای کاربردی دانست که با بهکارگیری فناوری بلاکچین یا دفتر کل توزیعشده پیادهسازی میشوند. در ادامه، پیشینه و نحوه عملکرد قراردادهای هوشمند را شرح داده و درخصوص قابلیت اجرای اینگونه قراردادها بهصورت توافقهای قانونی بحث میکنیم. علاوه بر این ملاحظات حقوقی و عملی ویژهای را که قبل از بهکارگیری گسترده در زمینه تجارت باید بررسی شوند، مطرح ميكنيم.
رضا سمیعزاده؛ هيات علمی دانشگاه الزهرا
سحر وطنخواه؛ دکترای مهندسی صنایع دانشگاه الزهرا
*نحوه عملکرد قراردادهای هوشمند
“قراردادهای هوشمند” اصطلاحی است که براي توصیف کد رایانهای استفاده شده که بهطور خودکار تمام یا بخشی از یک توافقنامه را اجرا میكند و در نهایت در یک پلتفرم مبتنی بر بلاکچین ذخیره میشود. همانطور که در ادامه بحث خواهیم كرد، کد را میتوان بهعنوان مظهر توافق بین طرفین و یا مکمل یک قرارداد سنتی متنی دانست که مفاد خاصی، مانند انتقال وجوه از طرف A بهطرف B را اجرا کند.
کدها در چندین گره از یک بلاکچین تکرار میشوند و در نتیجه از امنیت، دوام و تغییرناپذیری که توسط بلاکچین ارايه میشود، سود میبرند. این تکرار همچنین به معنی اجرای کد با اضافهشدن هر بلاک جدید به بلاکچین، نیز محسوب ميشود. اگر در شروع معامله توسط طرفین، برآورده شدن پارامترهای خاصی توافق شود، کد مرحلهای را که توسط این پارامترها ایجاد شده اجرا میکند و اگر چنین تراکنشی تعریف نشده باشد، کد هیچ اقدامی انجام نخواهد داد. اکثر قراردادهای هوشمند بر مبنای یکی از زبانهای برنامهنویسی که بهطور مستقيم مناسب چنین برنامههای رایانهای هستند مانند زبان برنامهنویسی Solidity نوشته میشوند.
در حال حاضر، پارامترهای ورودی و مراحل اجرای یک قرارداد هوشمند باید مشخص و عینی باشند. بهعبارتدیگر، اگر ورودی “x” رخ دهد، مرحله “y” اجرا ميشود؛ بنابراین، عملکرد فعلی قراردادهای هوشمند مانند انتقال خودکار مقداری رمزارز از کیف پول شخصی به شخص دیگر در صورت رعایت معیارهای خاص بسیار ابتدایی است. با گسترش مقبولیت بلاکچین و افزایش توکنسازی داراییها یا بهعبارتدیگر در زنجیره قرارگرفتن آنها، قراردادهای هوشمند بهطور فزایندهای پیچیده شده و قادر به انجام معاملات سطح بالا خواهند شد. در واقع، توسعهدهندگان هم اکنون چندین مرحله تراکنش را برای ایجاد قراردادهای هوشمند پیچیدهتر جمعآوری کردهاند.
بااینوجود، همچنان کدی که قابلیت تعیین معیارهای حقوقی انتزاعیتری را داشته در دسترس نبوده است. برای مثال ميبايست بتواند برخورداری یک شخص از استانداردهای تجاری منطقی را بررسی كرده و یا اینکه باید اجرای بند جبران خسارت را در دستورالعمل قرار داده و غرامت پرداخت شود.
پیش از تدوین و اجرای یک قرارداد هوشمندِ روی بلاکچین خاص، مرحله اضافی دیگری نیز لازم است، بهعبارتدیگر باید پرداخت کارمزد تراکنش برای قرارداد به زنجیره اضافه شده و بر آن اجرا شود. در مورد بلاکچین اتریوم، قراردادهای هوشمند بر روی ماشین مجازی اتریوم (EVM) اجرا شده و این پرداخت که از طریق رمزارز اتر انجام میشود، بهعنوان “گس ” شناخته شده است. هرچه قرارداد هوشمند، پیچیدهتر باشد (بر اساس مراحل تراکنشی که باید انجام شود)، گس بیشتری براي اجرای قرارداد هوشمند پرداخت میشود؛ بنابراین، گس در حال حاضر بهعنوان یک دروازه مهم بهمنظور جلوگیری از غلبه بیش از حد قراردادهای هوشمند بر EVM عمل میکند.
در حال حاضر قراردادهای هوشمند برای اجرای خودکار دو نوع از “تراکنشی” که در بسیاری از قراردادها وجود دارد، مناسب هستند:
1.اطمینان از پرداخت وجوه در برخی از رویدادهای محرک.
- اعمال مجازاتهای مالی در صورت برآورده نشدن شرایط عینی.
در هر دو مورد، هرگونه مداخله انسان بهعنوانمثال از طریق دارنده وثیقه قابلاعتماد یا حتی سیستم قضایی، پس از استقرار قرارداد هوشمند و عملیاتی شدن آن، لازم نیست و در نتیجه هزینههای اجرایی فرایند قرارداد کاهش خواهد یافت. بهعنوانمثال قراردادهای هوشمند، توانایی برطرف كردن شکافهای مراحل تدارک تا پرداخت رابین دارا هستند. هنگامی که یک محصول وارد شده و در یک انبار اسکن میشود، یک قرارداد هوشمند میتواند بلافاصله درخواست تاييدیههای موردنیاز را ایجاد كرده و پس از دریافت، بلافاصله وجه را از خریدار به فروشنده منتقل کند.
بنابراین فروشندگان در بازه زمانی کوتاهتری، هزینه خود را دریافت کرده و دیگر نیازی به دخالت مستقیم خود ندارند و خریداران نیز هزینههای پرداختی حساب خود را کاهش میدهند. این کار میتواند بر نیاز سرمایه در گردش تاثير گذاشته و عملیات مالی را برای هر دو طرف آسان كند. در زمینه اجرا، میتوان یک قرارداد هوشمند را بهگونهای برنامهریزی كرد که در صورت عدم پرداخت، دسترسی به دارایی متصل به اینترنت قطع شود. بهعنوانمثال، در صورت عدم دریافت پرداخت، ممکن است محتوای خاص بهطور خودکار از دسترس خارج شود.
*پیشینه تاریخی
اصطلاح “قرارداد هوشمند” اولینبار توسط دانشمند دانش کامپیوتر و فعال حوزه رمزارز، نیک زابو، در حدود 20سال پیش زمانی که مشغول به تحصیل در رشته کارشناسی ارشد دانشگاه واشنگتن بود، معرفی شد. به گفته او: “نهادها و روشهای نوین، رسمی كردن روابط تشکیلدهنده اینگونه نهادها را با انقلاب دیجیتال امکانپذیر کردهاند. من این قراردادهای جدید را “هوشمند” نامیدهام، زیرا بسیار کاربردیتر از همتایان بیجان کاغذی خود هستند. منظور از هوشمند بهکارگیری هوش مصنوعی نيست. قرارداد هوشمند مجموعهای از تعهدها از جمله پروتکلهایی که طرفین بهواسطه آن تعهدها، ملزم به اجرا کردن آن هستند، بهصورت دیجیتالی است. ”
بهکارگیری نقلقول زابو در مورد کلمه “هوشمند” هنگام مقایسه قراردادهای هوشمند با قراردادهای کاغذی و جداسازی آن از هوش مصنوعی امری مهم است. قراردادهای هوشمند، نسبت به قراردادهای کاغذی “هوشمندتر” هستند زیرا بهطور خودکار توانایی اجرای برخی مراحل از پیش برنامهریزی شده را دارند، اما نباید آنها را بهعنوان ابزارهای هوشمندی که توانایی تجزیهوتحلیل الزامات انتزاعی یک قرارداد را داشته، در نظر گرفت.
نمونه کلاسیک قرارداد هوشمند ارايه شده توسط زابو، دستگاه فروش خودکار است. هنگامی که خریدار شرایط “قرارداد” (مانند قراردادن پول در دستگاه) را برآورده میسازد، دستگاه بهطور خودکار شرایط قرارداد نانوشته را رعایت کرده و محصول را تحویل میدهد.
امروزه میتوان منشا قراردادهای هوشمند را در قراردادهای ریکاردین دانست، مفهومی که در سال 1996 توسط ایان گریگ و گری هاولند بهعنوان بخشی از کار آنها در سیستم پرداخت ریکاردو برای انتقال دارایی منتشر شد. گریگ قراردادهای ریکاردین را پل ارتباطی بین قراردادهای متنی و کد دانسته که دارای پارامترهای زیر هستند:
یک سند واحد که “الف. بهعنوان قرارداد توسط صادرکنندگان به دارندگان ارايه میشود، ب. به علت حق ارزشمندی که دارندگان دارند و توسط صادرکننده مدیریت میشود، ج. بهراحتی توسط افراد قابل خواندن است (مانند قرارداد روی کاغذ)، د. و همچنین قابلیت خواندن توسط برنامهها را داشته (قابل تجزیهوتحلیل مانند پایگاهداده)، ه. بهصورت دیجیتالی امضا شده، و. کلیدها و اطلاعات سرور را نگهداری میکند، و ز. با یک شناسه منحصربهفرد و ایمن ترکیب میشود.”
*تاثير متقابل با توافقات متنی سنتی
یکی از مشکلات موردبحث درخصوص قرارداد هوشمند استفاده این اصطلاح برای دو نمونه بسیار متفاوت است. مورد اول شامل قراردادهای هوشمندی بوده که بدون هیچ قرارداد اجرایی متنی در پشت آنها ایجاد و اجرا میشوند. بهعنوانمثال، دو طرف قرارداد در مورد روابط تجاری که میخواهند برقرار کنند به تفاهم شفاهی رسیده و سپس بهطور مستقيم آن را به کد اجرایی تبدیل میکنند. از این موارد بهعنوان “قراردادهای هوشمند بر مبنای کد” یاد میشود. نمونه دوم شامل بهکارگیری قراردادهای هوشمند بهعنوان ابزار اعمال مفاد خاص یک قرارداد سنتی متنی است که در آن متن به استفاده از قرارداد هوشمند برای اعمال مفاد خاص اشاره میکند. ما این موارد را بهعنوان “قراردادهای هوشمند جانبی” در نظر میگیریم.
*چالشهای پذیرش گسترده قراردادهای هوشمند
امروزه باتوجهبه چارچوبهای قانونی موجود بهمنظور رسمیت شناختن قراردادهای الکترونیکی احتمالا دادگاه اعتبار کد مجری مقررات یک قرارداد هوشمند را (که ما آن را بهعنوان قراردادهای هوشمند جانبی طبقهبندی کردیم) به رسمیت میشناسد. همچنین با اتکا به سوابق موجود، قرارداد هوشمند بر مبنای کد نیز ممکن است از حمایت قانونی مشابه برخوردار شوند؛ بنابراین امکان محدودیت چالش پذیرش گسترده قرارداد هوشمند به دلیل محدودیتهای قانونی کاهشیافته و منازعات احتمالی بین نحوه عملکرد کد قرارداد هوشمند و اجرای معاملات طرفین امری مهمتر بوده که در ادامه برخی از این چالشها را بیان خواهیم كرد:
*طرفهای غیرفنی چگونه میتوانند مذاکره، پیشنویس و تنظیم قراردادهای هوشمند را انجام دهند؟
چالش اصلی در پذیرش گسترده قراردادهای هوشمند اطمینان طرفین به یک متخصص فنی بهمنظور توافق در کد یا تاييد صحت کد نوشته شده، است. درحالیکه برخی این موارد را میتوان با استخدام وکیل برای تشریح “قانونیبودن” قرارداد سنتی متنی عملی كرد، ولی این قیاس نامناسب است.
همه افراد بهویژه آنهایی که اصطلاحات تجاری را درک کرده معمولا قادر به فهم توافقنامههای کوتاه ساده و همچنین بسیاری از مفاد توافقنامههای طولانیتر هستند. اما یک فرد غیربرنامهنویس، توانایی فهم حتی ابتداییترین قرارداد هوشمند را نداشته، بنابراین بهطور قابلملاحظهای نیاز به متخصص براي درک قرارداد را خواهد داشت.
تا حدودی، ناتوانی طرفین قرارداد در درک کد قرارداد هوشمند، مانعی برای انعقاد قراردادهای کد جانبی نخواهد بود، زیرا به همراه بسیاری از توابع اصلی میتوان الگوهای متنی ایجاد كرد تا نحوه ورود و اجرای پارامترهای مختلف را شرح داد. بهعنوانمثال، یک عملکرد ساده قرارداد هوشمند را فرض کنید که در صورت عدم دریافت مبلغ تعیین شده تا تاریخ مشخص، مبلغ دیرکرد را از کیف پول شخص مقابل استخراج میکند. الگوی متنی میتواند طرفین را وادار به پرداخت مبلغ موردنظر، سررسید آن و مبلغ دیرکرد كند. بااینحال، محتمل است یکی از طرفین به دنبال تاييد کد اصلی عملکردهای مشخص شده در متن و عدم وجود هیچگونه شرایط اضافی باشد (بهویژه در مواردی که الگو هرگونه مسوولیتی را که ناشی از دقت کد است، رد میکند) که این امر نیازمند بررسی شخص ثالث معتبر با تخصص برنامهنویسی خواهد داشت.
در مواردی که چنین الگوهایی وجود نداشته و باید کد جدیدی ایجاد شود، طرفین باید هدف توافق خود را به یک برنامهنویس اعلام کنند. ارايه نسخهای از توافقنامه حقوقی به برنامهنویس امری ناکارآمد خواهد بود، زیرا این امر نیازمند برنامهنویسی است که بتواند یک سند قانونی را رمزگشایی کند؛ بنابراین افراد متقاضی قراردادهای هوشمند جانبی ممکن است نیازمند تهیه یک” تفاهمنامه سرمایهگذاری ” جدای از عملکردها باشند تا در اختیار برنامهنویس قرار گیرد.
طرفین همچنین ممکن است از برنامهنویس تضمینی بخواهند مبنی بر اینکه کد پیادهسازی شده منطبق بر مفاد تفاهمنامه نظر گرفته شده، عمل کند. در نتیجه در قراردادهای سفارشی که به الگوی موجود وابسته نیستند، محتمل است طرفین تفاهمنامه با برنامهنویسِ قرارداد هوشمند، به توافقنامه کتبی برسند، البته متفاوت با قراردادی که براي ارايهدهنده خدمات برای تراکنشهای تبادل الکترونیکی دادهها منعقد میشود.
شرکتهای بیمه همچنین میتوانند سیاستهایی را بهمنظور محافظت از طرفین قرارداد در برابر خطر عدم تطابق کد قرارداد هوشمند با عملکردهای مشخص شده در متن یک توافقنامه ایجاد کنند. اگرچه طرفین میتوانند کد را بازبینی کرده (یا شخص ثالث آن را بررسی کند)، اما بیمهگر میتواند محافظت بیشتری را باتوجهبه امکان اشتباه طرفین هنگام بازبینی کد ارايه دهد. علاوه بر این طرفین باتوجهبه این امر که شرکت بیمه احتمالا قبل از موافقت با بیمه کردن کد، حسابرسی اختصاصی خود را انجام داده است، اطمینان بیشتری حاصل ميكنند.
قراردادهای هوشمند، کدی بهکار گرفته شده بهمنظور تراکنشهای بین مشاغل و مصرفکنندگان، میتواند مجموعهای از مشکلات را ایجاد کند که باید موردتوجه قرار گیرد. دادگاهها از اجرای توافقنامههایی که در آن مصرفکننده از شرایط قرارداد اطلاعات لازم و کافی را دریافت نكرده است، محتاط هستند و ممکن است در صورتی که یک توافقنامه متنی شرایط کامل به مصرفکننده را ارايه نكرده، در اجرای یک قرارداد هوشمند مردد باشند.
سرانجام، باتوجهبه افزایش بررسیها درباره اعتبار یا عملکرد قراردادهای هوشمند، امکان دارد دادگاهها به سیستم متخصصان منصوب از طرف دادگاه برای کمک به رمزگشایی از معنا و مقصود کد، نیاز داشته باشند. امروزه بهطور معمول طرفین از کارشناسان خود در مسايل فنی مورد اختلاف استفاده میکنند، درحالیکه علاوه بر دادگاههای فدرال و هم بسیاری از دادگاههای ایالتی اختیار تعیین کارشناسان را دارا بوده، بهندرت از این اختیار استفاده میکنند. اگر تعداد اختلافات قرارداد استاندارد مبتنی بر تفسیر کد قرارداد هوشمند افزایش یابد، ممکن است این رویه تغییر یابد.
*قراردادهای هوشمند و اتکا به منابع خارج از زنجیره
بسیاری از قراردادهای هوشمند، موارد کاربردی مفروضی موجود است که در آن قرارداد هوشمند، اطلاعات و یا پارامترهایی را از منابعی خارج از بلاکچین دریافت میکند كه بهاصطلاح به آن منابع خارج از زنجیره گفته میشود. بهعنوانمثال، یک قرارداد هوشمند بیمه محصول زراعی، بهگونهای برنامهریزی شده است که اگر دما در هر نقطه، از 32درجه پایین بیاید، باید به بیمهشونده غرامت پرداخت شود. قرارداد هوشمند باید اطلاعات دما را از منبع مورد توافق دریافت کند. این امر دو مساله را مطرح میکند.
نخست، قراردادهای هوشمند توانایی جمعآوری دادهها از منابع خارج از زنجیره را ندارند بلکه این اطلاعات باید به قرارداد هوشمند “ارسال شوند”. دوم، اگر دادههای موردبحث، بهطور مداوم در حال تغییر باشند و ازآنجاکه کد در چندین گره در شبکه تکرار میشود، گرههای مختلف ممکن است اطلاعات متفاوتی را با اختلاف زمانی چندثانیهای دریافت کنند.
در مثال ما، گره یک ممکن است اطلاعاتی دریافت کند که دما 31.9درجه است، درحالیکه گره دو ممکن است اطلاعاتی را دریافت کند که دما 32درجه است. باتوجهبه اینکه برای تاييد تراکنش، اجماع همه گرهها لازم است، چنین نوساناتی میتواند باعث شود که شرایط “برآورده نشده” تلقی شود.
طرفهای قرارداد قادر به حل این مساله با استفاده از “اوراکل ” خواهند بود. اوراکلها، اشخاص ثالثی هستند که اطلاعات خارج از زنجیره را بازیابی کرده و سپس آن اطلاعات را در زمانهای از پیش تعیین شده به بلاکچین منتقل میکنند. در مثال فوق، اوراکل دمای روزانه را کنترل کرده و تعیین میکند که رویداد انجماد رخداده است و سپس این اطلاعات را به قرارداد هوشمند منتقل میکند.
اگرچه اوراکلها راهحل مناسبی را براي دسترسی به منابع خارج از زنجیره ارايه میدهند، اما این فرایند شخص دیگری را اضافه میکند که طرفین برای اجرای یک قرارداد هوشمند باید با او نیز قرارداد ببندند، بنابراین مزایای غیرمتمرکز قراردادهای هوشمند حدودی کاهشیافته و همچنین یک “نقطه شکست ” احتمالی را نیز معرفی میکند. بهعنوانمثال، ممکن است یک اوراکل دچار نقص سیستم شود و قادر به ارسال اطلاعات لازم به بیرون نبوده، یا دادههای اشتباه ارايه دهد و یا بهسادگی از مسیر خارج شود. قراردادهای هوشمند پیش از گسترده شدن، لازم است این موارد را در نظر بگیرند.
*توافقنامه “نهایی” بین طرفین چیست؟
هنگام تجزیهوتحلیل قراردادهای سنتی متنی، دادگاهها سند نهایی و مکتوب مورد تاييد طرفین را بررسی کرده تا مشخص شود طرفین موارد قرارداد را رعایت و یا ناقض قرارداد هستند. از دیدگاه دادگاهها هنگامی یک توافق نهایی است که نشاندهنده اهداف متقابل بهطور واضح باشد.
درخصوص قراردادهای هوشمند بر مبنای کد، کد اجرا شده و نتیجهای که ایجاد میکند نشاندهنده تنها شواهد عینی از شرایط مورد توافق طرفین است. در این موارد، تبادل ایمیل بین طرفین مبنی بر اینکه قرارداد هوشمند “باید” چه عملکردهایی را انجام دهد یا بحثهای شفاهی در این زمینه، احتمالا به کدهای قطعی بهعنوان تجلی تعیینکننده قصد طرفین منجر میشود.
درخصوص قراردادهای هوشمند جانبی، دادگاه به متن و کد بهعنوان یک توافق واحد نگاه میکند. این مساله زمانی پیچیده میشود که توافقنامه متنی سنتی و کد با هم هماهنگ نباشند. بهعنوان نمونه در مثال بیمه محصولات زراعی که در بالا توضیح داده شد، فرض کنید متن توافقنامه مشخص میكند که اگر دما به زیر 32درجه برسد، پرداختی بیمه انجام شده و در صورتی که کد قرارداد هوشمند براي پرداخت، دما را برابر یا زیر 32درجه در نظر بگیرد. با فرض اینکه توافقنامه متنی بیان نميكند که در صورت ناسازگاری، متن یا کد کدامیک در اولویت قرار بگیرند، دادگاهها باید تعیین کنند که کد بهعنوان یک اصلاحیه متقابل، مورد توافق قرار گیرد و یا توافقنامه کتبی باید ارجحیت داشته باشد.
از برخی جهات دیگر، تجزیهوتحلیل نباید در مغایرت با موردی که در آن شروط قرارداد اصلی فارغ از آنچه که در یک برنامه یا سند ضمیمه شده است، باشد. این امر که ناسازگاری بین متن و کد رایانه وجود داشته و نه مابین دو سند متنی، نباید تعیینکننده باشد، اما ممکن است دادگاه دیدگاه متفاوتی اتخاذ كند. بهعنوان یک راهحل، طرفین میتوانند از یک قرارداد متنی استفاده کنند که در آن پارامترهایی که قرارداد هوشمند را راهاندازی میکنند نهتنها در متن قابلمشاهده بوده بلکه در واقع قرارداد هوشمند را تنظیم کنند. در مثال ما، “کمتر از 32درجه” نهتنها در متن دیده قابل رویت باشد، بلکه پارامتر را در خود قرارداد هوشمند ایجاد کرده، در نتیجه احتمال هرگونه ناسازگاری را به حداقل میرساند.
*ماهیت خودکار قراردادهای هوشمند
یکی از ویژگیهای کلیدی قراردادهای هوشمند توانایی آنها در انجام خودکار و بیوقفه تراکنشها بدون نیاز به دخالت انسان است. بااینحال، این امر که قراردادهای هوشمند بهراحتی قابلیت اصلاح یا فسخ را ندارند مگر اینکه طرفین در هنگام ایجاد قرارداد هوشمند چنین قابلیتهایی را در نظر گرفته باشند، برخی از بزرگترین چالشهایی که پذیرش گسترده قراردادهای هوشمند با آن مواجه است، را ایجاد میكند.
بهعنوانمثال، در قراردادهای متنی سنتی، به دلیل اعمال نشدن مجازاتهای موجود، یک طرف قرارداد بهراحتی میتواند تعهدات خود را نقض کرده و اگر یک مشتری ارزشمند، در پرداخت خود تاخیری داشته، فروشنده میتواند تصمیم بگیرد که حفظ رابطه تجاری طولانیمدت مهمتر از هرگونه حق فسخ یا هزینه دیرکرد است. حال، اگر این رابطه بهصورت یک قرارداد هوشمند باشد، امکان عدم اجرای توافق بهصورت موقت وجود ندارد. اگر این همان چیزی باشد که قرارداد هوشمند برای آن برنامهریزی شده، تاخیر در پرداخت میتواند منجر به برداشت خودکار هزینه دیرکرد از حساب مشتری یا تعلیق دسترسی مشتری به برنامه نرمافزاری یا دستگاه متصل به اینترنت شود؛ بنابراین اجرای خودکار توسط قراردادهای هوشمند ممکن است با شیوه عملکرد بسیاری از مشاغل در دنیای واقعی سازگار نباشد.
بهطور مشابه، در یک رابطه قراردادی متنی، یکی از طرفین ممکن است مایل باشد بهطور موقت، عملکرد جزيی را بهعنوان یک عملکرد کامل تلقی کند که ممکن است به دلیل علاقه به حفظ یک رابطه طولانیمدت و یا به این دلیل که یک طرف عملکرد جزيي را به بدون عملکرد بودن، ترجیح دهد. در اینجا، بیطرفی موردنیاز برای کد قرارداد هوشمند ممکن است واقعیت نحوه تعامل طرفین قرارداد را نشان ندهد.
*اصلاح و فسخ قراردادهای هوشمند
در حال حاضر، هیچ راهحل سادهای براي اصلاح قرارداد هوشمند وجود ندارد که این امر سبب بروز چالشهایی برای طرفین قرارداد میشود. بهعنوانمثال، در یک قرارداد سنتی متنی، اگر طرفین متقابلا توافق کنند که پارامترهای قرارداد تجاری خود را تغییر داده، و یا اگر تغییری در قانون ایجاد شده باشد، طرفین میتوانند بهسرعت اصلاحیهای را برای این مدیریت تغییر پیشنویس کنند یا بهسادگی روش خود را تغییر دهند. در حال حاضر قراردادهای هوشمند چنین انعطافپذیری را ارايه نمیدهند.
در واقع، باتوجهبه اینکه بلاکچینها تغییرناپذیر هستند، تغییر قرارداد هوشمند بسیار پیچیدهتر از تغییر کد نرمافزاری استاندارد بوده که در بلاکچین قرار ندارد. در نتیجه اصلاح یک قرارداد هوشمند میتواند منجر به هزینه بالاتری نسبت به اصلاح یک قرارداد متنی شده و احتمال خطا را افزایش دهد زیرا طرفین اصلاحات موردنظر خود را بهطور دقیق منعکس نمیکنند.
چالشهای مشابهی در مورد فسخ قرارداد هوشمند وجود دارد. فرض کنید یکی از طرفین توافقنامه، خطایی را کشف کرده که طی آن بهطرف مقابل حق بیشتری نسبت به حالت توافق شده میدهد، یا نتیجه میگیرد که انجام تعهدات اعلام شده خود بسیار گرانتر از آنچه انتظار میرفت، خواهد بود. در یک قرارداد متنی، یک طرف میتواند بهاصطلاح “نقض کارآمد ” کند، یعنی در صورتی که تشخیص دهد هزینه انجام آن بیشتر از خسارتهای آن است، آگاهانه قرارداد را نقض کرده و خسارت ناشی از آن را بپردازد. علاوه بر این، با توقف عملکرد یا عدم انجام یک مرحله، طرف دیگر میتواند طرف مقابل را برای مذاکره بر سر راهحل دوستانه به میز مذاکره بازگرداند. اما در قراردادهای هوشمند هنوز توانایی پشتیبانی از چنین راهحلهایی را ندارد.
هم اکنون پروژههایی بهمنظور ایجاد قراردادهای هوشمندی در حال اجراست که توانایی فسخ و اصلاح در هر زمان را دارا باشند. درحالیکه این امر از جهاتی مخالف ماهیت تغییرناپذیری و خودکار بودن قراردادهای هوشمند بوده، اما این واقعیت را آشکار میسازد که قراردادهای هوشمند تنها در صورتی بازتاب تجاری خواهند داشت که واقعیت تجاریِ نحوه عملکرد طرفهای قرارداد را منعکس سازند.
*هدف و محدودیتهای گنجاندن ابهام مطلوب در قراردادهای هوشمند
عینیت و اتوماسیون موردنیاز برای قراردادهای هوشمند میتواند برخلاف نحوه مذاکره طرفین تجاری در مورد توافقنامهها باشد. در طول مذاکرات، طرفین بهطور ضمنی در تجزیهوتحلیل هزینه و سود مشارکت دارند، زیرا آگاه هستند که در برخی مواقع تلاش برای اندیشیدن و رسیدگی به هرگونه احتمال ممکن، بازدهی نزولی دارد. طرفین ممکن است مایل بهصرف زمان مدیریتی یا هزینههای قانونی برای مذاکرات نباشند، یا ممکن است به این نتیجه برسند که شروع فعالیتهای درآمدزا تحت یک قرارداد اجرایی، بهتر از پرداختن به مسايل حل نشده است. در عوض، محتمل است که بنابر توافق، در صورت وقوع رویداد پیشبینینشده در آن زمان راه حلی پیدا خواهند كرد. بهطور مشابه، طرفین میتوانند تصمیم بگیرند که یک مفاد از قرارداد را تا حدودی مبهم در توافق باقی گذاشته تا انعطافپذیری لازم برای استدلال در مورد اینکه این مفاد به نفع آنها تفسیر شود، را داشته باشند.
این رویکرد در مورد قرارداد، در قراردادهای هوشمند پیچیدهتر شده زیرا در آن به کد رایانهای دقیق نیاز دارد که در مذاکره قراردادهای متنی یافت نمیشود. یک قرارداد هوشمند نمیتواند شامل شرایط مبهم بوده و همچنین سناریوهای احتمالی خاص را نیز نمیتواند بدون بررسی نادیده بگیرد. در نتیجه، طرفینِ قراردادهای هوشمند ممکن است که هزینه مذاکره قراردادهای هوشمندِ پیچیده را بیشتر از قراردادهای سنتی متنی بیابند.
تعیین كردن میزان هدفمندی مفاد به منظور اجرای قرارداد هوشمند توسط افراد مستلزم زمان خواهد بود. همانطور که اشاره شد، تا به امروز، اکثر قراردادهای هوشمند وظایف نسبتا سادهای را انجام میدهند که بهصورت پارامترهای تحت عبارات “اگر/آنگاه” مشخص میشود. با افزایش پیچیدگی قراردادهای هوشمند، ممکن است طرفین در مورد چگونگی استفاده از یک مفاد قراردادی خاص از طریق عینیت موردنیاز یک قرارداد هوشمند، اختلافنظر داشته باشند.
*آیا قراردادهای هوشمند واقعا پرداخت را تضمین میکنند؟
یکی از مزایای مهم قراردادهای هوشمند انجام پرداختها بدون نیاز به اخطار یا سایر هزینههای وصول و بدون نیاز به مراجعه به دادگاه برای دریافت حکم پرداخت، بهصورت خودکار است. این امر در موارد ساده از دقت کافی برخوردار است اما در روابط تجاری پیچیده ممکن است برخلاف آن حاصل شود.
در حقیقت طرفین دائما سرمایه خود را در سراسر سازمان جابهجا کرده و مجموع مبالغی را که قرار است در یک قرارداد بلندمدت مقرر شود، مسکوت نمیگذارند. بهطور مشابه، بعید است شخصی که وام دریافت کرده، مبلغ کامل وام را در کیف پول مشخصی که به قرارداد هوشمند مرتبط است، نگه دارد. در عوض، وامگیرنده از این وجوه استفاده کرده و بازپرداختهای لازم را تامين میکند.
اگر یکی از طرفین بهواسطه قرارداد هوشمند مبلغی را بدهکار باشد و نتواند کیف پول را بهموقع تامين کند، قرارداد هوشمند که به دنبال انتقال پول بوده متوجه میشود که منابع لازم در دسترس نیست. پیادهسازی لایهای دیگر در این فرایند همچون پیگیری قرارداد هوشمند برای برداشتن وجوه از کیف پولهای دیگر یا از طریق منابع دیگر در صورت عدم اعتبار کافی این کیف پولها یا سایر منابع مالی راه به جایی نخواهد برد.
ممکن است طرفین به منظور حل این موضوع از طریق یک قرارداد متنی اقدام کنند تا کیف پول مرتبط با قرارداد هوشمند همیشه یک حداقل مقداری را داشته باشد و در صورتی که اختلافی بروز دهد، این راهحل بهسادگی میتواند استدلال حقوقی قویتری را بهطرف ارايه دهد. اما این روش، عملیات پرداخت قرارداد هوشمند را از حالت کاملا خودکار خارج کرده؛ لذا، اگرچه قراردادهای هوشمند پرداختها را بسیار کارآمدتر کرده، اما از طرفی قادر به رسیدگی به اختلافات مربوط به پرداخت نيست.
*تخصیص ریسک برای حملات و شکستها
احتمال هک شدن قرارداد و یا اینکه کد یا پروتکل به سادگی حاوی یک خطای برنامهنویسی ناخواسته باشد ریسک مازادی را در قردادهای هوشمند ایجاد کرده که در اکثر روابط قراردادی متنی وجود ندارد. باتوجهبه امنیت نسبی بلاکچین، این مفاهیم ارتباط تنگاتنگی با هم دارند، بهعبارتدیگر اکثر هکهای مرتبط با فناوری بلاکچین در واقع سوءاستفاده از خطای کدنویسی ناخواسته هستند که مانند بسیاری از اشکالات کدهای کامپیوتری، این خطاها نیز چشمگیر نبوده، و تنها پس از سوءاستفاده آشکار میشوند.
بهعنوانمثال، در سال 2017 یک هکر توانست به چندین کیف پول چند امضایی که توسط Parity به ارزش 31میلیون دلار اتر ارايه شده بود، دستبرد بزند. کیف پولهای چند امضایی شامل یکلایه امنیتی بیشتر بوده زیرا برای دسترسی به کیف پول به بیش از یک کلید خصوصی نیاز دارند. بااینحال، در حملهParity، هکر توانست با راهاندازی مجدد قرارداد هوشمند از نقص در کد Parity استفاده کند و خود را بهعنوان تنها مالک کیفهای چند امضایی قرار دهد.
طرفین قرارداد هوشمند باید چگونگی مواجه با خطرات و مسوولیت خطاهای کدگذاری ناخواسته و سوءاستفادههای احتمالی بین طرفین و با توسعهدهندگان شخص ثالث یا بیمهگران قرارداد هوشمند را در نظر بگیرند.
*قانون حاکم و حوزه قضایی
باتوجهبه گسترش قراردادهای هوشمند، یکی از تعهدات اصلی فناوری بلاکچین، توسعه پلتفرمهای قوی، غیرمتمرکز و جهانی است. بااینحال، پذیرش جهانی به معنای استفاده بیشتر طرفین از یک قرارداد هوشمند در حوزههای قضایی نسبت به قراردادهای متنی است؛ بنابراین شرایطی که تحت یک قرارداد هوشمند ارايه شده با تعیین قانون حاکم و حوزه قضایی آن قرارداد هوشمند، بهترین خدمات را خواهد داشت.
قانون حاکم مشخص میکند که کدام قانون اساسی برای تفسیر قرارداد هوشمند اعمال شود، درحالیکه یک حوزه قضایی تعیین میکند که کدام دادگاههای قضایی صلاحیت قضاوت در مورد اختلاف پیشآمده را دارا هستند.
در مواردی که قانون حاکم یا حوزه قضایی مشخص نشده، شاکی محدودیتی در انتخاب محل اقامه دعوی یا بحث در مورد اینکه کدام قانون اساسی باید اعمال شود، باتوجهبه طیف وسیعی از حوزههای قضایی که میتواند درخصوص قرارداد هوشمند استفاده شود، نخواهد داشت. باتوجهبه اینکه بسیاری از اختلافات اولیه درخصوص قراردادهای هوشمند در اولین برداشتهای طرفین خواهد بود، طرفین قرارداد خواهان اطمینان در مورد محل رسیدگی به چنین اختلافاتی هستند.
*بهترین شیوهها
باتوجهبه اینکه ما در مراحل اولیه پذیرش قرارداد هوشمند هستیم، بهترین روشها برای اجرای چنین کدهایی هنوز در حال تکامل هستند. بااینحال، راهحلهای زیر میتواند به توسعهدهندگان در طراحی قراردادهای هوشمند موثر کمک کرده و شرکتهایی را که قصد استفاده از آنها را داشته راهنمایی كند.
- در حال حاضر، طرفین هر نوع قرارداد بهتر است با بهرهگیری از رویکرد ترکیبی که ترکیبی از متن و کد است، خدمات بهتری را دریافت کنند. همانطور که اشاره شد، بنا بر استدلالهای محکم، قراردادهای هوشمند بر مبنای کد باید حداقل تحت قوانین قراردادهای ایالتی در ایالات متحده قابلاجرا باشند. بااینحال، تا زمانی که شفافیت بیشتری در خصوص اعتبار و قابلیت اجرای آنها وجود نداشته باشد، از قراردادهای هوشمند کدی باید تنها در موارد ساده استفاده كرد. طرفین همچنان خواهان نسخههای متنی توافقنامهها هستند تا بتوانند شرایط مورد توافق را بخوانند، و شرایطی را در نظر بگیرند که قراردادهای هوشمند قابلیت اعمال آن را ندارند و سندی داشته باشند که آگاه هستند دادگاه آن را اجرا خواهد کرد.
- در یک قرارداد ترکیبی با استفاده از متن و کد، متن باید بهوضوح کد قرارداد هوشمند را که با آن مرتبط است مشخص کرده و طرفین باید از متغیرهایی که به قرارداد هوشمند منتقل میشوند، نحوه تعریف آنها و رویدادهای تراکنش که باعث اجرای کد میشود، مطلع باشند.
- هنگام اتکا به اوراکل برای دادههای خارج از زنجیره، طرفین باید این موضوع را در نظر بگيرند که اگر اوراکل نتواند دادههای لازم را ارسال کند، یا دادههای اشتباه ارايه دهد و یا بهسادگی از کار بیفتد، چه اتفاقی میافتد.
- طرفین باید تخصیص ریسک را در صورت بروز خطای کدگذاری در نظر بگیرند.
- توافقنامه متنی همراه کد باید قانون حاکم و حوزه قضایی و همچنین ترتیب تقدم بین متن و کد را در صورت بروز اختلاف، مشخص کند.
- توافقنامه متنی باید یک نماینده از هرکدام از طرفین در نظر گرفته تا کد قرارداد هوشمند را بازبینی کرده و شرایطی را که در توافقنامه متنی وجود دارد، منعکس کند. اگرچه چنین نمایندگی نمیتواند طرفی را مجبور به بررسی کد کند، اما بهطرف مقابل کمک کرده تا در برابر ادعایی که کد هرگز بازنگری نشده است، دفاع داشته باشد. همچنین طرفین میتوانند از بیمه استفاده کنند تا در برابر خطای احتمالی که ممکن است در کد به وجود بیاید، اطمینان حاصل کنند. همانطور که اشاره شد، طرفین ممکن است نیاز به مشارکت کارشناسان شخص ثالث برای بررسی کد نیز داشته باشند.
*آینده قراردادهای هوشمند
امروزه، قراردادهای هوشمند نمونهای اولیه از “قانون آمارا ” هستند، مفهومی که توسط روی آمارا، دانشمند کامپیوتر دانشگاه استنفورد، بیان شده که ما تمایل داریم در مورد فناوری جدید در کوتاهمدت مبالغه کرده و در بلندمدت آن را دستکم بگیریم.
اگرچه قراردادهای هوشمند قبل از اینکه بهطور گسترده براي بهکارگیری در روابط تجاری پیچیده به تصویب برسند، باید تکامل یابند، اما میتوانند زمینه انگیزهای را ایجاد کنند که نحوه قرارداد طرفین را در آینده شکل میدهد.
به این منظور در هنگام تفکر در خصوص قراردادهای هوشمند، مهم است که بهسادگی تنها به چگونگی انتقال مفاهیم و ساختارهای موجود به این فناوری جدید تمرکز نکرده، بلکه انقلاب واقعی قراردادهای هوشمند را ناشی از الگوهای کاملا جدیدی بدانيم که ما هنوز آنها را تصور هم نکردهایم.
منبع
https://corpgov.law.harvard.edu/2018/05/26/anintroductiontosmartcontractsandtheirpotentialandinherentlimitations/