قرارداد هوشمند Smart contract چیست؟
قرارداد هوشمند یا اسمارت کانترکت چیست؟
به طور کلی قرارداد چیزی است که تعیین کننده شرایط یک توافق است و قرارداد هوشمند Smart contract نیز همین کار را میکند. اما آنچه باعث هوشمند شدن این قرارداد میشود این است که شرایط این قرارداد به صورت کدهایی بر روی شبکه بلاک چین به عنوان مثال شبکه بلاکچین اتریوم اجرا میشود. استفاده از بلاک چین نیاز به وجود واسطهها که میتواند یک نهاد دولتی و یا شخص حقیقی باشد را حذف میکند.
قراردادهای هوشمند نتیجه تکامل بلاک چین هستند، با اختراع بلاک چین از طریق بیت کوین، مشخص شد که این یک نوع ابتدایی از فناوری بلاک چین است. با این حال، مفهوم قدرتمند تمرکززدایی و نحوه استفاده از آن برای حل بسیاری از مشکلات در صنایع مختلف را معرفی کرد. با گذشت زمان، اتریوم توسط گاوین وود و ویتالیک بوترین منتشر شد. اتریوم نسل دوم فناوری بلاک چین را آغاز کرد که مفاهیم و تکنیکهای جدیدی را برای مدیریت دفتر کل توزیع شده معرفی کرد. یکی از این تکنیکها شامل قراردادهای هوشمند بود که اتوماسیون را به کل شبکه بلاک چین آورد.
برای تسهیل فرآیند نوشتن قراردادهای هوشمند، برنامهنویسی معرفی شد. یکی از این زبانها که میتواند برای نوشتن قراردادهای هوشمند در اتریوم استفاده شود، زبان برنامه نویسی سالیدیتی است. سایر زبانهای برنامهنویسی قرارداد هوشمند نیز به یک توسعهدهنده اجازه میدهند تا یک قرارداد هوشمند را بنویسد و اجرا کند.
قرارداد هوشمند چیست؟
برای درک بهتر قرارداد هوشمند بهترین روش، مقایسه قرارداد معمولی و قرارداد هوشمند است. تمام ما در زندگی خود کم و بیش با قراردادهای معمولی سروکار داشته ایم. قراردادهایی مثل قرارداد اجاره بهای منزل یا قرارداد انواع بیمه، انواعی از این قراردادهای معمولی هستند. این قراردادها معمولا بین دو یا چند نفر صورت میگیرند و یکی از طرفین قرارداد تعهد میدهد که مبلغی مشخص را در زمانهای مشخص به حساب طرف دیگر واریز کند.
این قراردادها به شکلی دیگر در زمان خرید ما از سایتهای اینترنتی هم صورت میگیرند. مثلا ما قصد خرید یک فایل که میتواند یک فایل صوتی، ویدئویی یا یک نرمافزار باشد را از یکی از سایتهای اینترنتی داریم. در این صورت برای کدهای کامپیوتری یک قرارداد تعریف شده است که اگر ما پول آن فایل را پرداخت کنیم، فایل برایمان قابل دانلود شود.
اینها نمونههایی از قراردادهای معمولی هستند، اما قرارداد هوشمند چیست؟ همانطور که میدانید ما در قراردادهای معمولی نیازمند اعتماد به واسطههایی هستیم که در مثالهای بالا بانک، دولت و یا سرورهای متمرکز کامپیوتری هستند. آنچه باعث تمایز قراردادهای هوشمند میشود، فناوری بلاکچین است که نیاز به واسطهها را از بین میبرد.
حالا این پرسش ممکن است برای شما به وجود آید که بلاک چین چیست و چگونه واسطهها را حذف میکند؟ برای رسیدن به پاسخ این پرسش با ادامه مطلب با ما همراه باشید.
پیدایش قرارداد هوشمند
ایده اولیه قرارداد هوشمند در سال 1994 توسط یک مهندس کامپیوتر که در زمینه رمزنگاری فعالیت میکرد، مطرح شد، نام این دانشمند نیک سابو بود. این ایده با پیدایش فناوری بلاک چین و ایجاد فضایی مناسب برای تحقق قرارداد هوشمند عملی شد. در واقع اولین ارز دیجیتال جهان یعنی بیت کوین که با هدف حذف واسطهها در دنیای مالی به وجود آمد، خود بنیانگذار نوعی قرارداد در شبکه بلاک چین بود اما تامین کننده تمام نیازهای این بازار نبود. بلاک چینی که توانست این ایده و امکان ایجاد قراردادهای هوشمند را به طور کامل عملی کند اتریوم بود.
بلاک چین چیست؟
کلمه بلاک چین Blockchain از دو بخش به معنی بلوک و زنجیره تشکیل شده است و به زنجیره ای از بلوکها اشاره میکند که اطلاعات را بدون امکان ایجاد تغییر و به صورت دائمی در خود نگهداری و ثبت میکند. به عنوان مثال بلاک چین اتریوم یک شبکه غیرمتمرکز برای انجام قراردادهای هوشمند است. در این شبکه به دلیل غیرمتمرکز بودن امکان کنترل دادهها در بیرون و توسط هیچ نهاد یا شخصی وجود ندارد.
در این شبکه اطلاعات در بلوکهایی که با رمزنگاری به هم متصل شده اند، نگهداری میشود. همانطور که گفتیم بلاک چین یک شبکه غیرمتمرکز است به این معنی که اطلاعات ذخیره شده در آن، در یک یا چند مکان خاص ثبت و متمرکز نمیشوند بلکه بین کاربران متصل به شبکه به اشتراک در میآیند.
قرارداد هوشمند چگونه کار میکند؟
پس از اجرای یک قرارداد هوشمند یا اسمارت کانترکت بر روی شبکه بلاک چین به عنوان مثال بلکچین اتریوم، دیگر امکان متوقف کردن آن توسط هیچ نهاد یا شخصی وجود ندارد. جالب است که حتی برنامه نویس این پروژهها توانایی ایجاد تغییر کد قرارداد هوشمند ثبت شده در بلاک چین را ندارد.
به این ترتیب میتوان به کمک قرارداد هوشمند پروژههایی را راهاندازی کرد که بدون توقف و بدون نیاز به هیچ واسطهای، بدون محدودیت زمانی به کار خود ادامه دهد. این پروژهها با نام برنامه های غیرمتمرکز Dapp در دنیای بلاک چین شناخته میشوند. اما dapp چیست؟ Dapp یا دیاپ خلاصه شده Decentralized application به معنی همان برنامههای غیرمتمرکز است که این برنامهها بر روی شبکه بلاک چین ساخته میشوند.
چگونگی کار قرارداد هوشمند را میتوان به یک دستگاه خودکار که برای خرید نوشابه از آن استفاده میکنید، شبیه دانست. شما برای خرید از این دستگاه پول نوشابه را وارد دستگاه میکنید و دستگاه به طور اتوماتیک و بدون وجود هیچ واسطهای نوشابه را به شما تحویل میدهد. دقیقا مانند این دستگاه، قراردادهای هوشمند هم قادر هستند هر نوع معاملهای را به صورت خودکار اجرا کنند.
کدهای یک قرارداد هوشمند که توسط برنامهنویس نوشته میشود، مانند یک تراکنش بر روی شبکه بلاک چین قرار میگیرد. برنامههای زبان نویسی که میتوان به عنوان مثال قرارداد هوشمند اتریوم را نوشت، سالیدیتی (Solidity) است.
مزایا و معایب قرارداد هوشمند
قرارداد هوشمند هم مانند هر فناوری نوظهور دیگری در دنیای امروز، با هدف برطرف کردن یک مشکل و بهتر کردن زندگی بشر به وجود آمده است. مهمترین هدف از به وجود آمدن قراردادهای هوشمند از بین بردن واسطهها در مبادلات مالی است. اما این فناوری دارای مزایای دیگر و همچنین معایبی نیز هست که در این بخش به آنها میپردازیم.
مزایای قرارداد هوشمند
- از بین بردن واسطهها : در واقع قرارداد هوشمند یک قرارداد خودکار است که نیازمند هیچ نهاد یا شخصی برای اجرا و کنترل نیست و تنها دو طرف قرارداد میتوانند در آن دخالت کنند.
- قابل اعتماد بودن : به دلیل استفاده از رمزنگاری و ایجاد قرارداد هوشمند در بستر شبکه بلاک چین امکان تقلب در قرارداد و باطل کردن یک طرفه قرارداد وجود ندارد و آن را به قراردادی قابل اعتماد بین دو طرف تبدیل میکند.
- امن بودن : استفاده از سیستم رمزنگاری این احتمال که قرارداد توسط هکرها مورد حمله قرار بگیرد و یا اطلاعات سرقت شود، را به صفر میرساند.
- کاهش هزینه : در قرارداد هوشمند به دلیل حذف واسطهها دیگر نیاز به پرداخت هزینه به هیچ واسطهای برای اجرا و نظارت بر آن، وجود ندارد. به این ترتیب هزینههای قرارداد تا حد زیادی کاهش مییابد.
- متنوع بودن : قراردادهای هوشمند دارای تنوع زیادی هستند که میتوان با توجه به نوع معامله یکی از آنها را انتخاب کرد.
- کارآمدی : با توجه به آسان بودن اجرای قراردادهای هوشمند و عدم نیاز به مکتوب شدن بر روی کاغذ، آسان بودن جابجایی و ارسال آنها بدون نیاز به حضور طرفین قرارداد در یک مکان این قراردادها بسیار کارآمد هستند و وقت و انرژی کمتری نیز هدر میدهند.
معایب قرارداد هوشمند
- امکان بروز خطای انسانی : از آنجا که کدهای قراردادهای هوشمند توسط انسان نوشته میشود، احتمال بروز خطا در آن وجود دارد. و از آنجا که پس از اجرای قرارداد هوشمند در شبکه بلاک چین دیگر امکان ایجاد تغییر حتی توسط برنامه نویس وجود ندارد، پس امکان اصلاح آن وجود ندارد.
- رسمی نبودن : قراردادهای هوشمند هنوز به طور رسمی توسط دولتها پذیرفته نشده اند و قوانینی برای آنها وجود ندارد.
- بالا بودن هزینه تنظیم : برای تنظیم یک قرارداد هوشمند نیاز به یک برنامه نویس مسلط به کدنویسی و آشنا با بلاک چین است. مسلما تنظیم یک قرارداد هوشمند توسط چنین فردی دارای هزینه بالاتری نسبت به یک قرارداد سنتی خواهد بود.
- کاهش حریم خصوصی : با وجود امنیت بالای قراردادهای هوشمند اما حریم خصوصی در این قراردادها، به دلیل به اشتراک گذاشتن اطلاعات در نودهای بلاک چین کاهش مییابد.
کاربرد قراردادهای هوشمند
تا این بخش از مقاله در رابطه با اینکه قرارداد هوشمند چیست و چه مزایا و معایبی دارد، صحبت کردیم. حال وقت آن است که به بیان کاربردهای اسمارت کانترکت بپردازیم. موارد زیر به عنوان کاربردهای قراردادهای هوشمند بیان میشوند.
- سیستم بهداشت و درمان : کاربرد قرارداد هوشمند بیشتر در بهداشت و درمان و برای سرعت بخشیدن به ثبت و دسترسی به اطلاعات بیماران دیده میشود. علاوه بر اینکه امنیت این اطلاعات نیز با این روش بسیار بیشتر از روشهای مرسوم حفظ میشود.
- در سیستم بهداشتی جهانی کنونی، اطلاعات بسیاری از بیماران در سیستمهای کامپیوتری ذخیره میشود که با وجود صرف هزینه برای امنیت این اطلاعات، همواره مورد حمله هکرها قرار میگیرد. با بهرهگیری از بلاک چین و قرارداد هوشمند این اطلاعات را میتوان با رمزنگاری به صورت بسیار ایمن ثبت و نگهداری کرد. به علاوه میتوان با اختصاص کلیدهای خصوصی، آن را تنها برای افرادی خاص قابل دسترس کرد. این ویژگی در فرآیندهایی مانند صدور نسخه، ثبت فیش و نتایج آزمایش و بسیاری موارد دیگر نیز میتواند به کمک سیستم بهداشت و درمان بیاید.
- امور مالی و تجاری : یکی دیگر از مواردی که ورود قراردادهای هوشمند به آن تاثیر مثبتی در سوددهی دارد، امور مالی و سرمایه گذاری هستند. خودکار شدن بسیاری از فرآیندها به کاهش ساعات کاری، کاهش وابستگی به نیروی کاری و کاهش خطاها و سرعت بخشیدن به محاسبات در این امور خواهد شد.
- ثبت مالکیت دارایی : مورد استفاده قراردادهای هوشمند در مالکیت داراییها را میتوان در دو بخش بررسی کرد، یکی ثبت مالکیت دارایی و دومی تنوع در ثبت داراییهای مختلف. قراردادهای هوشمند روشی سریعتر و کم هزینهتر برای ثبت مالکیت دارایی نسبت به روشهای موجود و جایگزینی مناسب برای آنها هستند. همچنین ثبت هر نوع دارایی از قبیل خانه، زمین، گوشی موبایل و هر نوع دارایی از این طریق امکانپذیر است.
این ویژگی خصوصا در ثبت مالکیت داراییهایی مانند خانه و زمین که نیازمند پرداخت هزینههایی زیاد به مشاور و وکیل است، بسیار کمک کننده خواهد بود. - املاک : از قراردادهای هوشمند میتوان در ایجاد قرارداد خرید، فروش و اجاره نیز بهره برد به این طریق میتوان امنیت و سرعت را بیشتر و هزینه را کمتر کرد. به این ترتیب خریداران نیز با سرعت بیشتری به مورد دلخواه خود میرسند.
- بیمه : بررسی مطالبات درخواست خسارت از شرکتهای بیمه هزینه سنگینی را برای این شرکتها دارد، در کنار اینکه گاهی بسیاری از این مطالبات کلاهبرداری و دروغین است و موجب رساندن ضرر به این شرکتها میشود.
قراردادهای هوشمند با امکان بررسی خطا و تعیین کردن میزان خسارت میتوانند به کاهش زمان و هزینه این بررسیها و همچنین کاهش احتمال رخ دادن خطا در بررسیها کمک کنند. همچنین اطلاعات افراد مانند سوابق خطا در رانندگی و تصادفات، گواهینامه و سایر اطلاعات را میتوان با قراردادهای هوشمند به صورت ایمن، ثبت و ذخیره کرد.
قرارداد هوشمند اتریوم چیست؟
قراردادهای هوشمند باید بر بستر شبکه بلاک چین نوشته و اجرا شوند، به قراردادهای هوشمندی که در شبکه بلاک چین اتریوم اجرا میشوند، قرارداد هوشمند اتریوم گفته میشود. در واقع اتریوم یک پلتفرم غیرمتمرکز برای اجرای قراردادهای هوشمند و محبوبترین آنها است.
اتریوم(Ethereum) یکی از پروژههای جذاب در دنیای ارزهای دیجیتال است که به منظور تولید فضایی در جهت برنامههای بدون واسطه و غیرمتمرکز ایجاد شد. برنامه نویس روسی-کانادایی ویتالیک بوترین اتریوم را در اواخر سال 2013 منتشر کرد.
سوالات متداول
1.آیا قراردادهای هوشمند قابل اعتماد هستند؟
قراردادهای هوشمند پس از استقرار در شبکه بلاک چین، به طور کلی نمیتوانند تغییر یابند. حتی سازنده یا برنامهنویس آنها نمیتواند در آن دخالت کند و آن را تغییر دهد یا متوقف کند.
2.قراردادهای هوشمند توسط چه کسانی نوشته میشود؟
برای نوشتن قرارداد هوشمند نیاز به دانش برنامهنویسی و آشنایی کامل با شبکه بلاک چین است. به عنوان مثال ایجاد قرارداد هوشمند در بستر شبکه بلاک چین اتریوم نیاز به دانش برنامه نویسی سالیدیتی و مقدار لازم اتر دارد.
3.مهمترین مزیت قرارداد هوشمند چیست؟
یکی از بارزترین مزایای قرارداد هوشمند حذف واسطهها و عدم نیاز به کسب اطمینان به طرف مقابل است. زیرا این قرارداد به صورت خودکار اجرا میشود و در صورتی که شرایط قرارداد توسط یکی از طرفین اجرا نشود، به صورت خودکار نیز لغو میشود.
مطالب زیر را حتما مطالعه کنید
بررسی رفتار توابع View و Pure در سالیدیتی Solidity
توابع Payable در قراردادهای هوشمند Solidity
سالیدیتی Solidity چیست؟
سطح دسترسی Visibility در سالیدیتی Solidity
توابع Function در سالیدیتی Solidity
انواع حافظه در قرارداد هوشمند سالیدیتی
6 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
خیلی سایت خوبی دارین
چه مطلب خوبی
خیلی محتوای خوبی بود مهندس
واقعا ارزش وقت گذاشتن داشت
مطلب خوبی بود
مثل همیشه عالی و کاربردی