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

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

تاریخچه قرارداد هوشمند
دانشمند آمریکایی نیک سابو، در سال 1994، برای نخستین بار، قراردادهای هوشمند را ابداع و تعریف کرد.
او در مقاله خود، به سوال قرارداد هوشمند چیست را اینگونه پاسخ داده است: «پروتکل تراکنش کامپیوتری که شرایط یک قرارداد را با اهداف کلی برآوردن شرایط مشترک قرارداد، به حداقل رساندن استثنائات مخرب و تصادفی و به حداقل رساندن نیاز به واسطههای مورد اعتماد، اجرا میکند».
سیستمهایی مانند دستگاههای فروش خودکار (به عنوان مثال، دستگاههای خودکار فروش نوشیدنی)، به نوعی بیانگر مفهوم کلی قراردادهای هوشمند هستند. در این نوع قراردادها، بلاک چینها پایه و اساس قراردادهای هوشمندی را تشکیل میدهند که دیجیتال، امن و بدون مجوز هستند.
با معرفی بلاک چین بیت کوین در سال 2009، فرصت مناسبی برای ارائه و معرفی اولین پروتکل قرارداد هوشمند ایجاد شد؛ این پروتکل، مجموعهای از شرایط را برای انتقال بیت کوین بین کاربران در شبکه تعیین میکند. در این شرایط، کاربر باید تراکنش را با امضای دیجیتالی مخصوص و معتبر خود، تایید کند و همچنین باید دارای وجوه کافی برای پوشش تراکنش نیز باشد.
در سال 2012، بلاک چین بیت کوین، به منظور پشتیبانی از نوع دیگری از قراردادهای هوشمند، به نام تراکنش چند امضایی ارتقا یاقت. در این نوع از قرار دادهای هوشمند، امنیت وجوه کاربران افزایش مییابد؛ زیرا در تراکنش چند امضایی، تعداد معینی از افراد (public keys) باید تراکنشها را با کلیدهای خصوصی (private keys) خود امضا کنند تا آنها معتبر تلقی شوند.

در سال 2013، با انتشار مقاله معروف اتریوم (Ethereum whitepaper) توسط ویتالیک بوترین (Vitalik Buterin)، جهش بزرگی در قراردادهای هوشمند ایجاد شد. در سال 2015، بلاک چین اتریوم، بستر جدیدی را برای اجرای قراردادهای هوشمند قابل برنامه ریزی، فراهم کرد.
بلاک چین قرارداد هوشمند اتریوم، به جای عملکرد به عنوان یک قرارداد هوشمند واحد یا عرضه محدود چند opcodes، یک «کامپیوتر جهانی» را ارائه کرد که این امکان را فراهم میکرد تا بسیاری از قراردادهای هوشمند مستقل، همزمان اجرا شوند.
قراردادهای هوشمند چگونه کار میکنند؟
قراردادهای هوشمند، برنامههای غیر قابل تغییر در بلاک چینها هستند که بر اساس منطق زیر عمل میکنند:
«اگر یا وقتی که x رخ دهد، آنگاه y را اجرا کنید»
یک قرارداد هوشمند، میتواند برای اجرا، چندین شرط مختلف را تعیین کند. از طرف دیگر، یک برنامه کاربردی میتواند به منظور پشتیبانی از مجموعهای از فرآیندهای به هم پیوسته از چندین قرارداد هوشمند مختلف بهره ببرد. لازم به ذکر است که برای برنامه نویسی قرارداد هوشمند از چندین زبان استفاده میشود که محبوبترین آن Solidity Ethereum است. تمامی توسعه دهندگان میتوانند با توجه به اهداف خود، قرارداد هوشمند را ایجاد و در بلاک چین ذخیره کنند.
همچنین، طرفین قراردادهای هوشمند به صورت مستقل عمل میکنند و نیازی به شناخت یا اعتماد به یک دیگر ندارند؛ زیرا این قرارداد به صورت دقیق، تعامل کاربران را تعیین میکند و مشخص میکند چه ورودی در چه زمانی منجر به چه خروجی شود.

مثالهایی از قراردادهای هوشمند
قراردادهای هوشمند، با هدف خودکارسازی فرآیند تجاری
قراردادهای هوشمند، با هدف خودکارسازی یک فرآیند تجاری خاص بین یک گروه از نهادهای مختلف مورد استفاده قرار میگیرند؛ درنتیجه این نهادها میتوانند با تمامی شرایط قرارداد هوشمند از قبیل پرداختها، جریان فرآیند و حل اختلاف به توافق برسند. به عنوان مثال، قرارداد هوشمند برای تجارت جهانی شامل شرایط زیر میشود:
- شرط 1: در صورتی که کالا به موقع تحویل داده شود، مبلغ کامل از خرده فروش به تامین کننده پرداخت شود.
- شرط 2: در صورتی که کالا با یک روز تأخیر تحویل داده شود، 98 درصد کل مبلغ از خردهفروش به تأمینکننده پرداخت شود.
قراردادهای هوشمند با هدف پشتیبانی از برنامههای غیرمتمرکز
از طرف دیگر، قراردادهای هوشمند با هدف پشتیبانی از برنامههای غیرمتمرکز عمومی (dApps) نیز مورد استفاده قرار میگیرند، در نتیجه هر فردی میتواند بدون نیاز به مجوز از آنها استفاده کند. dAppsهای عمومی اغلب به صورت منبع باز (open-source) هستند؛ بنابراین همه افراد میتوانند قبل از تعامل با آن، نحوه عملکردش را بررسی کنند.
برای مثال، پلتفرمهای غیرمتمرکز وامدهی نمونهای از dApp عمومی محسوب میشوند. این پلتفرمها میتوانند دارای شرایط زیر باشند:
- شرط 1: در صورتی که کاربر، وثیقه فراهم کند، میتواند وامی به ارزش 50 درصد وثیقه خود دریافت کند. (یعنی سپرده 100 دلاری میتواند تا مبلغ 50 دلار وام بگیرد)
- شرط 2: در شرایطی که نسبت وثیقه کاربر (وثیقه/ارزش وام معوق) به زیر 200 درصد برسد، وثیقه سپرده شده، به طور خودکار نقد و به وام دهنده منتقل میشود. بنابراین، وام دهندگان میتوانند اطمینان حاصل کنند که پول خود را از دست نمیدهند.
- شرط 3: وام دهندگان میتوانند با سرمایه گذاری وجوه خود در قراردادهای مشخص، به دیگر کاربران وام بدهند. همچنین، به وام دهنده تضمینی برای دریافت بهره نیز ارائه میشود.
شرایط دریافت این وامها را میتوانید در مقاله معرفی انواع وام کریپتو؛ موارد استفاده و نحوه دریافت مطالعه کنید.
تفاوت قرارداد سنتی با قرارداد هوشمند چیست؟
در اکثر قراردادهای دیجیتال سنتی، این ریسک وجود داشت که طرفین قرارداد به تعهدات خود پایبند نمانند. برای رفع این مسئله، قراردادها اغلب توسط مؤسسات بزرگتر و متمرکز از قبیل بانک برای اجرای شرایط قرارداد، میزبانی میشوند. این موسسات میتوانند به عنوان طرفی از قرارداد یا به عنوان واسطه قابل اعتماد طرفین عمل کنند. این موضوع اگرچه ریسک تقلب را برای طرفین قرار داد از بین میبرد؛ اما خود مشکل دیگری را نیز ایجاد میکند. درواقع در این روش سنتی، این امکان وجو دارد که موسسات بزرگتر و متمرکز بتوانند بر قراردادها تاثیر بگذارند.

مزایای قرارداد هوشمند چیست؟
قراردادهای هوشمند، با ارائه مزیتهای گوناگون، مشکلات قراردادهای سنتی دیجیتال را رفع کردهاند. در ادامه، به این مزیتها اشاره میکنیم.
امنیت
اجرای قرارداد بر روی زیرساختهای غیرمتمرکز بلاک چین موارد زیر را تضمین میکند:
- عدم وجود واسطه متمرکز برای رشوه دادن.
- عدم وجود امکان تغییر نتیجه توسط هر یک از طرفین یا مدیر مرکزی.
- جلوگیری از هک به دلیل رمزنگاری سوابق تراکنشها در بلاک چین.
اعتماد و شفافیت
با توجه به عدم وجود شخص ثالث در قرارداد هوشمند و اشتراک سوابق رمزگذاری تراکنشها بین شرکت کنندگان، این اطمینان حاصل میشود که امکان ایجاد هیچگونه تغییری در اطلاعات برای منافع شخصی وجود ندارد. بنابراین، قراردادهای هوشمند، با داشتن قابلیت غیر قابل تغییر بودن و صحت بالا، تضمین میکنند که قرارداد، مطابق با شرایط، دقیق به موقع اجرا شود.
سرعت، کارایی و دقت
قراردادهای هوشمند، به صورت دیجیتالی و خودکار طراحی شدهاند؛ در نتیجه نیازی به پردازش کاغذی و اسناد ندارند؛ درنتیجه زمانی برای تطبیق خطاهایی که اغلب ناشی از پر کردن دستی اسناد ایجاد میشود، اتلاف نمیشود. درواقع قراردادهای هوشمند بلافاصله پس از اجرای شرایط توافق اجرا میشوند.
صرفه جویی در زمان و هزینهها
با توجه به این موضوع که قراردادهای هوشمند به هیچگونه واسطهای نیاز ندارند، از اتلاف زمان و هزینه جلوگیری میشود؛ زیرا تاخیرهای زمانی و کارمزدهای مرتبط با واسطه از بین میرود.
موارد استفاده از قرارداد هوشمند چیست؟
در این بخش کاربردهای قرارداد هوشمند را بررسی میکنیم.
مدیریت داراییها (توکنها)
قراردادهای هوشمند توکن، با هدف ایجاد، ردیابی و تخصیص حقوق مالکیت به توکنهای دیجیتال موجود در شبکههای بلاک چین، مورد استفاده قرار میگیرند. به عنوان مثال، توکن FIL برای پرداخت خدمات ذخیره سازی غیرمتمرکز Filecoin کاربرد دارد و توکن COMP به کاربران این امکان را میدهد که در حاکمیت پروتکل Compound مشارکت کنند.
خدمات مالی (DeFi)
امور مالی غیرمتمرکز (DeFi)، از قراردادهای هوشمند با هدف بازآفرینی محصولات و خدمات مالی سنتی از قبیل بازارهای مالی ، استیبل کوینها، صرافیها و مدیریت دارایی بهره میبرد. قرارداد هوشمند علاوه بر تضمین امنیت وجوه کاربران، آنها را بر اساس برآورده شدن شرایط از پیش تعیین شده بین کاربران توزیع میکند. برای مثال،Aave ، از قراردادهای هوشمند در پلتفرمهای وام دهی غیر متمرکز استفاده میکند.
بازیها و NFTها
بازیهای مبتنی بر بلاک چین، از قراردادهای هوشمند برای اجرای بدون تقلب شرایط درون بازی، استفاده میکنند. به طور مثال، PoolTogether، یک بازی برای پس انداز سرمایه بدون ضرر است که در آن کاربران سرمایههای خود را در یک استخر مشترک قرار میدهند. این سرمایه، سپس به بازار پول هدایت میشود و در آنجا برای کاربران سود کسب میشود. پس از یک دوره زمانی معین، بازی به پایان میرسد و به یک برنده به طور تصادفی انتخاب میشود و تمام سود به او تعلق میگیرد. لازم به ذکر است که پس از اتمام بازی، همه کاربران میتوانند سپرده اصلی خود را برداشت کنند. به واسطه این پروتکل در بازیها، اطمینان حاصل میشود که همه کاربران از شانس مناسبی برای دریافت داراییهای دیجیتال برخوردار هستند.
بیمه
بیمه پارامتریک (Parametric insurance)، نوعی بیمه است که پرداخت آن به طور مستقیم به شرایط از پیش تعریف شده خاصی وابسته است. قراردادهای هوشمند، زیرساختهای غیرقابل تغییر را برای ایجاد قراردادهای بیمه پارامتریک فراهم میکند. به عنوان مثال، در ایجاد بیمه محصولات میتوان از قراردادهای هوشمند بهره برد.
در این مثال، کاربر یک بیمه نامه را بر اساس اطلاعات آب و هوای خاص مانند میزان بارندگی فصلی در یک مکان جغرافیایی خریداری میکند. در صورتی که میزان بارندگی در آن منطقه جرافیایی از مقدار اولیه اعلام شده بیشتر شود، قرارداد هوشمند به طور خودکار، مبلغ بیمه را پرداخت میکند. همچنین، با استفاده از قرارداد هوشمند، شرکت کنندگان میتوانند وجوه خود را به یک استخر واریز کنند تا سپس حق بیمه جمع آوری شده، بر اساس درصد مشارکت کاربران بین آنها توزیع شود.
ریسکها و محدودیتهای قرارداد هوشمند چیست؟
یکی از محدودیتهای ذاتی قراردادهای هوشمند، مرتبط با بستر اجرایی آنها است. به این معنا که بلاک چینهای زیربنایی قراردادهای هوشمند، به صورت ایزوله هستند و هیچ ارتباطی با دنیای خارجی ندارند.
بنابراین، بدون این ارتباط، قراردادهای هوشمند، نمیتوانند وقوع رویدادهای خارجی را تایید کنند. به عبارت دیگر، قراردادهای هوشمند همچون رایانهای که به اینترنت دسترسی ندارد، بدون اتصال به دنیای واقعی بسیار محدود است.
بنابراین، قراردادهای هوشمند قابل برنامه ریزی، یک تحول عمده در صنعت بلاک چین محسوب میشوند. در این قراردادها، امکان برقراری ارتباط با دادههای دنیای واقعی و سیستمهای سنتی خارج از بلاک چین فراهم میشود و درنتیجه ورودیها و خروجیهای پلتفرم گسترش مییابد.
در قراردادهای هوشمند ترکیبی، به منظور برقراری این ارتباط و ترکیب کدهای زنجیرهای با زیرساختهای خارج از زنجیره از میانافزار امنی به نام اوراکل (oracle) استفاده میشود. درواقع، تاثیر اوراکلها بر قراردادهای هوشمند مشابه تاثیر اینترنت بر رایانهها است.

اوراکلها به عنوان کلید اتصال شبکههای بلاک چین نوظهور با سیستمهای خارجی، قراردادهای هوشمند به هم پیوسته را با داشتن قابلیت اجرا و حفظ حریم خصوصی فعال میکنند. همچنین، امنیت و اعتبار شبکه بلاک چین زیربنایی در این سیستم حفظ میشود. بنابراین، اوراکلها، با فعال کردن قراردادهای هوشمند ترکیبی، ویژگیهای ارزشمند بلاک چینها را تا حد زیادی گسترش و ارتقا میدهند.
سخن اینوکس با شما
در این مقاله، پاسخ کاملی به سوال قرارداد هوشمند چیست، دادیم. همچنین، مزایا، معایب قرارداد هوشمد و نحوه عملکرد آن را مورد بررسی قرار دادیم. قرارداد هوشمند، یک برنامه غیرقابل تغییر و امن است که در صورت برآورده شدن شرایط از پیش تعریف شده خاص، در شبکه بلاک چین اجرا میشود.
سوالات متداول
در این بخش به سوالات متداول در ارتباط با قراردادهای هوشمند و این مقاله پاسخ میدهیم.
نمونه قرارداد هوشمند چیست؟
قرارداد هوشمند، یک برنامه خوداجرای مبتنی بر منطق “اگر-آنگاه” است. برای مثال، ماشینهای فروش خودکار نوشیدنی را در نظر بگیرید؛ این دستگاهها یک مدل ساده از یک قرارداد هوشمند هستند. اگر شخصی 2 دلار را وارد دستگاه کند و سپس کلید B4 را فشار دهد، دستگاه نوشیدنی مشخصی را در قسمت B4، به فرد تحویل میدهد.
کدام بلاک چین از قراردادهای هوشمند پشتیبانی میکند؟
اتریوم یک پلتفرم غیرمتمرکز است که امکان اجرای قراردادهای هوشمند را فراهم میکند.
چرا بلاک چین به قرارداد هوشمند نیاز دارد؟
در بلاک چین، هدف قرارداد هوشمند، ساده کردن تجارت و توافق بین طرفین ناشناس و مشخص است؛ گاها این قرارداد، بدون نیاز به واسطه نیز انجام میشود. یک قرارداد هوشمند، بدون اینکه صحت و اعتبار را به خطر بیندازد، تشریفات و هزینههای مرتبط با روشهای سنتی را کاهش میدهد.
قرارداد هوشمند به زبان ساده
قراردادهای هوشمند برنامههایی هستند که در صورت تحقق شرایطی خاص بدون واسطه و بهطور خودکار دستوراتی را اجرا میکند.