در این مقاله قصد داریم به بررسی قراردادهای هوشمند ارزهای دیجیتال بپردازیم. قرارداد هوشمند (Smart contract) پروتکلی است که مانند اپلیکشنها توسط برنامهنویسان، کدنویسی شده و در صورت اجرای درست و دقیق تمام مفاد آن، به اجرا در میآید. شرایط انجام این قراردادها قبل از اجرا بهطور کامل و دقیق کدنویسی و سپس بر بستر فناوری بلاکچین که یک دفتر کل توزیع شده و غیرمتمرکز است اجرا میشوند. حتما میدانید اطلاعات در بلاکچین بین تمام اعضای آن توزیع میشود و پس از انتشار در شبکه غیرقابل تغییر است. بنابراین قرارداد هوشمند پس از انتشار، تحت هیچ شرایطی قابل تغییر نیست. همچنین هیچکس نمیتواند قرارداد هوشمند را پس از اجرا و قبل از موعد انقضا، متوقف کند.
به زبان ساده، قرارداد هوشمند یک کد برنامه نویسی است که روی بلاک چین پیادهسازی میشود تا در صورت اتفاق افتادن دادن یک سری شرایط، دستورات خاصی را که برنامه نویس به آن داده است، اجرا کند. قراردادهای هوشمند یک نوآوری بسیار انقلابی هستند که ما را از اعتماد کردن به دیگران بی نیاز میکنند.
فرض کنید یک قرارداد هوشمند وظیفه دارد در ازای دریافت رمز ارز اتریوم و قفل کردن آن در شبکه، به اندازه نصف ارزش آن، استیبل کوین جدید با نام «دای» (DAI) ایجاد کند. طبیعی است که در قرارداد هوشمند باید پول استفاده شده به صورت دیجیتال باشد و به همین دلیل از اتریوم و دای استفاده میکنیم. در این حالت قرارداد هوشمند شامل شرطها و عملکردهای زیر خواهد بود.
اگر توکنهای ارز دیجیتال اتریوم توسط کاربری در قرارداد قفل شد، ارزش دلاری آن را با توجه به قیمت لحظهای اتریوم محاسبه کن.
توکنهای ارز دیجیتال دریافت شده را در قرارداد هوشمند قفل کن و در ازای آن، ارزهای دیجیتال جدید «دای» را که ارزش هر کدام یک دلار است به ارزش نصف توکنهای قفل شده تولید و به کیف پول دیجیتال کاربر واریز کن.
در صورتی که توکنهای دای از طرف کاربر پس داده شد، اتریومهای قفل شده را آزاد کن و به حساب کاربر انتقال بده.
در این قرارداد، هویت کاربر با کیف پول و کلید خصوصی آن مشخص میشود. بنابراین کاربر در قرارداد هوشمند پول خود را ذخیره میکند و در ازای آن استیبل کوین دریافت میکند و هر زمان که استیبل کوینهای خود را پرداخت کرد، اتریومهای خود را آزاد میکند. در این میان اعتماد کاربران به قرارداد هوشمند به دلیل امنیت بالای فناوری بلاک چین است.
بهترین روش برای توصیف قراردادهای هوشمند، مقایسه این تکنولوژی با یک دستگاه ارائهدهندهی نوشیدنی است.
شما پول را به دستگاه میدهید و آن دستگاه هم در ازای آن یک نوشیدنی به شما میدهد. این اعمال از قبل برای دیوایس توصیف شدهاند و فقط بندها را اجرا میکند.
با قراردادهای هوشمند، شما بهسادگی قادرید مقداری بیتکوین را مثلا به سازمان گواهینامه رانندگی یا هر شرکت یا شخص دیگری بدهید. همچنین این نوع قراردادها به طور خودکار تعهدات را (اگر کدها درست نوشته شده باشد) اجرا میکنند. مثالهای متعددی در این زمینه وجود دارند که یکی از آنها را در ادامه توضیح دادهایم.
فرض کنید که شما قصد دارید یک واحد آپارتمان اجاره کنید. شما میتوانید از طریق بستر بلاکچین مقداری ارز دیجیتالی به حساب صاحبخانه بریزید تا کلید خانه در اختیارتان قرار گیرد. اما این یک کلید معمولی نیست. کلید از نوع دیجیتالی است که دارای تاریخ خاصی است. در موعد مقرر که میخواهید مبلغ شارژ خود را بپردازید، لزومی ندارد وقتتان را برای انجام کاری تلف کنید.
هر زمان صاحبخانه کلید جدید را (پس از تمام شدن اعتبار کلید قبلی) در اختیارتان گذاشت، شارژ خانه بهصورت خودکار پرداخت میشود. اگر هم کلید جدید را (قبل از تمام شدن اعتبار کلید قبلی) به شما بدهد، شارژ خانه در زمان مقرر شده (مثلا سر ماه) پرداخت خواهد شد.
بندهای این قرارداد نیز میتواند بهسادگی توسط دو طرف تعیین گردد و بهاینترتیب خیلی از اعمال اضافه حذف میشوند. دیگر صاحبخانه مجبور نیست مدام به شما پرداخت شارژ را گوشزد کند. در خانه مینشیند و شارژها به حساب ایشان واریز میشوند.
بهعبارتدیگر، قراردادهای هوشمند خطوط کد قابلاجرا به طور خودکار هستند که در یک بلاکچین که حاوی قوانین از پیش تعیین شده است، ذخیره میشوند. هنگامی که این قوانین رعایت میشوند، این کد بهتنهایی اجرا میشود و خروجی را ارائه میدهد.
در سادهترین شکل، قراردادهای هوشمند برنامههایی هستند که بر اساس قالبی که توسط سازنده آنها تنظیم شده است اجرا میشوند.
قراردادهای هوشمند بیشترین سود را در همکاریهای تجاری دارند که در آنها برای توافق بر سر شرایط تصمیمگیری شده با رضایت هر دو طرف استفاده میشود. این امر خطر تقلب را کاهش میدهد و ازآنجاییکه شخص ثالثی درگیر نیست، هزینهها نیز کاهش مییابد.
• سرعت، کارآمدی و دقت
از مهمترین مزایای قرارداد هوشمند اینه که زمانی که یه شرط محقق شد، قرارداد فورا اجرا میشه چون که قراردادهای هوشمند دیجیتال، الکترونیکی و خودکار هستن. کاغذ بازی در کار نیست و زمانی صرف تصحیح خطاها نمیشه، مواردی که در قراردادهای سنتی ممکنه وجود داشته باشه.
• اعتماد و شفافیت
دومین مورد از مزایای قرارداد هوشمند یا اسمارت کانترکت اعتماد و شفافیت هست، چون که هیچ طرف سومی دخالت نداره و تاریخچه رمزنگاری شده تراکنش ها بین شرکت کنندگان در قرارداد به اشتراک گذاشته میشه، بنابراین جایی برای نگرانی از بابت تغییر اطلاعات به خاطر منافع شخصی در اسمارت کانترکتSmart Contract وجود نداره.
• امنیت
یکی دیگه از مزایای قرارداد هوشمند امنیت اونه. تاریخچه تراکنش ها در بلاک چین رمز نگاری شده و به این خاطر تقریبا غیر ممکنه که هک بشه. همچنین، هر رکورد (یک تراکنش ثبت شده) در یه دفتر کل توزیع شده (Distributed Ledger) به رکوردهای قبلی و بعدی متصل شده، هکرها مجبورند کل زنجیره رو هک کنن تا یک تراکنش مشخص رو تغییر بدن.
• صرفه جویی
آخرین مورد از مزایای قرارداد هوشمند که میخوایم بهش اشاره کنیم، صرفه جویی هستش. قراردادهای هوشمند یا اسمارت کانترکت ها نیاز به واسطه ها رو برای انجام تراکنش ها حذف میکنن، در نتیجه در دستمزدها و زمان صرفه جویی میشه.
معایب قرارداد هوشمند چیست و چه محدودیت هایی دارد؟
قراردادهای هوشمند بدون نقص نیستن و نقاط منفی هم دارن. در ادامه مطلب به چند مورد از معایب قرارداد هوشمند اشاره میکنیم و محدودیت های اون رو توضیح می دیم:
• تغییر دادنشون سخته
تغییر دادن قراردادهای هوشمند خیلی دشوار و تقریبا غیر ممکنه، تصحیح هر اشتباه کوچیکی ممکنه زمان بر باشه و گرون تموم بشه.
• ممکنه خلاهایی داشته باشن
طبق توافقات سنتی که بر پایه حسن نیت هستن، طرفین با انصاف معامله میکنن و سود غیر اخلاقی از توافق نمیبرن. این در حالیه که خلاهای کوچیک احتمالی در کدنویسی قرارداد، اطمینان از رعایت شرایط مطابق با آنچه توافق شده است رو دشوار میکنه.
• ممکنه واسطه ها حذف نشن و صرفا نقششون تغییر کنه
با وجود اینکه smart contract ها به دنبال اینن که دخالت اشخاص ثالث رو حذف کنن، ولی حذف اونها اونقدرها هم راحت نیست، لااقل فعلا. اشخاص ثالث در قراردادهای هوشمند هم حضور دارن ولی نقششون متفاوت از نقشیه که در قراردادهای سنتی داشتن. برای مثال، نیاز نیست وکیل بگیرین برای آماده کردن و تنظیم قراردادها، اما احتمالا برنامه نویس هایی مورد نیاز خواهند بود تا شرایط قرارداد رو متوجه بشن یا قرارداد رو کدنویسی کنن.
• جملات ابهام آمیز
با توجه به این که قراردادهای هوشمند کدنویسی میشن، ممکنه شامل جملاتی باشن که برای همه به راحتی قابل فهم نیستن. به علاوه، قراردادهای هوشمند ممکنه جملات و شرایط مبهم رو به صورت ناقص اجرا کنه، طوری که ما قصدشو نداشتیم.
و در نهایت
یک قرارداد هوشمند از موراد زیر برخوردار است:
موضوع قرارداد: برنامه نوشته شده باید به کالاها و یا خدمات مندرج دسترسی داشته باشد تا بتواند آنها را به صورت خودکار توقیف یا آزاد کند.
امضای دیجیتال: همه طرفین باید قرارداد را با کلید خصوصی خود امضاء کنند.
بندهای قرارداد: شرایط اجرای قرارداد باید به صورت توالی مورد نظر طرفین در آن درج شود. همه طرفین باید با این شرایط موافق باشند.