قرارداد هوشمند چیست و چگونه کار می‌کند؟آموزشی جامع و کاربردی

قرارداد هوشمند چیست و چگونه کار می‌کند؟آموزشی جامع و کاربردی

Ali Ebrahimi بهمن ۱۷, ۱۳۹۹
32 دقیقه زمان مطالعه

دنیای ارزهای دیجیتال تنها در رمزارزها خلاصه نمی‌شود. تکنولوژی بلاکچین قابلیت‌های دیگری مانند قراردادهای هوشمند را هم به زندگی ما اضافه کرده‌است. اما قرارداد هوشمند چیست و چگونه کار می‌کند؟

در این مقاله از «اکس نوین» قصد داریم تا قرارداد هوشمند را به شما عزیزان آموزش دهیم. با ما همراه باشید!

آنچه قبل از شروع باید بدانید

در سال ۲۰۲۱، حتی کسانی که با بلاکچین آشنایی ندارند، احتمالاً نام اتریوم را شنیده‌اند. اما اتریوم چیست؟ چه ربطی به موضوع این مقاله، که قرارداد هوشمند است، دارد؟ در ادامه خواهیم گفت!

اتریوم دومین ارز دیجیتال بزرگ بازار با ارزش بازاری معادل با ۱۵۶ میلیارد دلار است. افراد زیادی فکر می‌کنند اتریوم، فقط یک ارز دیجیتال است، اما این‌گونه نیست!

اتریوم در اصل یک پلتفرم است که اجازه می‌دهد تا سایر برنامه‌های بلاکچینی در بستر آن ساخته و اجرا شوند. شبکه اتریوم از ارزی به نام اتر برای تراکنش‌ها استفاده می‌کند.

بلاکچین اتریوم مانند بلاکچین بیت کوین کار می‌کند. بلاکچین چیست؟ داشتن قدرت اختیار و اطلاعات یکسان اعضا در یک شبکه! شبکه‌ای از رایانه‌ها (یا نودها) نرم افزاری را اجرا می‌کنند که تراکنش‌های موجود در شبکه را تأیید می‌کند.

اتر اما در شبکه بلاکچین اتریوم بیشتر از اینکه یک ارز دیجیتال باشد حکم یک سوخت را دارد. در حقیقت همان‌طور که برای اتومبیل خود به بنزین یا برق احتیاج دارید، برای اجرای قراردادهای هوشمند و کاربردهای موجود در بلاکچین اتریوم نیز به اتر نیاز دارید.

با توجه به روند رو به رشد و چشم‌گیر اتریوم و فراگیر شدن برنامه‌هایی که در بستر این بلاکچین اجرا می‌شوند، فهم قراردادهای هوشمند و نحوه کار آنها بسیار بسیار ضروری می باشد.

قراردادهای هوشمند

قراردادهای هوشمند در نگاه اول ممکن است بسیار سخت و غیرقابل فهم به نظر برسند اما با اکس نوین همه چیز آسان می‌شود! ما اینجاییم تا  با طرح مثال‌هایی ملموس(مثل همیشه!) این بحث را ساده‌سازی کنیم!

قبل از ورود به بحث‌های تخصصی و پاسخ به سوال «قرارداد هوشمند چیست؟»، بهتر است که در مورد تاریخچه قراردادهای هوشمند صحبت کنیم. دانستن دلیل و چگونگی ایجاد قراردادهای هوشمند درک اهداف آن در دنیای بلاکچین را آسان می‌کند.

قراردادهای هوشمند چه زمانی اختراع شده‌است؟

در سال ۱۹۹۴، به ذهن نیک سابو (یک برنامه نویس کریپتو) یک ایده جذاب رسید! ایده از این قرار بود: «آیا می شود قراردادها را به صورت کدهای کامپیوتری درآورد؟»  بر اساس این ایده، هر قرارداد در صورت تحقق برخی شرایط به طور خودکار فعال می‌شد و نیاز به اشخاص ثالث مورد اعتماد (مانند بانک‌ها) را برطرف می‌کرد!

اما چرا این ایده اینقدر مهم بود؟ پاسخ ساده است: از بین رفتن واسطه‌ها و اجرای خود به خود قراردادها (یا تراکنش‌ها) در یک شبکه قابل اعتماد که کاملاً توسط کامپیوترها کنترل می‌شود!

سابو سال‌ها روی این ایده کار کرد و حتی کتابی به نام «قراردادهای هوشمند: ایجاد بلاک برای بازارهای دیجیتال آزاد» نوشت. اما مشکل اساسی این بود که در سال ۱۹۹۴، فناوری تحت عنوان بلاکچین وجود نداشت.

اما اکنون این فناوری وجود دارد!

در سال ۲۰۰۹، بیت کوین اولین ارز دیجیتالی بود که از فناوری بلاکچین استفاده کرد. پس از آن در سال ۲۰۱۵، اتریوم، توسط نابغه‌ای به نام ویتالیک بوترین اختراع شد و بالاخره از قراردادهای هوشمند استفاده شد.

قرارداد هوشمند چیست؟

هدف از این مقاله، صرفاً آموزش قراردادهای هوشمند نیست! هدف این است که شما تمامی اطلاعات مرتبط با این فناوری را به خاطر بسپارید. در رابطه با قراردادهای هوشمند سه نکته اساسی وجود دارد که دانستن آنها، در درک این موضوع کمک شایانی می‌کند:

  1. قرارداد هوشمند توافقی بین دو نفر به صورت کدهای کامپیوتری است. این قراردادها بر بستر بلاکچین اجرا می‌شوند، همان‌طور که می‌دانید بلاکچین یک پایگاه داده عمومی بدون تغییر است بنابراین قراردادهای هوشمند قابل تغییر نیستند.
  2. تراکنش‌هایی که در یک قرارداد هوشمند اتفاق می‌افتد توسط بلاکچین پردازش می‌شوند.
  3. تراکنش‌ها فقط در صورت تحقق شرایط توافقنامه انجام می‌شوند؛ شخص ثالثی وجود ندارد، بنابراین مشکلی در مورد اعتماد وجود ندارد.

اما تکنولوژی قراردادهای هوشمند چگونه کار می‌کند؟ اجازه دهید کمی این موضوع را توضیح دهیم.

قرارداد هوشمند چگونه کار می‌کند؟

برای یافتن پاسخ ، بیایید با بررسی چگونگی استفاده از قرارداد هوشمند شروع کنیم:

« تصور کنیم که علی قصد دارد خانه رضا را بخرد. این توافقنامه با استفاده از یک قرارداد هوشمند در بلاکچین اتریوم شکل می‌گیرد. این قرارداد هوشمند حاوی توافقنامه‌ای بین علی و رضا است.

در ساده‌ترین شرایط، توافقنامه به شرح زیر خواهد بود: هنگامی که علی به رضا ۵۰۰ اتر بپردازد، آنگاه علی صاحب خانه خواهد شد.

هنگامی که این توافقنامه در شکل قرارداد هوشمند ایجاد شد دیگر قابلیت تغییر آن وجود نخواهد داشت؛ به این معنی که علی می‌تواند از این مورد خیالش راحت شود که با پرداخت هزینه ۵۰۰ اتر می‌تواند خانه رضا را بخرد.

بدون استفاده از قرارداد هوشمند، علی و رضا مجبور به پرداخت هزینه‌های زیادی به اشخاص شخص ثالث مانند مشاور املاک، محضر و … بودند.»

حرف ندارد! این‌طور نیست؟! با استفاده از قراردادهای هوشمند دیگر تأخیر و انتظار زیاد برای انجام شدن یک معامله وجود نخواهد داشت! این فقط یکی از نمونه‌های بسیاری از کاربردهای قرارداد هوشمند است.

قرارداد هوشمند

اما چه طور تمام این موارد ممکن است؟

همان‌طور که قبلا گفتیم، ما قراردادهای هوشمند را در بستر بلاکچین استفاده می‌کنیم. به دلیل فناوری بلاکچین، می‌توانیم قراردادهای هوشمند را در حالتی غیرمتمرکز استفاده کنیم تا عادلانه و بدون نیاز به اعتماد به شخص ثالث باشند. منظور از تمرکززدایی این است که آنها توسط یک ارگان مرکزی(مانند بانک، کارگزار یا دولت و غیره) کنترل نمی‌شوند.

بلاکچین یک پایگاه داده بزرگ و عمومی است که توسط بسیاری از کامپیوترها، که هر کدام به اختصار «نود» نامیده می‌شوند، اداره می‌شود. به همین دلیل، هیچ یک از افراد یا شرکت‌ها نمی‌توانند آن را کنترل کنند.

هک کردن بلاکچین نیز تقریباً غیرممکن است. اگر هکری بخواهد به بلاکچین یا قراردادهای هوشمندی که بر روی آن قرار دارند حمله کند و آن را هک کند، باید بیش از نیمی از نود ها را هک کند(حمله ۵۱ درصدی!). بنابراین، قراردادهای هوشمند می‌توانند با خیال راحت و اتوماتیک اجرا شوند بدون اینکه کسی بتواند آنها را تغییر دهد!

کاربرد قراردادهای هوشمند

قراردادهایی هوشمند تنها در خرید و فروش، مانند مثال رضا و علی، به کار نمی‌رود! در حقیقت از قراردادهای هوشمند می‌توان برای هر نوع معامله‌ای استفاده کرد و لازم نیست صرفاً یک معامله مالی باشد.

موارد استفاده از قراردادهای هوشمند بی‌نهایت است! آنها در حال حاضر برای تجارت و خدمات مالی، بیمه و حتی برای توافق نامه‌های تأمین مالی سرمایه یا همان عرضه اولیه سکه (ICO) استفاده می‌شوند.

بیایید به بررسی برخی از کاربردهای قراردادهای هوشمند بپردازیم:

شرکت‌های بیمه

دو شرکت بیمه، Atlas Insurance در مالت و Axa  در فرانسه، برای اولین بار در صنعت بیمه در سال ۲۰۱۷ از قراردادهای هوشمند استفاده کردند. بر اساس این قراردادهای هوشمند این شرکت‌ها در صورت تأخیر در پرواز مشتریان، به آنها غرامت پرداخت می‌کردند.

بگذارید با مثالی این موضوع را شرح دهیم.

«فرض کنید همان علی که می‌خواست از رضا خانه بخرد، قصد دارد به انگلستان سفر کند. وی تصمیم می‌گیرد از بیمه Axa استفاده کند. بر اساس قرارداد هوشمند علی ۵ دلار کریپتوکارنسی به این قرارداد واریز می کند و بیمه Axa نیز ۹۵ دلار کریپتوکارنسی به این قرارداد منتقل می‌کند.

در صورتی که پرواز علی به موقع و آن تایم! باشد ۵ دلار به شرکت بیمه منتقل می‌شود. در غیر این صورت به علی ۱۰۰ دلار واریز می‌شود.

با استفاده از قراردادهای هوشمند علی مطمئن است که در صورتی که پروازش با تأخیر مواجه شود ۱۰۰ دلار دریافت خواهد کرد. به عبارت دیگر امکان دبه کردن! وجود ندارد.»

سیستم‌های بهداشتی و درمانی

سیستم‌های بهداشتی و درمانی یکی دیگر از کاربردهای قراردادهای هوشمند است. در حوزه پزشکی استفاده‌های متعددی از قراردادهای هوشمند شده‌است. یکی از این موارد در EncrypGen است. این برنامه کاربردی اطلاعات بیماران را به روشی امن منتقل می‌کند و دست اشخاص ثالث را از این اطلاعات کوتاه می‌کند.

به این ترتیب، این بیماران هستند که اطلاعات خود را کنترل می‌کنند. اگر محققان بخواهند از اطلاعات بیماران استفاده کنند، باید هزینه آن را پرداخت کنند. و این بیماران هستند که میتوانند تصمیم بگیرند آیا تمایل به فروش اطلاعات خود دارند یا خیر.

دولت‌ها

دولت‌ها با استفاده از  قراردادهای هوشمند قادر خواهند بود، رأی‌گیری‌های مطمئن‌تری را تجربه کنند! برنامه‌هایی مانند FollowMyVote از قراردادهای هوشمند و فناوری بلاکچین برای محافظت از آرا در برابر تقلب استفاده می‌کنند.

مدیریت کسب‌و‌کار

مشاغل دیگر هم می‌توانند از قراردادهای هوشمند استفاده کنند. یکی از موارد استفاده، می‌تواند سیستم پرداخت حقوق باشد. شرکت‌ها می‌توانند به جای پرداخت حقوق به صورت دستی، قرارداد هوشمندی تنظیم کنند که برای مثال با رسیدن به تاریخ ۱/۱۲/۹۹ حقوق کارکنان با کسر و اضافات مربوطه پرداخت شود. استفاده از قراردادهای هوشمند در این زمینه می‌تواند باعث صرفه‌جویی در وقت شود.

عرضه‌های اولیه

اگر قصد انجام یک پروژه بلاکچین روی بلاکچین اتریوم دارید و آهی در بساط نیست؟ نگران نباشید! زیرا:

به عرضه اولیه سکه خوش آمدید…

ICO یا عرضه اولیه سکه، یک سیستم سرمایه‌گذاری برای پروژه‌های جدید بلاکچین است. فرض کنید شما می‌خواهید یک توکن جدید بسازید و آن را eXnovin نام‌گذاری می‌کنید. برای جمع کردن سرمایه اولیه شما به یک قرارداد هوشمند نیاز دارید و آن را در بلاکچین اتریوم می‌سازید.

فرض کنید که شما برای این پروژه به ده میلیون دلار پول احتیاج دارید. فرض کنیم این مقدار پول برابر با ده هزار اتر باشد. شما در قرارداد هوشمندتان صد هزار eXnovin قرار می‌دهید. به عبارتی ارزش هر توکن eXnovin برابر با ۰.۱ اتر خواهد شد. در این صورت ، هنگامی که تمامی توکن‌های شما فروخته شود، ده میلیون دلار پول معادل با ده هزار اتر در حساب شما خواهد بود!

قرارداد هوشمندی که شما می‌نویسید اینگونه خواهد بود.

اگر(IF) ۰.۱ اتر به قرارداد هوشمند ارسال شود، سپس (THEN) یک توکن eXnovin به آدرس فرستنده آن ۰.۱ تتر ارسال خواهد شد.

چگونه یک قرارداد هوشمند بنویسیم؟

قراردادهای هوشمند بر روی پلتفرم‌های متعددی از جمله اتریوم، NEO، NXT و … اجرا می‌شوند. اتریوم محبوب‌ترین پلتفرم برای انتخاب توسعه‌دهندگان است. پس توضیحات ما در مورد قراردادهای هوشمند روی بلاکچین اتریوم خواهد بود.

قراردادهای هوشمند با استفاده از زبان برنامه نویسی اصلی اتریوم که Solidity نام دارد، نوشته می‌شوند. برای ایجاد یک قرارداد هوشمند به موارد ذیل احتیاج داریم:

  • موضوع مشخص

موضوع قرارداد کاملاً باید مشخص باشد. قرارداد هوشمند باید به کالا و خدمات تحت قرارداد دسترسی داشته باشد.

  • امضاهای دیجیتال

تمامی شرکت‌کنندگان در قرارداد هوشمند باید از طریق کلیدهای خصوصی خود، در توافقنامه شرکت کنند.

  • پلتفرمی غیر متمرکز

همانط‌ور که گفتیم، قراردادهای هوشمند روی بستر بلاکچین ایجاد می‌شوند و بین نودهای آن توزیع می‌شوند.

نقاط ضعف و قوت قرارداد هوشمند

بهترین چیز در مورد نداشتن واسطه، صرفه‌جویی در هزینه است. و البته عدم نیاز به واسطه!

البته نقطه ضعف بالقوه‌ای نیز وجود دارد: نابودی بعضی از شغل‌ها! واسطه یک شخص واقعی است، دقیقاً مثل من و شما. اگر با استفاده از قراردادهای هوشمند احتیاج به اشخاص ثالث از بین برود، بسیاری از شغل‌ها از بین خواهد رفت.

ایستگاه پایانی؛ همه چیز درباره قرارداد هوشمند

در حالت کلی و در حال حاضر قراردادهای هوشمند، جایگزین واسطه‌ها شده‌اند. به صورت خودکار انجام می‌شوند و البته در بستر اتریوم!

سوالات متداول

قراردادهای هوشمند چیست؟

قراردادهای هوشمند تواقفنامه‌هایی به صورت کدهای کامپیوتری هستند که اشخاص شخص ثالث را کاملاً حذف می‌کنند.

هدف از قراردادهای هوشمند چیست؟

هدف نهایی قراردادهای هوشمند، حذف واسطه‌ها و صرفه‌جویی در زمان و هزینه است.

قراردادهای هوشمند بر روی چه بلاکچین‌هایی کار می‌کنند؟

قراردادهای هوشمند بر روی پلتفرم‌های متعددی از جمله اتریوم، NEO، NXT و … اجرا می‌شوند.