سال 1996 بود که نیک سزابو به عنوان یک کارشناس علوم کامپیوتر و رمزنگاری طرح و ایده اولیه قرارداد هوشمند را ارائه داد. در آن دوران به دلیل توجه کمتر مردم به دنیای دیجیتال این ایده کمتر مورد توجه قرار گرفت. اما از زمانی که بیت کوین در سال 2009 به دنیا معرفی شد، شبکه بلاکچین به فرصتی مناسب برای استفاده از قراردادهای هوشمند تبدیل شد. این روزها قراردادهای هوشمند با مزایایی که در اختیار طرفین معامله قرار می دهد، مورد توجه تمامی افراد فعال در حوزه های الکترونیکی قرار گرفته است.
اگر بخواهیم تعریف جامعی از قرارداد هوشمند یا (Smart contract) داشته باشید، باید آن را پروتکلی دانست که اگر به صورت درست و دقیق به مفاد آن عمل کنید، اجرا می شود. درست مانند اپلیکیشن هایی که توسط کدنویسان اجرا می شود. نویسندگان قراردادهای هوشمند قبل از اجرای آن شرایطی دقیق تعریف می کنند و سپس بر بستر فناوری بلاکچین که بستری غیرمتمرکز است اجرا می شود. پس می توان گفت که یک قرارداد هوشمند را نمی توان تغییر داد و مفاد آن را بعد از اجرا و قبل از موعد منقضی عوض کرد.
چه تفاوتی بین قرارداد هوشمند و سنتی وجود دارد؟
حتما شما هم در دنیای واقعی ممکن است خانه یا ماشین خریداری کرده باشید. نفر سومی به عنوان واسطه قراردادی را تنظیم می کند که امکان حذف و یا تغییر بندهای آن به نفع یک طرف وجود دارد. برای هر طرف نیز این حق وجود دارد که بتواند قرارداد را لغو کرده و در شرایط خاص ضرر آن را پرداخت کند.
اما قراردادهای هوشمند بدون نیاز به واسطه و درست مانند هر گونه تراکنش ارز دیجیتال که به صورت همتا به همتا انجام می شود بین دو طرف معامله بسته می شود. در این قرارداد هیچ گونه امکان تغییر مفاد وجود ندارد و طرفین قبل از انتشار و تنظیم آن می توانند از وارد شدن به آن منصرف شوند اما اگر قرارداد را قبول کردند بدون فسخ یک طرفه و تقلب باید آن را اجرا کنند.
نحوه فعالیت قراردادهای هوشمند
برای بررسی نحوه اجرای قرارداد هوشمند ابتدا باید چند تعریف ساده را بررسی کنیم:
- کلاینت: نرم افزاری که کاربران را به بلاکچین متصل می کند.
- نودهای بلاکچین: کاربرانی که به بلاکچین متصل می شوند.
- ماشین مجازی: فضایی که در آن قرارداد هوشمند اجرا می شود.
قرارداد هوشمندی که کد نویسی شده است از طریق یک کلاینت به بلاکچین متصل می شود. نودهای بلاکچین برای متصل شدن به این قرارداد نوشته شده باید یک تراکنش انجام دهند. ولی اگر تنها قصد بررسی قرارداد را داشته باشند بدون انجام تراکنش نیز می توانند بدون تراکنش بررسی لازم را انجام دهند. نودهایی که تصمیم دارند تراکنش انجام دهند از طریق ماشین مجازی و ورودی دریافت شده قرار را روی سیستم اجرا می کنند و اگر کارمزد آن مناسب باشد؛ آن را تایید می کنند.
اجزای تشکیل دهنده قراردادهای هوشمند
یک قرارداد هوشمند از 5 پایه و رکن تشکیل شده است که شامل موارد زیر می شود:
- امضاکنندگان: کاملا مشخص است که طرفین قرارداد که شرایط قرارداد را پذیرفته و آن را تایید می کنند را شامل می شود.
- موضوع قرارداد: در قرارداد هوشمند امکان دسترسی سریع به موضوع قرارداد وجود دارد. به عبارتی طبق این قرارداد باید فایلی برای طرف دوم ارسال شود، در قرارداد فایل مورد نظر موجود است.
- شرایط قرارداد: درست مانند یک قرارداد سنتی تمامی وظایف، مسئولیت ها، موارد تخلف، خسارات، تخفیف، کارمزد در یک قرارداد هوشمند ذکر می شود. این شرایط با زبان برنامه نویسی سالیدتی نوشته می شود.
- اوراکل: اوراکل اطلاعاتی که قرارداد به آن نیاز دارد را ارائه می دهد. برای مثال اگر قرارداد مربوط به طلا است، یک سایت برای بررسی قیمت طلا در قرارداد تعریف می شود.
- پلتفرم اختصاصی: در یک قانون کلی قراردادهای هوشمند در یک سیستم اختصاصی بین کاربران توزیع می شود و بعد از آن یک پلتفرم رسمی نظیر بلاکچین اتریوم نیاز است که قرارداد را اجرا نماید.
ویژگی های محیط اجرای قراردادهای هوشمند
قبلا هم گفتیم که یک رکن اساسی قرارداد هوشمند پلتفرمی است که در آن اجرا می شود. این پلتفرم و بستر اجرای قرارداد در ابتدا باید از سیستم رمزنگاری داده پشتیبانی کند تا دو طرف قرارداد بتوانند از امنیت قرارداد مطمئن شوند و از طریق کد رمزنگاری شده قرارداد را تایید و اجرا کنند.
از دیگر ویژگی های محیط اجرای قراردادهای هوشمند، غیرمتمرکز بودن آن است. به عبارتی یک Smart contract بدون حضور یک نهاد مرکزی و به صورت اتوماتیک اجرا می شود تا طرفین بتوانند به آن اعتماد کنند. داده های این شبکه باید شفاف و قابل رویت باشند. با توجه به این ویژگی های شبکه بلاکچین بستری امن برای اجرای قراردادهای هوشمند است.
قابل اطمینان بودن از دیگر ویژگی های یک محیط اجرای قرارداد است. از این رو این سیستم باید از گواهی SSL و HTTPS برخوردار باشد. این قرارداد باید با دیگر پروتکل های امنیتی همخوانی داشته باشد تا کاملا ایمن اجرا شده و طرفین به آن اطمینان پیدا کنند.
ویژگی ها و مزایای قرارداد هوشمند
استفاده از قراردادهای هوشمند در کریپتوکارنسی مزایای زیادی دارد که از جمله مهم ترین آن ها می توان به موارد زیر اشاره کرد:
شفافیت قراردادها
در زمان ارائه یک قرارداد هوشمند ابتدا آن را در بستر اختصاصی منتشر می کنند و همه طرفین قرارداد به آن دسترسی دارند. پس در صورتی که طی یک تراکنش قرارداد مورد تایید قرار گرفت، دیگر امکان فسخ قرارداد یا تغییر آن وجود ندارد.
امنیت قراردادها
درست مانند ارزهای دیجیتال، قراردادهای هوشمند نیز از بالاترین سطوح رمزگذاری استفاده می کنند. استفاده از رمزگذاری پیشرفته که در قراردادهای هوشمند استفاده می شود امکان هک شدن و به سرقت بردن موارد مالی و معنوی را به کمترین میزان ممکن کاهش می دهد.
اجرای همزمان قرارداد
اگر معیارهای مورد نظر در قراردادهای هوشمند برآورده شود تقریبا قرارداد برای همه طرفین به صورت همزمان اجرا می شود. البته این مورد به توان عملیاتی و ازدحام شبکه زیربنایی نیز وابسته است.
قراردادهای هوشمند مستقل و غیرمتمرکز هستند
قراردادهای هوشمند بدون نیاز به یک فرد وابسته و به صورت کاملا خودکار اجرا می شود. بنابراین نیاز نیست برای تایید آن دکمه ای را فشار دهید و یا امضایی را ثبت کنید. هیچ کنترلی روی قرارداد از طرف یک حزب متمرکز وجود ندارد.
دقت بالای قراردادها
از جمله مهم ترین ویژگی های یک قرارداد هوشمند اینست که ضوابط و شرایط به صورت دقیق ثبت شوند. در صورتی که یکی از قوانین به هر دلیل توسط برنامه نویسان تغییر کند، عملا قرارداد فسخ می شود و از این رو دقت در ثبت ضوابط یکی از مهم ترین ارکان قراردادهای هوشمند است.
سرعت عمل بالا
بر خلاف قراردادهای سنتی، در قراردادهای هوشمند بستر اصلی اینترنت است و طرفین قرارداد نیز بدون نیاز به انجام فعالیت خاصی و تنها با تایید قرارداد جزوی از آن می شوند. در نتیجه سرعت تایید و اجرای قراردادهای هوشمند بسیار بالا است.
قابلیت ذخیره سازی قرارداد
تمامی جزئیات قراردادهای هوشمند در بستر اینترنتی و بلاکچین ذخیره می شود و حتی اطلاعات طرفین قرارداد نیز به صورت دقیق ثبت می شود و هر زمان نیاز به بازیابی قرارداد احساس شود می توان در کمترین زمان به تمامی اطلاعات دست یافت.
نتیجه قرارداد تضمین شده
از جمله مهم ترین ویژگی های قراردادهای هوشمند، نبود مرکز میانی خاص جهت نظارت بر اجرای قرارداد است. از این رو هر طرف که قرارداد را تایید کرد ناچار است که به تمامی تعهدات خود عمل کند. در ضمن مزایای این روش باعث می شود طرفین بدون داشتن توانایی نتواند قرارداد را تایید کنند.
کدام بلاکچین ها از قراداد هوشمند استفاده می کنند؟
گفتیم که بهترین بستر برای اجرای قراردادهای هوشمند، بلاکچین ها هستند. از جمله بلاکچین هایی که از قرارداد هوشمند استفاده می کنند شامل موارد زیر می شود:
- بیت کوین
بلاکچین بیت کوین با اینکه برای پردازش معاملات بیت کوین گزینه ای بسیار مناسب است اما قابلیت پردازش اسناد آن ضعیف است.
- زنجیره های جانبی یا Side Chains
این بلاکچین در کنار بیت کوین فعالیت می کند و فضای بیشتری برای پردازش قراردادها فراهم کرده است.
- اتریوم
اتریوم به عنوان یک پلتفرم عمومی بلاکچین به دنیا معرفی شده است و برای رمزگذاری و پردازش قراردادهای هوشمند گزینه ای بسیار مناسب است. اما برای استفاده از این بلاکچین و استفاده از فرصت های آن باید توکن ETH پرداخت نمایید.
- NXT
این بلاکچین نیز از جمله مدل های عمومی است و تعدادی الگوی محدود جهت قراردادها به شما ارائه می دهد. این برای افرادی که قادر به کد نویسی نیستند بسیار مناسب است اما امکان تغییر آنچه در قرارداد وجود دارد، تعبیه نشده و باید از آنچه در این پلتفرم است استفاده کنید.
- هایپر لجر
اصلی ترین رقیب اتریوم به حساب می آید که توسط IBM پشتیبانی می شود. این پلتفرم بر خلاف دیگر پلتفرم ها از دفتر کل توزیع بهره مند است و از این رو عملکرد قابل اعتمادی دارد. امکان نوشتن قرارداد به زبان های مختلف در این پلتفرم وجود دارد.
کاربرد قرارداد هوشمند
شاید این تصور ایجاد شود که قرارداد هوشمند تنها در دنیای ارزهای دیجیتال کاربرد دارد. اما امروزه در موارد بسیار زیادی از این بستر استفاده می شود تا سرعت و کارایی فعالیت ها افزایش یابد. از جمله فعالیت هایی که امکان استفاده از قراردادهای هوشمند در آن وجود دارد می توان به موارد زیر اشاره کرد:
- انتخابات
- مدیریت مالی شرکت ها
- پیشگیری از کپی رایت در صنعت موسیقی
- صنعت بانکداری و بیمه
- صنعت بهداشت و درمان
کلام آخر
قرارداد هوشمند پروتکلی است که بر بستر اینترنت اجرا می شود و با افزایش سرعت، کارایی و دقت قراردادها را افزایش داده است. از طرفی با عدم تغییر در مفاد و شرایط قرارداد این اطمینان را حاصل می کند که هیچ کدام از طرفین نمی تواند حقوق دیگری را ضایع کند. بستر بلاکچین نیز بهترین شرایط را برای اجرای قراردادهای هوشمند فراهم کرده است.