منظور از یک قرارداد هوشمند چیست؟
در یک قرارداد عادی، توافقی بین دو یا چند طرف صورت میگیرد که آنها را ملزم به انجام کاری در آینده میکند. به عنوان مثال، آلیس در ازای استفاده از خانه باب (بابت اجاره) مبلغی پول به باب میپردازد یا چارلی و دنیس موافقت میکنند تا چارلی در ازای هر نوع تعمیری
برای ماشین دنیس در آینده مبلغی پول به صورت ماهانه (بیمه ماشین) دریافت کند.
تفاوت قراردادهای هوشمند با سایر قراردادها در این است که شرایط ارزیابی و همچنین اجرایی با استفاده از کدگذاری کامپیوتری انجام میشود که این امر باعث عدم نیاز به اعتماد طرفین قرارداد میشود. به عنوان مثال، اگر آلیس و باب توافق کنند که آلیس بابت یک کاناپه سه ماه بعد 500 دلار به باب بپردازد، آیا کد میتواند تعیین کند که شرایط مطرح شده در این قرارداد انجام شده است یا خیر. آیا آلیس پول باب را پرداخت کرده است؟ آیا سه ماه طی شده است؟ و آیا میتوان کار را بدون دادن قدرت لغو به هر یک از طرفین معامله (تحویل کاناپه) اجرا کرد؟
خصوصیت کلیدی و مهم قراردادهای هوشمند، اجرای قرارداد بدون نیاز به اعتماد کردن است؛ یعنی لازم نیست برای اجرای شرایط مختلف قرارداد به شخص ثالث تکیه کنید. به جای تکیه کردن به حرف طرف مقابل یا حتی بدتر از آن، به جای تکیه کردن به وکلا و سیستم قضایی برای اصلاح اشتباهات، یک قرارداد هوشمند آنچه را که باید در آینده اتفاق بیفتد را به موقع و بیطرفانه اجرا میکند.
قراردادهای هوشمند بسیار گُنگ هستند
استفاده از واژه هوشمند این معنا را القا میکند که این نوع از قراردادها دارای نوعی هوش ذاتی هستند. اما این طور نیست. منظور از بخش هوشمند قرارداد، عدم نیاز به همکاری طرف مقابل برای اجرای مفاد قرارداد است. به جای آن که مجبور به بیرون انداختن مستأجرانی شویم که اجاره بها را پرداخت نمیکنند، قرارداد هوشمند درب آپارتمان را به روی آنها قفل خواهد کرد. آنچه قراردادهای هوشمند را قدرتمند میسازد اجرای پیامدهای توافق شده است نه هوش ذاتی آنها.
یک قرارداد واقعاً هوشمندانه تمام شرایط را در نظر میگیرد، به روح قرارداد مینگرد و احکامی را صادر میکند که حتی در تیرهترین شرایط نیز عادلانه هستند. به بیان دیگر، یک قرارداد هوشمند کاملا شبیه به یک قاضی واقعاً خوب عمل میکند. در واقع اصلاً نمیتوان یک قرارداد هوشمند را باهوش دانست؛ این نوع از قراردادها کاملا قانونمحور عمل میکنند، در تمام موارد پیرو قانون هستند، ملاحظات ثانویه را در نظر نمیگیرد و توجهی به روح قانون ندارد.
به طور خلاصه، عدم نیاز قرارداد هوشمند به اعتمادسازی بدان معناست که واقعاً جایی برای شک و تردید نخواهیم داشت که این امر خود به خود مشکل دیگری را به وجود میآورد.
قراردادهای هوشمند بسیار دشوار هستند
به دلیل زیاد بودن بازاریابی متمرکز در حوزه اتریوم، این باور اشتباه به وجود آمده است که قراردادهای هوشمند تنها در اتریوم وجود دارند. چنین چیزی صحت ندارد بیت کوین از آغاز سال 2009 دارای زبان بسیار گستردهای به نام اسکریپت (Script) برای قراردادهای هوشمند بوده است. در حقیقت، قراردادهای هوشمند پیش از بیتکوین و از سال 1995 وجود داشتهاند. تفاوت میان زبان قرارداد هوشمند بیتکوین و اتریوم آن است که اتریوم، تورینگ کامل (Turing-complete) است. منظور آن است که سولیدیتی (Solidity) (زبان قرارداد هوشمند اتریوم) امکان ایجاد قراردادهای پیچیدهتر را با دشوارتر ساختن تجزیه و تحلیل آنها فراهم میسازد.
پیچیدگی، پیامدهای جدی دارد. در حالی که قراردادهای پیچیده برای وضعیتهای بسیار پیچیده امکانپذیر میباشند، اما امنیت آنها بسیار دشوار است. حتی در قراردادهای عادی نیز هرچه قرارداد پیچیدهتر باشد، اجرای آن دشوارتر خواهد شد چرا که پیچیدگیها بر گنگی و ابهام آن میافزایند و به تفسیر راه میدهند. اما در قراردادهای هوشمند امنیت به معنای مدیریت تمام کارهایی است که از طریق آنها میتوان قرارداد را اجرا کرد و مطمئن شد که قرارداد مطابق با مقصود نویسندگان عمل خواهد کرد.
اجرا در بستر تورینگ کامل، فوقالعاده پیچیده است و تجزیه و تحلیل دشواری دارد. تأمین امنیت قرارداد هوشمندی که تورینگ کامل است، معادل با اثبات بدون باگ بودن یک برنامه کامپیوتری است. همه میدانیم که انجام آن بسیار دشوار است چرا که تقریباً در هر برنامه کامپیوتری باگ وجود دارد.
توجه داشته باشید که نوشتن قراردادهای عادی به چند سال تحصیل و پشت سر گذاشتن امتحانات بسیار دشوار نیاز دارد. همچنین قراردادهای هوشمند نیز نیازمند همان سطح از توانایی و شایستگی هستند و با این تفاوت که در حال حاضر بسیاری از نویسندگان قرارداد هوشمند تازهکارانی هستند که درکی از سطح امنیت مورد نیاز در این قراردادها را به طور کامل ندارند. این امر را میتوان به وضوح از قراردادهای مختلفی متوجه شد که ناقص بودنشان به اثبات رسیده است.
راه حل بیتکوین برای این مشکل بسیار ساده است: تورینگ کامل نبودن. این راه حل تجزیه و تحلیل قراردادها را سادهتر خواهد کرد؛ زیرا شمارش و بررسی حالات احتمالی برنامه بسیار سادهتر خواهد شد.
از سوی دیگر، راه حل اتریوم برای این مشکل گذاشتن بار مسئولیت بر دوش نویسندگان قراردادهای هوشمند است. آنها باید اطمینان یابند که قرارداد مطابق با مقصود طرفین عمل خواهد کرد.
ثبت دیدگاه
0دیدگاه
دیدگاهی ثبت نشده است.
اولین نفری باشید که دیدگاهتان ثبت میشود.