به جرئت میتوان گفت تکنولوژی و علم نسبت به صد سال گذشته پیشرفت چشمگیری کرده است. صد سال پیش برای انعقاد یک قرارداد میان دو طرف نیاز بود تا آن را روی کاغذ بنویسند و امضا کنند. امروز این روند شکل و شمایل نوینی پیدا کرده و به کدهای کامپیوتری تبدیل شده است که به آن قرارداد هوشمند (smart contract) میگوییم.
در این مقاله تصمیم داریم تا به اولا به سوال قرارداد هوشمند چیست پاسخ دهیم و پس از آن، کاربردهای قراردادهای هوشمند را بررسی کنیم. در نهایت هم کمی در رابطه با آینده این قراردادها صحبت خواهیم کرد. با ما همراه باشید.
قرارداد هوشمند (smart contract) چیست؟
قرارداد هوشمند در دهه 1990 توسط یک دانشمند علوم کامپیوتر به نام نیک سابو پیشنهاد شدند و نسل جدید قراردادهاست که بر مبنای کدهای کامپیوتری و در بستر بلاکچین پیادهسازی میشود. به عبارت دیگر، قرارداد هوشمند مجموعهای از کدهای برنامه نویسی است که روی بلاکچین پیاده سازی شده و در صورت اتفاق افتادن شرایطی خاص، اجرایی میشود.
همانطور که گفتیم، قراردادهای هوشمند در بستر بلاکچین پیادهسازی میشوند. بلاکچینها غیرمتمرکزند؛ این یعنی اشخاص شخص ثالث در فعالیت آنها دخیل نیستند و همه چیز بدون نیاز به شخصی دیگر انجام میشود. همین نکته باعث میشود تا با استفاده از قراردادهای هوشمند، از اعتماد کردن به دیگران بی نیاز شویم.
اما یک قرارداد هوشمند با قرارداد معمولی چه تفاوتی دارد؟
یک قرارداد معمولی توافقی میان دو یا چند شخص است. به عنوان مثال، مسعود متعهد میشود در ازای گرفتن وام از بانک، هر ماه مبلغی را به عنوان قسط پرداخت کند، یا شرکت بیمه متعهد میشود در ازای پرداخت حق بیمه، خسارتهای احتمالی خودروی علی را در تصادفات پرداخت کند.
همه قراردادهای معمولی یک ویژگی مشترک دارند و آن این است که برای اجرای همه آنها، نیاز به واسطههایی مانند بانک، دولت، شرکت بیمه و ... داریم و مجبوریم تا به آنها اعتماد کنیم.
حالا قراردادهای هوشمند، با استفاده از فناوری بلاکچین، لزوم اعتماد کردن به دیگری را از بین برده و ما را از آن بینیاز کرده است. زمانی که یک قرارداد هوشمند در شبکه بلاکچینی اجرا میشود، دیگر قابل توقف نخواهد بود و نمیتوان جلوی آن را گرفت یا آن را متوقف کرد.
قرارداد هوشمند چگونه کار میکند؟
بالاتر گفتیم که قراردادهای هوشمند برای بینیاز کردن افراد از واسطهها در بستر شبکههای بلاکچینی پیادهسازی میشوند. یکی از ویژگیهای مهم بلاکچین، قابلیت تغییرناپذیر بودن آن است و همین باعث میشود تا نتوان یک قرارداد هوشمند را دستکاری کرد.
ماهیت قراردادهای هوشمند، کدهای کامپیوتری است، لذا برای ساخت یک قرارداد هوشمند نیاز به برنامهنویسی داریم. در شبکه اتریوم از زبان برنامهنویسی سالیدیتی برای نوشتن قراردادهای هوشمند استفاده میشود.
بگذارید تا روند اجرای یک قرارداد هوشمند در شبکه اتریوم را بررسی کنیم. گفتیم که قراردادهای هوشمند در شبکه اتریوم با زبان سالیدیتی نوشته و در شبکه پیادهسازی میشوند. شبکه اتریوم، از قابلیتی به اسم ماشین مجازی اتریوم (EVM) بهره میبرد که به نوعی مسبب اجرای تمامی قراردادهای هوشمند است.
برای درک بهتر نحوه اجرای قرارداد هوشمند به مثال زیر دقت کنید:
فرض کنید علی میخواهد منزل اکبر را بخرد. آنها تصمیم میگیرند تا از تکنولوژی روز بهره ببرند و قراردادی را در شبکه بلاکچینی اتریوم منعقد میکنند که شامل توافقی میان علی و اکبر است.
در این قرارداد آمده است به محض اینکه علی 300 واحد اتریوم به اکبر پرداخت کند، مالکیت خانه به وی منتقل خواهد شد. از آنجایی که این توافق طی یک قرارداد هوشمند انجام شده است، پس از انجام، قابل تغییر نخواهد بود. بنابراین علی این اطمینان را خواهد داشت که پس از پرداخت 300 اتریوم به اکبر، خانه از آن او خواهد شد.
در این سناریو تخیلی، بدون استفاده از قراردادهای هوشمند، علی و اکبر باید به اشخاص شخص ثالث بسیاری مراجعه میکردند که بسیار هزینهبر خواهد بود.
قراردادهای هوشمند چه کاربردی دارند؟
تا اینجا فهمیدیم که قرارداد هوشمند چیست و چگونه اجرا میشود. در این قسمت میخواهیم کاربرد قراردادهای هوشمند را بررسی کنیم.
به طور کلی از قراردادهای هوشمند میتوان در حوزههای گوناگونی استفاده کرد. در حقیقت، هر جا که فکر کنیم نیاز است تا نیاز به اعتماد کردن از بین برود، میتوان از قراردادهای هوشمند اسفاده کرد.
به عنوان مثال میتوان انتخابات را در بستر بلاکچین و با استفاده از قراردادهای هوشمند برگزار کرد و نتیجه بدون تقلب و دستکاری را اعلام نمود. یا شرکتهای بیمه میتوانند به سادگی با استفاده از قراردادهای هوشمند، از قابلیتهایی چون پرداخت خودکار خسارت، دریافت حق بیمه و تمدید بیمه و ... بهره ببرند.
علاوه بر این، تمامی برنامههای غیرمتمرکز ساخته شده در بستر شبکههای بلاکچینی، از قراردادهای هوشمند استفاده میکنند. منظور از برنامه هوشمند یا Dapp، برنامهای است که بدون نیاز به بانک یا سازمانهای دیگر، تراکنشها و خدمات مالی را برای کاربران تسهیل میکند. از جمله محبوبترین پروتکلهایی که از قراردادهای هوشمند استفاده کردهاند میتوان به یونی سواپ، سوشی سواپ، کامپاند و ... اشاره کرد.
مزایا و معایب قراردادهای هوشمند
بدون شک قراردادهای هوشمند در کنار مزایای خود، مشکلات و معایبی هم دارند. در این قسمت مزایا و معایب قراردادهای هوشمند را بررسی خواهیم کرد.
مزایا:
- نیاز به اعتماد به اشخاص ثالث از بین میرود.
- قابل دستکاری نیست و نمیتوان پس از اجرا آن را تغییر داد و یا بازگرداند.
- چون بر بستر بلاکچین اجرا میشود، شفافیت بسیاری دارد.
- با حذف واسطهها، هزینهها تا حد زیادی کاهش مییابند.
معایب:
- چون کدها به دست انسانها نوشته میشوند ممکن است باگ و یا اشکالات مهلکی داشته باشند.
- وضعیت قانونی قراردادهای هوشمند هنوز با ابهام مواجه است و بسیاری از دولتها آن را به رسمیت نمیشناسند.
- هزینه ساخت و پیادهسازی قراردادهای هوشمند تا حدی زیاد است.
- بسیاری از بلاکچینهای امروزی با مسئله ازدحام و همچنین و کم بودن سرعت پردازش و مقیاسپذیری پایین روبهرو هستند که بدون شک بر قراردادهای هوشمند تاثیر میگذارد.
سخن نهایی؛ آینده از آن قراردادهای هوشمند است
چه بخواهیم و چه نخواهیم، جهان پیرامون ما به سمت غیرمتمرکز شدن و حذف واسطهها پیش میرود. انقلاب تمرکززدایی با ظهور بیت کوین کلید خورد اما پروژههای دیگری چون اتریوم با نوآوریهای جدید هدایت آن را در دست گرفتهاند.
به نظر میرسد قراردادهای معمولی سنتی دیگر منسوخ شده باشند. بسیاری از ما تا به حال شاهد عمل نکردن به قراردادها و وعده و وعیدها بودهایم که این از اشکالات قراردادهای معمولی است.
با پیشرفت تکنولوژی بلاکچین، روز به روز شاهد اضافه شدن کاربردهای جدید به قراردادهای هوشمند هستیم و بدون شک در آینده نیز بیشتر نام این دسته از قراردادها را خواهیم شنید.
در این مقاله سعی بر این بود تا به زبانی ساده قراردادهای هوشمند را توضیح دهیم. در صورتی که به یادگیری فناوریهای مرتبط با صنعت رمزارز علاقه دارید و یا میخواهید در رابطه با پروژههای مختلف بیشتر بدانید، حتما به داموندمگ مراجعه کنید.
داموندمگ، کاری از صرافی ارز دیجیتال داموند، تخصصیترین بلاگ آموزشی ارز دیجیتال ایران است. شما میتوانید به سادگی و به صورت رایگان از صدها مقاله آموزشی منتشرشده استفاده کنید.