منظور از یک قرارداد هوشمند چیست؟

منظور از یک قرارداد هوشمند چیست؟

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

برای ماشین دنیس در آینده مبلغی پول به صورت ماهانه (بیمه ماشین) دریافت کند.

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

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

قراردادهای هوشمند بسیار گُنگ هستند

استفاده از واژه هوشمند این معنا را القا می‌­کند که این نوع از قراردادها دارای نوعی هوش ذاتی هستند. اما این طور نیست. منظور از بخش هوشمند قرارداد، عدم نیاز به همکاری طرف مقابل برای اجرای مفاد قرارداد است. به جای آن که مجبور به بیرون انداختن مستأجرانی شویم که اجاره ­بها را پرداخت نمی‌­کنند، قرارداد هوشمند درب آپارتمان را به روی آن­ها قفل خواهد کرد. آنچه قراردادهای هوشمند را قدرتمند می‌­سازد اجرای پیامدهای توافق شده است نه هوش ذاتی آن­ها.

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

به طور خلاصه، عدم نیاز قرارداد هوشمند به اعتمادسازی بدان معناست که واقعاً جایی برای شک و تردید نخواهیم داشت که این امر خود به خود مشکل دیگری را به وجود می‌­آورد.

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

به دلیل زیاد بودن بازاریابی متمرکز در حوزه اتریوم، این باور اشتباه به وجود آمده است که قراردادهای هوشمند تنها در اتریوم وجود دارند. چنین چیزی صحت ندارد بیت­ کوین از آغاز سال 2009 دارای زبان بسیار گسترده‌ای به نام اسکریپت (Script) برای قراردادهای هوشمند بوده است. در حقیقت، قراردادهای هوشمند پیش از بیت­کوین و از سال 1995 وجود داشته‌­اند. تفاوت میان زبان قرارداد هوشمند بیت­کوین و اتریوم آن است که اتریوم، تورینگ کامل (Turing-complete) است. منظور آن است که سولیدیتی (Solidity) (زبان قرارداد هوشمند اتریوم) امکان ایجاد قراردادهای پیچیده­‌تر را با دشوارتر ساختن تجزیه و تحلیل آن­ها فراهم می‌­سازد.

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

اجرا در بستر تورینگ کامل، فوق‌­العاده پیچیده است و تجزیه و تحلیل دشواری دارد. تأمین امنیت قرارداد هوشمندی که تورینگ کامل است، معادل با اثبات بدون باگ بودن یک برنامه کامپیوتری است. همه می‌­دانیم که انجام آن بسیار دشوار است چرا که تقریباً در هر برنامه کامپیوتری باگ­ وجود دارد.

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

راه ­حل بیت­کوین برای این مشکل بسیار ساده است: تورینگ ­کامل نبودن. این راه ­حل تجزیه و تحلیل قراردادها را ساده‌­تر خواهد کرد؛ زیرا شمارش و بررسی حالات احتمالی برنامه بسیار ساده‌­تر خواهد شد.

از سوی دیگر، راه­ حل اتریوم برای این مشکل گذاشتن بار مسئولیت بر دوش نویسندگان قراردادهای هوشمند است. ‌آنها باید اطمینان یابند که قرارداد مطابق با مقصود طرفین عمل خواهد کرد.

ثبت دیدگاه

کد امنیتی

0دیدگاه

دیدگاهی ثبت نشده است.

اولین نفری باشید که دیدگاهتان ثبت میشود.