قرارداد هوشمند چیست؟ مفهوم smart contract در بلاکچین و ارز دیجیتال
فهرست مطالب
- اسمارت کانترکت (Smart Contract) چیست؟
- ایده اولیه قرارداد هوشمند؛ مخترع آن کیست؟
- نحوه عملکرد قرارداد هوشمند
- تفاوت قرارداد هوشمند و قرارداد غیر هوشمند چیست؟
- اجزای تشکیل دهنده یک Smart contract
- برنامه نویسی قرارداد هوشمند در بلاکچین
- کاربرد های اسمارت کانترکت
- مزایا و معایب قراردادهای هوشمند
- مزایای اسمارت کانترکت ها
- معایب اسمارت کانترکت ها
- سوالات متداول
- قرارداد هوشمند چیست؟
- مزایای smart contract چیست؟
قرارداد هوشمند چیست؟ این یکی از سوالات بسیار کاربردی و اساسی در دنیای کریپتو میباشد. اگر قرار باشد در فراجهانی دیجیتالی زندگی کنیم قطعا باید تمامی پیشنیازهای آن را آماده نموده و برای آنها تدابیری را بیاندیشیم. یکی از پیشنیازهای ضروری که در زندگی فعلی نیز در از آن استفاده مینماییم انواع قراردادها هستند.
زمانی که میخواهیم با فرد یا سازمانی توافق کنیم، در این توافق نکتهی حائز اهمیت، تعیین مفاد و عمل نمودن به تکتک آنهاست. قراردادها که در ابتدا فقط به صورت فیزیکی بین اشخاص حقیقی و حقوقی (یک فرد یا یک شرکت) منعقد میشدند کمک بزرگی به تفاهم بین افراد نمودند.
حالا یک قرارداد هوشمند، مجموعه ای از کدها است که توسط برنامه نویسان نوشته شده است. هدف نوشتن اسمارت کانترکت ها حذف واسطه در معاملات شفافیت در امور است. با ما همراه باشید تا با این مفهوم مهم در دنیای کریپتو آشنا شوید.
اسمارت کانترکت (Smart Contract) چیست؟
smart contract یا قرارداد هوشمند به مجموعه کدهای برنامه نویسی گفته میشود که با هدفی مشخص نوشته شده و مفاد یک تفاهم بین 2 یا چند نفر در آن تعریف میشود. ویژگی اصلی برنامه نویسی قرارداد هوشمند در بلاکچین غیرمتمرکز بودن آن و عدم امکان مدیریت توسط یک سازمان متمرکز میباشد.
در یک smart contract تمام شرایط و مفاد با دستورات if else if تعیین شده و به صورت خودکار اتفاق میافتند. If به معنی «اگر» و else if به معنی در «غیراینصورت اگر» است؛ مثلا «اگر» شخصی از کیف پول خود مقداری سرمایه را در یک پلتفرم بلوکه کرد «آنگاه» ماهانه مبلغ X کوین به همان کیف پول واریز شود. این بخشی از یک برنامه نویسی قرارداد هوشمند ساده است که برای فرآیند استیکینگ (سهامگذاری جهت اعتبارسنجی در شبکه) نوشته شده است.
ایده اولیه قرارداد هوشمند؛ مخترع آن کیست؟
با معرفی بیت کوین توسط ساتوشی ناکاموتو در سال 2009 توجه افراد بسیاری جلب آن شد. یکی از این افراد ویتالیک بوترین بود. ویتالیک بوترین با تأسیس مجله Bitcoin Magazine سعی داشت بیت کوین را وارد ابعاد بیشتری از زندگی مردم کند و تا حد زیادی هم موفق بود. اما مشکل اساسی این بود که ویتالیک خلأ زیادی را در بستر بیت کوین مشاهده کرد.
او میدانست که اگر بخواهد شبکهی بلاک چین و مدیریت غیرمتمرکز را وارد ابعاد جدیدی از زندگی مردم کند نیاز است تا امکانات بیشتری به آن اضافه شود. یکی از زیرساختهای ضروری برای این امکانات برنامه نویسی قرارداد هوشمند بود.
بیشتر بخوانید: ویتالیک بوترین کیست
نحوه عملکرد قرارداد هوشمند
تدوین قرارداد: ابتدا قرارداد هوشمند توسط برنامهنویسان تدوین میشود. این قرارداد شامل شرایط و ضوابطی است که طرفین بر آن توافق کردهاند. به عنوان مثال، یک قرارداد هوشمند میتواند شامل شرایط پرداخت وجه پس از تحویل کالا باشد.
تایید و انتشار در بلاکچین: پس از تدوین، قرارداد هوشمند به شبکه بلاکچین ارسال میشود. در این مرحله، قرارداد توسط نودهای شبکه تایید و در بلاکچین ثبت میشود. این ثبت باعث میشود که قرارداد به صورت عمومی و غیرقابل تغییر در دسترس باشد.
اجرای قرارداد: پس از ثبت، قرارداد هوشمند منتظر وقوع شرایط مشخص شده در قرارداد میماند. به محض اینکه شرایط فراهم شود، قرارداد به صورت خودکار اجرا میشود. به عنوان مثال، اگر شرط پرداخت وجه پس از تحویل کالا باشد، به محض تایید تحویل کالا، وجه به صورت خودکار به حساب فروشنده منتقل میشود.
امنیت و شفافیت: یکی از ویژگیهای برجسته قراردادهای هوشمند، امنیت بالا و شفافیت آنهاست. از آنجا که این قراردادها بر روی بلاکچین ثبت میشوند، تغییر و دستکاری در آنها تقریباً غیرممکن است. همچنین تمامی عملیات به صورت عمومی قابل مشاهده و پیگیری هستند.
تفاوت قرارداد هوشمند و قرارداد غیر هوشمند چیست؟
برای درک بهتر قرارداد هوشمند در بلاکچین ابتدا بیایید تفاوت آنها را با قراردادهای غیرهوشمند بررسی کنیم.
شفافیت برای همه
در یک قرارداد غیرهوشمند، شخص مسئول میتواند قراردادهای متفاوتی را با افراد مختلف منعقد نموده و مفاد آن را از دید دیگران پنهان نماید. اما در قرارداد هوشمند تمامی قراردادها قابل مشاهده توسط عموم و دارای شفافیت کامل است. شاید با خودتان فکر کنید در این صورت امنیت قراردادها کاهش یافته و میتواند موجب بروز مشکلاتی شود.
اما جالب است بدانید که شفافیت در نوشتن قرارداد هوشمند و نظارت عموم افراد بر روی اجرای آنها اتفاقا مثبت و راهگشا در تمامی زمینهها میباشد. توجه شما را به یک مثال در این خصوص جلب مینماییم.فرض کنید در فضای سنتی با پروژهای آشنا میشوید که قرار است زمینهایی از یک شهرک تازه تأسیس پیشفروش شده و پس از آن واحدهای مسکونی و تجاری در آن زمینها ساخته شوند.
این مثال بارها و بارها در واقعیت در کشور خودمان هم رخ داده و گاهی اوقات منجر به از دست رفتن سرمایهی بسیاری از افراد گردیده. در صورتی که قراردادها به صورت سنتی و غیرهوشمند منعقد شوند کارفرما و صاحبین پروژه به راحتی میتوانند اداعاهایی را مطرح کنند که به دور از واقعیت است.یکی از این ادعاها معمولا تعداد سرمایهگذاران پیش از شما و حجم سرمایهی آنها است.
در صورتی که اگر تفاهمنامه فوق قرارداد هوشمند در بلاکچین باشد هر فردی که قصد سرمایهگذاری در پروژه و خرید زمین را داشته باشد به راحتی و فقط با چند کلیک میتواند تعداد هولدرها (سرمایهگذاران) و میزان سرمایهی هر کدام را مشاهده نماید.در این صورت، کارفرما موظف به اجرای تعهدات خود میباشد. در صورتی که خللی در اجرای صحیح پروژه پیش بیاید، اعتبارسنجها که مسئولیت نظارت بر شبکه را به عهده دارند.
به منظور حفظ ارزش داراییهای خود با شخص خاطی برخورد نموده و دارایی او را بلوکه میکنند.نکتهای که در خصوص اعتبارسنجهای شبکهی بلاکچین وجود دارد این است که اگر آنها نیز بخواهند با لابیگری صداقت را زیر پا بگذارند شبکه دچار بیاعتمادی شده و دارایی خودشان نیز تحتالشعاع قرار خواهد گرفت.
از آنجایی که ارزش داراییها در بلاک چین دارای نوسان زیادی بوده و نسبت مستقیمی با اعتماد افراد دارد، احتمال بروز مشکلات امنیتی نسبت به شبکههای کلاینت – سرور بسیار کمتر بوده و تمامی افراد سعی خواهند داشت که با جلب اعتماد دیگران ارزش شبکه و داراییهای آن را افزایش دهند.
غیرقابل دستکاری
یکی دیگر از تفاوتهای قرارداد هوشمند و غیرهوشمند در این است که در برنامه نویسی قرارداد هوشمند یک بار شرایط، ضوابط و مفاد قرارداد توسط برنامهنویسان تعیین شده و بر روی شبکهای مانند اتریوم قرار میگیرد. پس از بارگذاری کدهای مربوطه دیگر هیچکس حتی خود برنامهنویس نیز امکان دستکاری و تغییر آنها را نخواهد داشت.
این ویژگی در قراردادهای معمولی و غیرهوشمند وجود نداشته و اگر منافع صاحب پروژه یا افراد دیگر به خطر بیوفتد به راحتی میتوان قرارداد را جعل نموده و یا تغییراتی را در آن ایجاد نمود. به همین دلیل هم یک smart contract یا همان قرارداد هوشمند قابلاعتمادتر از انواع قراردادهای کاغذی و دیجیتالی است.
سرعت بالا
از آنجایی که قرارداد هوشمند در بلاکچین به دور از فرآیندهای کاغذبازی بوده و تمامی فرآیندها به صورت خودکار انجام میشود سرعت انجام کارها نیز چندین برابر بیشتر از زمانی خواهد بود که از دیگر انواع قراردادها استفاده میشود. زمانی که قصد خرید یک زمین در متاورس را داشته باشید همه چیز در عرض چند ثانیه و فقط با چند کلیک و یک امضای دیجیتال در کیف پول ارز دیجیتال شما انجام خواهد شد.
اما اگر همین اقدام را بخواهید در دنیای فیزیکی انجام دهید بایستی ساعتها و گاهی روزها زمان گذاشته تا بتوانید سند زمین خود را به دست آورید. سند زمینتان در متاورس از طریق smart contract و به شکل توکن غیرمثلی یا NFT به سرعت وارد ولت شما خواهد شد. تا زمانی که کلید امنیتی والت خود را در اختیار کسی قرار ندهید امنیت آن حفظ شده و هیچ شخص دیگری نمیتواند آن را سرقت کند.
اجزای تشکیل دهنده یک Smart contract
1. کد برنامهنویسی: کد برنامهنویسی، هسته اصلی هر قرارداد هوشمند است. این کد با استفاده از زبانهای برنامهنویسی مخصوص بلاکچین مانند Solidity برای اتریوم نوشته میشود. کد حاوی منطق قرارداد و شرایطی است که باید اجرا شوند.
2. شرایط و ضوابط: شرایط و ضوابط، قواعدی هستند که قرارداد بر اساس آنها عمل میکند. این شرایط میتوانند شامل مواردی مانند زمانبندی، پرداختها، تحویل کالا یا خدمات و سایر تعهدات طرفین باشند. برای مثال، یک قرارداد هوشمند ممکن است شرط پرداخت پس از تحویل کالا را داشته باشد.
3. آدرسهای طرفین: هر قرارداد هوشمند شامل آدرسهای دیجیتالی طرفین قرارداد است. این آدرسها به صورت یکتا در شبکه بلاکچین مشخص میشوند و امکان شناسایی و ارتباط بین طرفین را فراهم میکنند.
4. حافظه قرارداد: حافظه قرارداد بخشی از بلاکچین است که دادهها و اطلاعات مورد نیاز قرارداد را ذخیره میکند. این اطلاعات میتوانند شامل وضعیت قرارداد، مقادیر تراکنشها، تاریخها و سایر دادههای مرتبط باشند. حافظه قرارداد به صورت عمومی و غیرقابل تغییر ذخیره میشود.
5. توابع و روشها: توابع و روشها مجموعهای از عملیات هستند که توسط قرارداد هوشمند قابل انجام است. این توابع شامل عملیاتهای مختلفی مانند دریافت و ارسال وجه، تغییر وضعیت قرارداد و سایر عملیات منطقی هستند. توابع با فراخوانی توسط طرفین قرارداد یا سایر قراردادهای هوشمند اجرا میشوند.
6. اوراکلها: اوراکلها منابع اطلاعات خارجی هستند که دادههای واقعی و خارجی را به قرارداد هوشمند وارد میکنند. این دادهها میتوانند شامل اطلاعات بازار، شرایط جوی، نتایج ورزشی و سایر اطلاعات مورد نیاز قرارداد باشند. اوراکلها نقش مهمی در افزایش دقت و کارایی قراردادهای هوشمند ایفا میکنند.
7. رویدادها: رویدادها اعلانهایی هستند که هنگام وقوع شرایط خاصی در قرارداد ایجاد میشوند. این رویدادها به شبکه و طرفین قرارداد اطلاع میدهند که شرایط مشخص شده به وقوع پیوسته است. رویدادها به شفافیت و پیگیری وضعیت قرارداد کمک میکنند.
برنامه نویسی قرارداد هوشمند در بلاکچین
همانطور که احتمالا تا به اینجای مقاله متوجه شدهاید قراردادهای هوشمند از طریق زبان های برنامه نویسی تولید و ارائه میشوند. در این بخش قصد داریم زبان برنامه نویسی اصلی برای تولید قرارداد هوشمند یعنی سالیدیتی را برایتان شرح داده و سپس چند زبان دیگر را نیز به شما معرفی کنیم.
سالیدیتی چیست؟
سالیدیتی (solidity) اولین زبان برنامه نویسی دنیاست که به صورت تخصصی به منظور برنامه نویسی قرارداد هوشمند در بلاکچین در اختیار برنامه نویسان قرار داده شده. سالیدیتی (Solidity) که ساختاری شبیه به زبانهای پایتون و C++ دارد برای اولین بار توسط شخصی به نام گوین وود (Gavin Wood) به منظور برنامه نویسی قرارداد هوشمند در شبکهی اتریوم توسعه داده شد. این زبان برنامه نویسی به سرعت مورد توجه برنامه نویسان قرار گرفت .
و در ادامه به زبان اصلی برنامه نویسی در بستر بلاکچین تبدیل شد.از مشهورترین شبکههای بلاکچین که از زبان برنامه نویسی سالیدیتی پشتیبانی میکنند، میتوان به اتریوم (Ethereum)، بایننس اسمارت چین (BSC)، ترون (Tron) و پالیگان (Polygan) اشاره کرد.Vyper ، Yul، DAML ،Rust ،C++ ،Golang ،JavaScript ،Java ،C و… دیگر زبانهایی هستند که به کمک آنها میتوان نوشتن قرارداد هوشمند را در بسترهای مختلف انجام داد.
بیشتر بخوانید: سالیدیتی چیست
کاربرد های اسمارت کانترکت
می توان گفت مهمترین کاربرد قراردادهای هوشمند در امور مالی است. امور مالی شامل نقل و انتقال پول، پرداخت وام، سپردهگذاری و پرداخت سود و… میباشد. این امور در حال حاضر در دنیای سنتی به صورت متمرکز و عموما توسط بانکها اجرا میشود. یعنی یک سازمان متمرکز به نام بانک مسئولیت رسیدگی به امور مالی را بر عهده گرفته و به ازای آن کارمزدهایی را از کاربران دریافت میکند.
قراردادهای هوشمند کاربردهای بسیار زیاد و متنوعی دارند که در این بخش تعدادی از آنها را به شما معرفی خواهیم نمود.
مدیریت آرا و انتخابات
یکی از دغدغههای اساسی در جوامع به خصوص در عصری که در آن زندگی میکنیم، دموکراسی است. دموکراسی نوعی از حکومت است که مردم، قدرت انتخاب قانون، قانونگذار، مجری و ناظر قانون را دارا بوده و همگی توسط انتخابات و با رأی اکثریت تعیین میشوند. اما امروزه در اقصی نقاط دنیا مردم بر این باورند که انتخابات سوری بوده و شمارش آرا با شفافیت انجام نمیشود.
در همین خصوص بارها و بارها شاهد تظاهرات مردمانی بودیم که به شیوهی انتخابات از مرحلهی تأیید صلاحیت تا زمان اعلام نتایج اعتراض نموده و خواهان برگزاری انتخابات شفاف هستند.یکی از کاربردهای مهم قرارداد هوشمند، برگزاری انتخابات در تمامی زمینههاست.
به عنوان مثال اگر یک پلتفرم توسعه داده شده توسط شبکههای غیرمتمرکز بخواهد قوانینی را برای خود وضع کند میتواند پیشنویس آن را به رأی گذاشته و از کاربران خود بخواهد با ورود از طریق ولت (کیف پول ارز دیجیتال)، رأی خود را ثبت کنند. در این صورت شمارش در لحظه اتفاق افتاده و تمامی اعضا میتوانند تعداد و هویت آرا را به وضوح مشاهده کنند. نکته اینجاست که آرا پس از ثبت شدن به هیچ وجه امکان تغییر را نداشته و شفافیت در بالاترین سطح ممکن قرار میگیرد.
بازرگانی، بازاریابی و فروش
قرارداد هوشمند در بازرگانی نیز کاربردهای مختلفی دارد. به عنوان مثال میتوان قراردادهای مشارکت در فروش را از این طریق تدوین و عملیاتی نمود. مثلا یک فروشگاه اینترنتی میتواند درگاه پرداخت ارز دیجیتال را جایگزین روشهای بانکی نماید. از این طریق میتوان به واسطهی Smart Contract، مشتریان را در فروش و سود و زیان مجموعه شریک نمود.
با ارائهی یک توکن اختصاصی در بستر بلاکچین میتوان به مشتریان اعلام نمود در صورتی که خرید خود را از طریق این توکن انجام دهند، وارد یک باشگاه مشتریان مخصوصی شده و از سود حاصل از خرید تمامی اعضای باشگاه درصدی را دریافت نمایند. تمامی این فرآیندها به واسطهی قرارداد هوشمند قابل اجرا خواهد بود.
مزایا و معایب قراردادهای هوشمند
این نوع قراردادها دارای مزایا و معایب خاص خود هستند که در ادامه به بررسی آنها میپردازیم.
مزایای اسمارت کانترکت ها
خودکار بودن: قراردادهای هوشمند به صورت خودکار و بدون نیاز به واسطهها اجرا میشوند. این خودکار بودن باعث افزایش سرعت و کاهش خطاهای انسانی میشود.
شفافیت و اعتماد: تمامی تراکنشها و شرایط قرارداد در بلاکچین ثبت میشوند و قابل مشاهده برای همه هستند. این شفافیت باعث افزایش اعتماد بین طرفین میشود.
امنیت بالا: قراردادهای هوشمند بر روی بلاکچینهای امن اجرا میشوند که در برابر دستکاری و هک مقاوم هستند. این امنیت از طریق استفاده از الگوریتمهای رمزنگاری قوی تامین میشود.
کاهش هزینهها: حذف واسطهها و اجرای خودکار قراردادها باعث کاهش هزینههای مرتبط با انجام تراکنشها و مدیریت قراردادها میشود.
کارایی بالا: قراردادهای هوشمند میتوانند به سرعت و با کارایی بالا اجرا شوند، زیرا تمامی عملیات به صورت دیجیتالی و بدون نیاز به مراحل دستی انجام میشود.
معایب اسمارت کانترکت ها
پیچیدگی فنی: تدوین و پیادهسازی قراردادهای هوشمند نیازمند دانش فنی بالا و تخصص در زبانهای برنامهنویسی مخصوص بلاکچین است. این پیچیدگی ممکن است مانعی برای استفاده گسترده باشد.
عدم انعطافپذیری: قراردادهای هوشمند به دلیل ماهیت خودکار و غیرقابل تغییر بودن، انعطافپذیری کمی در مواجهه با تغییرات یا شرایط پیشبینی نشده دارند.
وابستگی به دادههای خارجی: قراردادهای هوشمند برای اجرا به دادههای خارجی (اوراکلها) وابسته هستند. اگر این دادهها نادرست یا غیرقابل اعتماد باشند، ممکن است منجر به نتایج نادرست شود.
مسائل قانونی: قوانین و مقررات حاکم بر قراردادهای هوشمند هنوز در بسیاری از کشورها به وضوح تعریف نشدهاند. این عدم قطعیت قانونی میتواند مشکلاتی را در پی داشته باشد.
هزینههای تراکنش: در برخی شبکههای بلاکچین، هزینههای تراکنش ممکن است بالا باشد، که این امر میتواند مانعی برای استفاده از قراردادهای هوشمند در مقیاس بزرگ باشد.
سخن نهایی
در این مقاله از مجلهی تخصصی پارسیان ان اف تی به صورت کاملا کاربردی و به دور از پیچیدگیهای موجود در مفهوم قرارداد هوشمند با این مقوله آشنا شدید. این نوع از قراردادها به اعتقاد اکثر کارشناسان اقتصادی و حقوقی میتوانند در آیندهای نه چندان دور جای قراردادهای سنتی را گرفته و جوامع را مجاب به استفاده کنند. به نظر کارشناسان PNFT نیز در صورتی که توسعهدهندگان آن بتوانند برای مشکلات و معایب عنوان شده در این مقاله راهکارهای عملی و مناسبی را پیدا کنند این پیشبینی دور از ذهن نخواهد بود.
همچنین با گسترش و پذیرش آن در جوامع مختلف امید به فعالیتهای برونمرزی بدون دخالت قدرتهای جهان روزبهروز گسترش یافته و تبدیل به واقعیتی انکارناپذیر خواهد شد. در این صورت، به راحتی میتوان قرارداد یک پروژه را به صورت هوشمند و در بستر بلاک چین منعقد نموده و از دخالت کشور ثالث جلوگیری کرد. با به حقیقت پیوستن این رویا انقلابی در دنیا شکل خواهد گرفت که در آن صلح و آشتی در بین اقوام و ملیتهای مختلف بیش از پیش احساس خواهد شد. به همین منظور تقاضامندیم به انتشار حداکثری این مقاله کمک کرده و آخرین حلقه از زنجیرهی انتشار نباشید.
سوالات متداول
قرارداد هوشمند چیست؟
به مجموعهای از کدهای برنامه نویسیدر بستر بلاک چین گفته میشود که از طریق آنها مفاد یک تفاهمنامه از پیش تعیین شده و طرفین را ملزم به اجرا میکند.
مزایای smart contract چیست؟
همانطور که احتمالا شما هم مشاهده نمودهاید در برخی مواقع یک قرارداد سنتی و غیرهوشمند میتواند بنا به دلایلی به درستی اجرا نشده و یک یا تعدادی از طرفین دچار ضرر و زیان شوند. این اتفاق که بارها و بارها به خصوص در حوزهی املاک و مستغلات شاهد آن بودهایم به دلایل مختلفی رخ داده که 2 مورد آنها را به عنوان معایب قرارداد غیرهوشمند بیان خواهیم کرد.
درباره نویسنده
میلاد مساوات
ثبت نظر جدید