Smart Contract یا قرارداد هوشمند چیست؟
برای اینکه با مفهوم Smart Contract یا قرارداد هوشمند آشنا شوید بهتر است ابتدا نگاهی کلی به مفهوم قرارداد داشته باشیم. قرارداد در واقع توافقی الزام آور بین اشخاص است که حقوق و تکالیف طرفین را مشخص می نماید. به احتمال زیاد شما تا به امروز با انواع مختلفی از قراردادها سر و کار داشته اید. از قولنامه های خرید خانه و ماشین گرفته تا قراردادهای اجرای پروژه، قرارداد بیمه و بسیاری دیگر. معمولا برای عقد هر قرارداد به یک شخص ثالث یا ارگان خاص برای نظارت بر اجرای قرارداد و تکمیل آن نیاز است. دفاتر بیمه، دفاتر اسناد رسمی، وکلا، بانک ها، مشاور املاک و سایر افراد این مسئولیت را بر عهده دارند.
هنگام استفاده از قراردادهای سنتی ما مجبوریم که به این اشخاص ثالث اعتماد کامل داشته باشیم. از طرف دیگر خدمات آن ها همیشه شامل هزینه بوده و علاوه بر این برای هماهنگی و دیدار با آن ها همیشه زمان زیادی صرف می شود. ارگان ها و اشخاص ثالث مثل تمام ما انسان هستند و در اجرا یا نظارت بر یک قرارداد امکان خطا چه سهوا و چه عمدا همیشه وجود دارد.
در قراردادهای سنتی ما باید به صداقت و درستکاری اشخاص ثالث اعتماد کنیم و با این فرض که قرارداد را دستکاری نمی کنند یا حقوقمان را ضایع نخواهند کرد پیش برویم. متاسفانه این فرض همیشه درست از آب در نمی آید و این اعتماد گاهی باعث ضرر و زیان شدیدی برای ما خواهد بود.
Smart Contract یا قرارداد هوشمند برا حذف کردن این اشخاص ثالث و واسطه ها پا به عرصه ی ظهور گذاشت. این به معنای حذف قسمتی از هزینه های اضافی، صرفه جویی در زمان و عدم نیاز به اعتماد به اشخاص ثالث می باشد. در ادامه با قراردادهای هوشمند بیشتر آشنا خواهید شد.
تاریخچه Smart Contract یا قرارداد هوشمند
ایده ی قراردادهای هوشمند ابتدا در سال 1994 مطرح گردید. در آن زمان هنوز تکنولوژی و ابزار لازم برای پیاده سازی این ایده وجود نداشت. بعدها با به وجود آمدن بلاک چین و بیت کوین، عرصه برای اجرای قراردادهای هوشمند فراهم گردید. قرارداد هوشمند برای اجرا به یک پلتفرم بلاک چین احتیاج دارد. در ابتدا بلاک چین بیت کوین مورد استفاده قرار می گرفت که قابلیت های کمی برای پردازش اسناد داشت. در نهایت شبکه اتریوم به وجود آمد و قابلیت ها و امکانات مورد نیاز را برای ایجاد قراردادهای هوشمند فراهم کرد.
الزامات و نحوه ی کار قرارداد هوشمند
برای درک بهتر موضوع، الزامات قرارداد هوشمند را با تشبیه کردن آنها به قراردادهای سنتی برایتان عنوان خواهم کرد. زمانی که می خواهید یک قرارداد بنویسید با توجه به پیچیدگی موضوع می توانید از نمونه های موجود در اینترنت استفاده کرده یا اینکه از یک وکیل ماهر تقاضا کنید که مفاد قرارداد را برایتان بنویسد. در قراردادهای هوشمند نیز شما می توانید با استفاده از بلاکچین NXT از الگوهای قرارداد هوشمند برای موارد ساده و ابتدایی استفاده کنید. در صورتی که قرارداد پیچیده و منحصر به فردی مدنظرتان باشد باید یک برنامه نویس استخدام کنید تا کدهای قرارداد که شامل تمام مفاد آن می شود را برایتان بنویسد.
شما برای اعلام تعهدتان نسبت به قرارداد آن را امضا می کنید و اثر انگشتتان را ثبت می نمایید. در قراردادهای هوشمند نیز شما به امضای دیجیتال که یک کلید خصوصی است برای قبول قرارداد هوشمند نیاز دارید.
هر قرارداد تعدادی بند و تبصره دارد که طبق آن وظایف و حقوق طرفین مشخص می گردد. در قرارداد هوشمند شرایط به صورت یک رشته ی دقیق از عملیات تعریف می شود که طرفین باید با آن موافقت نموده و آن را امضا کنند.
همانطور که قبلا نیز گفته شد شما برای نظارت و اجرای بخش هایی از قرارداد سنتی به اشخاص ثالث محتاج هستید، اما در قراردادهای هوشمند اشخاص ثالث جای خود را به پلتفرم های بلاکچین داده اند. امروز محبوب ترین و کارآمد ترین پلتفرم برای عقد قراردادهای هوشمند شبکه اتریوم است.
در ادامه نحوه ی کار قراردادهای هوشمند را بهتر درک خواهید کرد.
کد نویسی روی هر پلتفرم با زبان برنامه نویسی مخصوص همان پلتفرم انجام می شود. زبان برنامه نویسی قراردادهای هوشمند روی شبکه اتریوم سالیدیتی (Solidity) نام دارد. کد قراردادهای هوشمند پس از نوشته شدن توسط برنامهنویس از طریق یک کلاینت (نرم افزار رسمی که شما را مستقیم به بلاک چین متصل میکند) به صورت یک تراکنش بر روی بلاک چین ثبت میشود. زمانی که قرارداد روی بلاکچین ثبت شد، برای تمام نودهای شبکه ارسال خواهد شد.
با مطالعه مقاله “ نگاهی کلی به تکنولوژی بلاک چین ” متوجه این موضوع می شوید که اطلاعات روی بلاکچین به صورت غیر متمرکز و عمومی ذخیره شده و نیاز به اشخاص ثالث را از بین می برند. در نتیجه اطلاعات ثبت شده در بلاک چین قابل تغییر، دستکاری یا هک شدن نخواهند بود.
همانطور که قبلا نیز گفته شد Smart Contract یا قرارداد هوشمند روی بلاک چین به صورت رشته ای از عملیات نوشته می شوند که هر یک پس از وقوع دیگری انجام می شوند. به این مثال توجه کنید تا مسئله برایتان روشن شود:
تصور کنید قراردادی به عنوان اجاره مسکن نوشته شود. در این قرار داد محمد باید یکم هر ماه 10 اتریوم برای اجاره منزل به علی که صاحب خانه است پرداخت نماید و در ازای آن یک ماه بتواند در خانه سکونت داشته باشد. محمد 10 اتریوم را پرداخت کرده و علی حق سکونت یک ماهه در خانه را تایید می کند( این حق سکونت می تواند به عنوان توکن درون شبکه تعریف شود.) وقتی که هر دو طرف قرارداد پرداخت های خود را صحیح و کامل انجام داده باشند قرارداد اجرا شده و 10 اتریوم را در اختیار صاحب خانه و تکن های حق سکونت یک ماهه را در اختیار مستاجر قرار می دهد.
اگر بخواهیم اندکی این قرار داد را پیچیده تر کنیم، می توان اینترنت اشیاء را به آن اضاف کرد. مثلا در صورتی که محمد 10 اتریوم اجاره را در موعد مقرر پرداخت نکند، درب های منزل به صورت اتوماتیک قفل می شوند و او قادر نیست به منزل وارد شود.
معایب قراردادهای هوشمند
برای برنامه نویسی قرارداد هوشمند باید هزینه زیادی را به برنامه نویس ها پرداخت نمایید.
قراردادهای هوشمند هنوز توسط بسیاری از دولت ها به رسمیت شناخته نمی شوند.
گاهی اوقات برای برقراری ارتباط بین دنیای دیجیتال و دنیای فیزیکی نیاز به یک برنامه خارجی یا به اصطلاح اوراکل می باشد، این موضوع عدم نیاز به اعتماد کردن به شخص ثالث را نقض می کند.
کدهای قرارداد هوشمند در بلاک چین قبل تغییر نیستند و در صورت وجود باگ یا ایراد شما قادر به تغییر و اصلاح آن ها نخواهید بود.
سخن پایانی
توسعه ی Smart Contract یا قرارداد هوشمند می تواند تغییرات باور نکردنی را در دنیای ما به وجود آورد. کاهش هزینه ها، دقت بالا در انجام عملیات، عدم نیاز به اعتماد به اشخاص ثالث و مهم تر از همه سرعت بخشیدن به فعالیت ها مهم ترین دستاورد های این سیستم هستند. در مقابل باید این نکته را نیز به خاطر داشت که با حذف واسطه ها افراد بسیاری بی کار خواهند شد. اجرایی شدن قراردادهای هوشمند در سطح جهانی و فراگیر نیازمند اعمال قوانین حقوقی و پذیرش آن توسط دولت ها، اشتغال سازی برای افرادی که قبلا به عنوان واسطه مشغول به کار بوده اند و بسیاری موارد تخصصی دیگر می باشد.