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

تاریخچه قرارداد هوشمند
قراردادهای هوشمند برای اولین بار توسط دانشمند علوم رایانه آمریکایی با نام نیک سابو (Nick Szabo) ابداع شد. نیک در نوشتههای خود تعریف مفصلی از قراردادهای هوشمند ارائه داده است. وی بعدها در کتابی با عنوان “قرارداد هوشمند: ساخت بلاک برای بازارهای دیجیتال آزاد” (Contract:Building Blocks for Digital free Markets) به توضیح کامل ایده خود میپردازد. اما به دلیل عدم رشد فناوری بلاکچین در آن زمان ایده سابو عملیاتی نشد. تا اینکه در سال 2009، بیتکوین اولین کاربرد عملیاتی بلاکچین را به ثبت رساند.
پس از کاربرد فناوری بلاکچین زمینه برای استفاده از قراردادهای هوشمند فراهم گردید. اما تغییرات زیادی در زمینه قراردادهای هوشمند صورت نگرفت تا پاسخگوی جامعه کاربران باشد. با ظهور اتریوم بود که قراردادهای هوشمند دچار تحولات بنیادین شد و به عنوان محرکی برای انجام بسیاری از معاملات مورد استفاده قرار گرفت.
قرارداد هوشمند چگونه کار میکند؟
همانطور که قبلا نیز اشاره شد قراردادهای هوشمند بر روی بلاکچین اجرا میشوند و مزیت اصلی بلاکچین غیرمتمرکز بودن آن است. زمانی که قراردادهای هوشمند بر روی بلاکچین به ثبت رسید، بین همه اعضای بلاکچین به اشتراک گذاشته میشود تا همه به یک نسخه از آن دسترسی داشته باشند.
اشتراکگذاری قرارداد بین اعضا مانع از دستکاری مفاد آن میشود. زیرا هر گونه تغییر در مفاد قرارداد باید به تایید همه مشارکتکنندگان شبکه برسد.
کدهای قرارداد هوشمند توسط برنامهنویس از طریق یک کلاینت که شما را به بلاکچین متصل میکند، نوشته میشود. به عنوان مثال، زبان برنامهنویسی قرارداد هوشمند اتریوم، سالیدیتی است.
نحوه اجرای قرارداد هوشمند
در قرارداد هوشمند برای ثبت قرارداد باید تراکنش صورت گیرد. البته زمانی که نیازمند بررسی وضعیت باشد هیچگونه تراکنشی لازم نیست. هر تراکنشی به عنوان ورودی قرارداد تلقی میشود. سپس این ورودیها همراه با نودهایی که مجهز به ماشینهای مجازی اتریوم هستند قرارداد را به مرحله اجرا در میآورند.
ماشین مجازی اتریوم یک فضای مجازی برای عملیاتی کردن قراردادها است. اگر کارمزد به اندازه کافی باشد تراکنش صورت گرفته مورد تایید قرار میگیرد.

قرارداد هوشمند از چه بخشهایی تشکیل شده است؟
به طور کلی هر قرارداد هوشمند از سه بخش تشکیل شده است: بخش نخست، شامل امضا کنندگان هستند. در هر قرارداد باید دو یا چند طرف وجود داشته باشند تا امکان انعقاد قرارداد مهیا شود. امضا کنندگان باید نسبت به مفاد قرارداد به تفاهم کامل برسند و آن را مورد تایید قرار دهند.
بخش دوم، قرارداد شامل مفاد توافق است. هر گونه توافق تنها بر روی یک شی صورت میگیرد که امکان گنجاندن آن در محیط قرارداد هوشمند وجود دارد. همچنین باید امکان دسترسی بدون قید و شرط قرارداد به شی داده شود. به عنوان مثال، اگر در قرارداد هوشمند باید یک اپلیکشین به کاربری تحویل داده شود باید فایل این اپلیکیشن در اختیار قرارداد هوشمند قرار گیرد.
بخش سوم، شرایط مندرج در توافق است. اصولا هر قراردادی باید شرایط خاصی را در بربگیرد. شرایط مد نظر به صورت ریاضی درآمده و در اختیار برنامهنویس قرار میگیرد تا آن را با یک زبان برنامهنویسی به صورت قرارداد درآورد.
شرایط موجود در توافق شامل الزامات طرفین قرارداد است که از جمله آنها میتوان به پاداش، تنبیهات و سایر شرایط موجود در قرارداد اشاره کرد.
مشکلات عدم فراگیر شدن قرارداد هوشمند چیست؟
باید توجه داشت که فناوری بلاکچین در حال حاضر به صورت کامل فراگیر نیست. بسیاری از غولهای فناوری از سیستمهای سنتی برای انجام امور مالی خود استفاده میکنند. همچنین برخی از موانعی که در ساختار بلاکچین وجود دارد مانع از اجرای برخی از قراردادها در بستر بلاکچین میشود.
برای درک بهتر موضوع را با یک مثال ساده توضیح میدهیم. اگر دو شرکت برای اجرای پروژهای قرارداد منعقد کنند باید بسیاری از سیستمهای مالی، حسابداری و … که خارج زنجبره قرار دارند با بلاکچین مطابقت داده شوند.
البته برای حل این مشکل راهحلی به نام اوراکل وجود دارد. اوراکل در واقع نوعی واسطه بین بلاکچین و APIهای خارج از بلاکچین است که اطلاعات بین دو سیستم کامل متفاوت را ترجمه میکند.
مزایای قراردادهای هوشمند چیست؟
قراردادهای هوشمند مزایای انکارناپذیری در مقایسه با روشهای سنتی دارند که برخی از این مزایا عبارتند از:
دقت
قراردادهای سنتی ممکن است دارای زوایای پنهان باشد و تا زمانی که مشکلی پیش نیامده کسی متوجه وجود باگ در آنها نشود. در چنین شرایطی شرکتها درگیر یک سلسله دعاوی حقوقی خواهند شد که نتیجه آن جز هدر رفتن منابع شرکت و زمان طرفین چیزی نخواهد بود.
قراردادهای هوشمند این مشکل را تا حد زیادی حل کرده اند. در این نوع قراردادها تا زمانی که مفاد قرارداد به صورت یک به یک اجرا نشود قرارداد به اتمام نخواهد رسید. از همین رو خطای انسانی در آن جایگاهی ندارد.
شفافیت
یکی از ویژگیهای بلاکچین، شفافیت است و هر نوع قرارداد هوشمند که در این بستر قرار بگیرد، در دید تمامی اعضا قرار خواهد گرفت.
کارآمدی
کاغذ بازی و مستندسازی قرارداد یک امر معمول در بسیاری از جوامع است که برای جلوگیری از هرگونه تقلب مورد استفاده قرار میگیرد. اما چنین روندی باعث کندی کار میشود. استفاده از قراردادهای هوشمند نه تنها باعث صرفهجویی در زمان میشود بلکه برخی از هزینههای اضافی را نیز کاهش میدهد.
ایمنی
زمانی که یک قرارداد هوشمند وارد بلاک میشود هیچ یک از طرفین نمیتوانند تغییری در مفاد قرارداد به وجود آورند. این امر مانع از دستکاری و تقلب هر یک از طرفین میشود.
ذخیرهسازی
در قراردادهای سنتی مستندسازی قرارداد، یکی از مهمترین ارکان آن به شمار میرود. بدینمعنی که قرارداد باید در یک مکان فیزیکی امن نگهداری شود. حال آنکه قرارداد هوشمند هیچ نیازی به چنین محیطی برای ذخیرهسازی و نگهداری اطلاعات ندارد.
همچنین در قراردادهای سنتی دسترسی به مفاد قرارداد کاری زمانبر و دشوار است در حالی که در قراردادهای هوشمند در سریعترین زمان ممکن، امکان دسترسی به مفاد قرارداد فراهم شده است.
صرفهجویی در هزینهها
قرادادهای سنتی هزینههای مالی زیادی برای هریک از طرفین تحمیل میکند. این هزینهها شامل وکیل، شاهد، واسطه، کارهای اداری و … میشود اما در قراردادهای هوشمند هیچ نیازی به درگیر کردن شخص ثالثی وجود ندارد.

مشکلات استفاده از قراردادهای هوشمند چیست؟
قراردادهای هوشمند با وجود تمام مزایای مذکور، دارای معایبی نیز هستند که مانع از فراگیرشدن استفاده از آنها شده است:
عدم وجود مبنای حقوقی
با وجود اینکه این نوع از قراردادها، تحت عنوان قراردادهای هوشمند نامیده میشوند، اما واقعیت این است که آنها فاقد مبنای حقوقی هستند و به عنوان یک قرارداد بدون پشتوانه تلقی میشوند. این قراردادها تنها به اندازه توانایی یک برنامهنویس هوشمند هستند و از نظر حقوقی اعتبار چندانی ندارند.
نیاز به ورود شخص ثالث
تصور کنید که از مفاد مندرج در یک قرارداد هوشمند، هر یک از طرفین تفسیر خود را داشته باشند. در این حالت چه باید کرد؟ احتمالا در این صورت راهکار بعدی وارد کردن شخص ثالث به اصل ماجراست که این کار نیز در تضاد با شاخصهای در نظرگرفتهشده برای قرارداد هوشمند است. از این رو، به نظر میرسد که بینیاز بودن به شخص ثالت در قراردادهای هوشمند به طور کامل برطرف نشده است.
هزینه
همچنین پیادهسازی قراردادهای هوشمند هزینههای سنگینی را برای هر نهاد یا شرکتی در بر دارد که شامل هزینه مربوط به تغییر سیستم مالی و تجاری خود و سازگاری آن با قرارداد هوشمند است. همچنین هزینههایی را بر سیستم قضایی وارد میکند تا با آنها آشنا شوند و قوانین خود را مطابق با این نوع قراردادها تغییر دهند.
عمومیت
یکی دیگر از عمده مشکلات قراردادهای هوشمند عمومیبودن آنها است. اگرچه شفافیت، امنیت قراردادها را به نوعی تضمین میکند اما برخی از نهادها مایل نیستند تا حریم خصوصی آنها دچار لطمه شود. اگر دو شخص قصد داشته باشند که مقاد قرارداد محرمانه بماند در این حالت هیچ راهکاری از سوی سیستم قراردادهای هوشمند پیشبینی نشده است.
نبود سرعت عمل کافی
همچنین مشکل دیگر مربوط به خود فناوری بلاکچین است. این فناوری از سرعت قابلقبولی برخوردار نیست. این در حالی است که تکنولوژیهای مشابه از سرعت بسیار بالایی برخوردار هستند و ممکن است در آینده بسیار نزدیک جایگرین آن شوند.
به رسمیت شناخته نشدن
و در آخر باید گفت نحوه مواجه دولتها و استقبال عمومی از این فناوری رشد نکرده است و دولتها این نوع قراردادها را به رسمیت نمیشناسند. به عنوان مثال، اگر شما با استفاد از یک قرار داد هوشمند صاحبِ خانهای شوید این نوع مالکیت شما، توسط دولتها مورد تایید قرار نگرفته و به رسمیت شناخته نخواهد شد. در حالت کلی باید گفت که برای پذیرش قراردادهای هوشمند توسط جامعه مسیری طولانی در پیش است.