قرارداد هوشمند چطور به کسب و کار ارزدیجیتال کمک میکند؟
قرارداد هوشمند، اسمارت کانترکت، قرارداد بلاکچین یا Smart Contract عبارات مترادفی هستند که بیشتر از دو دهه در حوزه دیجیتال به کار برده شده است. با گسترش حیطه دیجیتال مفاهیم آن در صنایع دیگر هم استفاده شدند. در این مورد، عبارت قرارداد هوشمند از حیطه IT به زنجیره تامین، بیمه، سلامت و لجستیک نیز وارد شد. و زمانی که توانایی قراردادهای هوشمند برای به ثمر رساندن توافقهای کسب و کاری ایمن و سریع در نظر گرفته میشوند، عجیب نیست که این روزها این مفهوم محبوب و پر کاربرد شده است.
در این مقاله به مفهوم قرارداد هوشمند، نحوه کارکرد آنها و استفاده از Smart Contracts در موقعیتهای متفاوت میپردازیم.
یک تاریخچه خیلی کوتاه
اولین بار در سال ۱۹۹۴ نیک زابو Nick Szabo، محقق علوم کامپیوتر امریکایی ایده قراردادهای هوشمند را معرفی کرد. جالب است که بدانید، نیک زابو ۱۰ سال پیش از اختراع بیت کوین یک ارز مجازی به نام Bit Gold را در سال ۱۹۹۸ ساخت. شایعه یا گمانی وجود دارد که ادعا میکند نیک زابو همان ساتوشی ناکاموتو مخترع بیت کوین است، که البته زاتو خود این ادعا را به کررات رد کرده است.
اولین باری که زابو مفهوم قرارداد هوشمند را معرفی کرد، قراردادها را به عنوان پروتوکلهای تراکنش کامپیوتری در نظر گرفت که وظیفه اجرای مفاد قرارداد را بر عهده داشتند.
در لینک زیر میتوانید مقاله نیک زابو ( ایده قراردادهای هوشمند) را مطالعه کنید:
قرارداد هوشمند یا Smart Contract چیست؟
به طور خلاصه قرارداد هوشمند، یک برنامه نرم افزاری در شبکه بلاکچین است که به عنوان یکی از بلاکهای این شبکه ذخیره شده است. این برنامه یا “قرارداد” میتواند شامل بخشهای متعددی باشد ولی ماهیت اصلی آن بر مبنای یک فرمول یا شرط برنامه نویسی If/Else است. هر کد If/Else شامل مجموعه از شرطها یا Conditionها است که اگر برآورده شوند یک نتیجه حاصل شده و آن شرط برآورده نشود، نتیجه دیگری حاصل میشوند.
مهمترین افزوده بلاکچین به این قراردادها، فاکتور مالی است. در قراداد هوشمند بلاکچین، واحد مالی جا به جا شده در نتیجه عقد قرارداد، ارز دیجیتال (اتریوم یا بلاکچین) است.
پس اجرای قرارداد هوشمند رمز ارز، وابسته به اجرای کامل شروط نوشته شده در آن است. یک تمایز مهم بین قراردادهای هوشمند و قراردادهای کاغذی، اهمیت اجرای تمامی بندها و شروط قرارداد است. به این معنا که در قراردادهای هوشمند امکان ندارد بتوان از شرطی بدون اجرای آن گذشت، یا در یکی از نسخه های قرداد جعل کرد و یا به هر صورتی بین دو نسخه قرارداد تفاوتی ایجاد کرد. دلیل این مسئله ویژگیهای برنامهنویسی شده و ماهیت ذخیره شدن قرارداد بر روی بلاک چین است. Smart Contract بر روی بستر بلاکچین کار میکند، یک بلاک مستقل از بلاک چین است و تمامی ویژگیهای ذاتی بلاک چین را به ارث برده است. همانقدر که نمیتوان در زنجیره بلاکهای بلاکچین تفاوتی ایجاد کرد، در جزئیات بلاکها نیز نمیتوان تغییری ایجاد کرد. پس ویژگیهای مهم قرارداد هوشمند، تغییر ناپذیری و توزیعپذیری، نبود طرفین سوم و اجرای هوشمند است.
ویژگیهای کلیدی قراردادهای هوشمند
این ویژگی ها را در ادامه بررسی میکنیم:
۱- تغییر ناپذیری
این ویژگی به ثابت بودن شروط قرارداد اشاره دارد. قراردادهای هوشمند پارامترهای متعددی برای چک کردن زیر بخشهای خود دارد. یکی از مهمترین این پارامترها زمان ثبت شده یا TimeStamp هستند. زمانی که این پارامتر را با Real-Time یا آنی بودن قرارداد هوشمند و اجرای بی توقف آن ترکیب میکنید عملا امکان جعل ساده نخواهد بود.
۲- توزیعپذیری
زمانی که قرارداد هوشمند به عنوان یک بلاک در بلاکچین ثبت میشود، تمامی اعضای آن زنجیره بلاک چین میتوانند قرارداد را تایید کند. در این زنجیره سلسله مراتب سازمانی وجود ندارد پس نظر یک فرد از دیگری مهم تر نیست که بتواند اعمال سلیقه کند و همین مسئله در راستای حفظ اعتبار قرارداد بسیار مهم است.
۳- نبود طرفین سوم
فرد واسطی در تنظیم قرارداد هوشمند وجود ندارد. تمام مراحل این فرایند از ایجاد تا اجرای و در نهایت اتمام قرارداد به صورت هوشمند اجرا میشود. پس حتی در صورتی که بین طرفین قرارداد مشکلی پیش بیاید هم نظر جهت گیری شدهای نمی تواند منجر به تغییر مفاد قرارداد شود. (لازم به ذکر است که شروط قراردادهای هوشمند مشخص هستند پس در بسیاری از موارد امکان بد فهمی در درک بندهای قرارداد وجود ندارد.)
Smart Contract چطور کار میکند؟
یه تعریف کوچیک از بلاک چین که پیش تر در بلاگ به تفصیل در مورد آن نوشته ایم:
پس میتوان گفت که blockchain، یک سری از سوابق تغییرناپذیر اطلاعات است که توسط یک خوشه رایانه که متعلق به هیچ یک از واحدها نیست اداره می شود. هر یک از این داده ها (یعنی بلوک) با استفاده از اصول رمزنگاری (یعنی زنجیره) به یکدیگر متصل شده و امنیت آنها تامین میشود. اگر اطلاعات یک خرید شما به صورت یک بلاک ذخیره شده باشد و شما دوباره همان خرید را در نوبت دیگری انجام دهید، بلاک متفاوتی به شما اختصاص داده میشود و همین دلیل سوابق تراکنشات شما دقیق ذخیره سازی میشود.
از مقاله Blockchain چیست؟
فرایند انتقال ارز دیجیتال را در نظر بگیرید، طبیعتا اولین کاری که انجام میدهید ورود به والت ارز دیجیتال است. در قرارداد هوشمند نیز دقیقا گام اولیه همین است. حال با این که برای هر تراکنش روی بلاک چین یک قراداد هوشمند منحصر به همان تراکنش روی بلاک چین اجرا میشود، بین این قراردادهای هوشمند با قراداد هوشمند عادی تفاوتهایی وجود دارد و این تفاوت ها بر مبنای چند ویژگی اصلی شناسایی میشوند:
۱- این تراکنش های هوشمند به خودی خود یک کد Compile شده از قراداد هوشمند را شامل میشوند. این کد مشابه همان عامل شناسایی دیجیتالی (بگوییم DNA دیجیتال( است که بعدا تبدیل به بخشی از زنجیره و بدنه بلاک چین میشود.
۲- برای این که بتوان قراداد هوشمند را پیدا کرد، بلاک چین از یک Attribute انجصاری که به آدرس دریافت کننده در تراکنش موضوع قراداد هوشمند اشاره دارد، استفاده میکند.
تراکنشهایی که با این ویژگی ها انطباق دارند، یک قراداد هوشمند در بلاک چین نیز دارند. که به وسیله روشهای سنتی Mine کردن ارز به ازای آنها بلاک جدیدی ایجاد شده است. در نهایت زمانی که تراکنش روی بلاک چین قرار گرفت، کد درون ان بلاک اجرا شده و قراداد ان تراکنش نیز به طور کامل به بلاک چین اضافه میشود. در تصویر زیر میتوانید این مسیر را به ترتیب ببینید:
برای ایجاد یک قرارداد هوشمند یا Smart Contract به چه چیزهایی نیاز دارید؟
قرارداد هوشمند ۳ ستون اصلی دارد، که در صورت عدم حضور هر یک از این ستونها، امکان ایجاد و اجرای قراداد هوشمند نیست
۱- بلاک چین:
در حال حاضر بسیاری از فریمورکهای بلاک چین، قرادادهای هوشمند را به زیرساخت خود اضافه کرده اند و به کابران این امکان را میدهند که از قرادادهای هوشمند رمز ارز استفاده کنند. در بین این فرم ورک ها میتوان به اتریوم، HYperLedger، Polkadot و سولانا اشاره کرد.
۲- زبان برنامه نویسی:
همه قرادادهای هوشمند، برنامههای نوشته شده با یک زبان برنامه نویسی هستند که با توجه به همان زبان برنامه نویسی نیز ممکن است Feature های متفاوتی داشته باشند. یکی از بهترین زبانهای به کار رفته برای توسعه قرادادهای هوشمند زبان به کار رفته در بلاکچین اتریوم یعنی Solidity و Vyper است.
۳- کریپتوکارنسی یا رمز ارز
سوال مهم و اساسی بعدی، آیا برای ورود یک قرارداد هوشمند نیاز به ارز دیجیتال است؟ در بسیاری از موارد قرادادهای هوشمند وابسته به ارز دیجیتال هستند. بسیاری از بلاکچینهای سازگار با قراراد هوشمند نیز از کریپتوکارنسی خودشان برای اجرای اجرای قرارداد هوشمند استفاده میکنند. یعنی به فرض اگر قصد اجرای یک قراداد دیجیتال روی فریمورک بلاک چین پولکادکس داشته باشید، ارز بهکار رفته برای اجرای قرارداد، Dot خواهد بود.
در نهایت قرارداد هوشمند چه شکلی دارد؟
قراداد هوشمند یک برنامه کد نویسی شده است و مراحل ایجاد آن نیز مشابه فرایندهای لازم برای کدنویسی هر برنامه دیگری است، یعنی
۱- نرم افزاری که کد قرارداد باید به وسیله آن نوشته شود آماده میشود
۲- اهداف و معماری قرارداد بر مبنای نیازهای اولیه و خروجیهای مد نظر شناسایی شده و شکل میگیرند
۳- قراداد کد نویسی شده و در بلاکچین Deploy میشود.
تصویر بخشی از کد یک اسمارت کانترکت نوشته شده به زبان Solidity است که شباهت های زیادی به JavaScript و C++ دارد.
سورس:
هر فردی که به زبان برنامه نویسی قراردادهای هوشمند تسلط داشته و نرمافزار و سیستم مد نظر برای آن را داشته باشد، میتواند یک قراداد هوشمند را کدنویسی کند.
طبیعتا این فرایند بسیار تخصصی و فنی است، چرا نحوه کدنویسی و الگوریتم های به کار رفته در این قراردادها بسیار مهم هستند. پس عموما بهتر است به شرکتهایی که در این حوزه تخصص دارند و دانش کافی برای پیاده سازی یک زیرساخت استاندارد برای قراداد دارند مراجعه شود.
در مورد برونسپاری اصولی و دریافت مشاوره تخصصی نرم افزاری بخوانید.
چه صنایعی از قراردادهای هوشمند استفاده میکنند؟
واقعیت اینجاست که این سوال پاسخ مشخصی ندارد. بسیاری از صنایع هستند که از فواید Smart Contract می توانند به صورت مستقیم یا غیر مستقیم استفاده کنند. ولی به طور کلی صنایعی که مشخصا این مدل قراردادها می تواند برای فرایندهای کاری آنها منفعت داشته باشند را در ادامه لیست کرده ایم:
۱- زنجیره تامین
۲- سلامت
۳- امنیت دیجیتال
۴- فرایندهای تجاری
۵- دادههای مالی
۶- بیمه (به خصوص ماشین)
به خصوص در مورد فرایندهای تجاری پیشتر در بلاگ از مارکت پلیس فروش NFT مانند مارکت پلیس OpenSea صحبت کرده ایم. یکی از مهمترین ویژگیهایی که امکان خرید و فروش هوشمند و اتومات را در چنین سیستمهایی ممکن میکند، قرارداد هوشمند است.
پیشنهاد میکنیم این دو مقاله را نیز برای آشنایی بیشتر با فرایندهای سیستمی که بر زنجیره بلاکچین فعالیت میکند، مطالعه کنید.
مارکت پلیس OpenSea، برای خرید و فروش NFT
چگونه سامانهای مشابه Open Sea برای خرید و فروش NFT داشته باشیم؟
چرا از قرارداد هوشمند یا Smart Contract در فرایندهای کسب و کار استفاده کنید؟
احتمالا این سوال را از خودتان یا مشاور نرم افزاری شرکتتان میپرسید. منطقی است، بسیاری از ترندهای تکنولوژی با سرعت زیادی محبوب و میشود و در بسیاری مواقع دلیل این محبوبیت مشخص نیست. ولی در مورد این مسئله باید به منفعتهای مشهود و مزایایی که این تغییر بسیار بزرگ در فرایندهای کسب و کار می تواند به دنبال بیاورد نگاهی داشت.
احتمالا این روزها عبارت تحول دیجیتال را زیاد میبینید که طبیعی است، به خصوص با پررنگتر شدن نقش بلاکچین، IoT و هوش مصنوعی در تکنولوژی این تجسم که میتوانیم تکامل و تحول کسب و کار به حالتی کاملا هوشمند را ببینیم، بیشتر و بیشتر به واقعیت نزدیک تر شده است.
مزیتهای زیر تنها چند مورد از مزایایی هستند که این قراردادها می توانند برای کسب و کار شما داشته باشند.
۱- امنیت
۲- سرعت و هزینه پایین تر
۳- استاندارد بودن جامع
۴- دقت
۵- شفافیت
۶- خودگردانی Autonomy: به این معنا که قرارداد های هوشمند ظرفیت عملکرد مستقل بدون نیاز به نظارت و دخالت عامل انسانی یا اپراتور را دارند.
حال تصور کنید که این قراردادها چه تفاوتهایی میتواند در زندگی روزمره شهروندان یک جامعه و یا کارمندان یک شرکت ایجاد کنند. تصور کنید به عنوان یک صاحب کسب و کار با حذف عوامل واسط در عقد قرارداد چه میزان از اتلاف وقت و انرژی کارمندانتان کمتر میشود. و یا به چه سرعت و اعتمادی میتوانید قراردادی با مشتریان خود عقد کنید.