توسعه بلاک چین و کاربردی شدن این تکنولوژی مدیون یک مدل برنامهنویسی است که به آن قرارداد هوشمند smart contract گفته میشود.
قرارداد هوشمند، به زبان ساده به مجموعهای از کدها گفته میشود که بر روی بلاک چین قرار میگیرند و بر اساس آنها میتوان عملیات گوناگون مالی، بازیها و اپلیکیشنهای گوناگون را مدیریت کرد.
بهتر است با یک مثال به توضیح قرارداد هوشمند بپردازیم. ایده بلاک چین حذف واسطهها در مباحث گوناگون از جمله بانکداری است. به عنوان مثال شما اگر نیاز به وام داشته باشید، میتوانید به بانک رجوع کنید و از آنجا وام بگیرید.
در اینجا یک واسطه به نام بانک وجود دارد که به شما خدمات میدهد. ایده بیت کوین و بلاک چین این است که واسطهها حذف شوند، اما اگر بانک که به عنوان یک واسطه در فرایند وامگیری و وامدهی است، حذف گردد؛ چه چیزی جای آن را میگیرد؟
بیشتر بخوانید:
در اینجا به فناوری قرارداد هوشمند میرسیم. در قرارداد هوشمند کد نویسی در فضای بلاک چین انجام میشود و این قرارداد است که فرایند وامگیری و وامدهی را سر و سامان میدهد. حالا این موضوع را میتوانیم بسط بدهیم به انواع و اقسام خدماتی که در دنیا با آن رو به رو هستیم.
همیشه در مورد بازیها، یک شرکت به عنوان مالک و واسط برای برد و باخت شما وجود دارد. در بیمه هم شرکت واسطه بیمهگر وجود دارد و در فروشگاهها نیز یک واسطه قوی تحت عنوان فروشگاه اینترنتی متمرکز به کار میپردازد.
حالا فرض کنید که برنامهنویسی فروشگاه اینترنتی، بازی و شرکت بیمه بر روی بلاک چین انجام شود. در اینجا با یک فرایند غیرمتمرکز رو به رو میشویم و آن اینکه قرارداد هوشمند جای واسطه را گرفته است. این قرارداد هوشمند است که میگوید فرایند بیمه چگونه پیش برود و شرایط آن را مشخص میکند و همچنین زمان انقضا و شرایط فسخ قرارداد را تعیین میکند.
تاریخچه قرارداد هوشمند
نخستین بار نیک سزابو (Nick Szabo) در سال 1996 ایده اولیه قرارداد هوشمند را مطرح کرد، اما به دلیل عدم توسعه فناوریهای غیرمتمرکز و بلاک چین، از این ایده چندان استقبال نشد. تا اینکه در سال 2009 با ورود بیت کوین به عرصه جهانی و کشف کارکردهای آن، مبحث قرارداد هوشمند دوباره در کانون توجه توسعهدهندهها (Developers) قرار گرفت.
توسعهدهندهها دریافتند که بلاک چین فضای مستقل و غیرمتمرکزی را فراهم میکند که در آن میتوان با کدنویسی به قراردادهای هوشمند گوناگون و حذف واسطهها پرداخت. با گسترش اتریوم، موضوع قراردادهای هوشمند بیشتر مورد توجه قرار گرفت.
بیشتر بخوانید:
اتریوم با دارا بودن یک ماشین مجازی(VM) توانست فضایی فراهم کند که توسعهدهندگان با نوشتن برنامههای گوناگون به ساخت و توسعه اپلیکیشنهای غیرمتمرکز بپردازند. نودها از طریق ماشین مجازی اتریوم به بررسی قرارداد هوشمند میپردازند و در نتیجه قرارداد به اجرا در میآید.
بنابراین اگر بخواهیم به ترتیب اجرایی به این فرایند نگاه کنیم. در ابتدا باید یک بلاک چین باشد تا نودها و ماشین مجازی روی آن قرار بگیرند و سپس قراردادهای هوشمند در بستر ماشین مجازی به اجرا در بیایند.
زبان برنامهنویسی قراردادهای هوشمند بسته به اینکه در کدام ماشین مجازی اجرا میشوند، متفاوت است اما مشهورترین زبان برنامهنویسی که شبکه اتریوم نیز از آن پشتیبانی میکند، زبان برنامهنویسی سالیدیتی (Solidity) است.
اجزای اصلی قرارداد هوشمند
هر قرارداد هوشمند از پنج جزء مختلف نیز تشکیل شده است که برای کارکرد بهینه آن لازم است:
۱.امضای طرفین
قطعاً هیچ قراردادی چه به صورت آنلاین و چه آفلاین بدون طرفین و امضای آنها قابل دستیابی نیست و از این رو در همه قراردادهای هوشمند نیاز است تا شما آن را امضا کنید.
۲.موضوع
هر قراردادی دارای یک موضوع است و به محض اینکه شما وارد یک برنامه غیرمتمرکز شوید و بخواهید در آن فعالیت کنید، موضوع برای شما نمایش داده میشود و از طرف کیف پولی که با آن وارد شدهاید، باید قرارداد را امضا کنید.
۳.شرایط
هر قرارداد هوشمندی باید مواردی همچون زمان آغاز و پایان و شرایط فسخ و خسارت و... را در خود داشته باشد. این موضوع به ویژه در مورد قراردادهای دیفای به شدت مهم است.
۴.اوراکل
همواره اطلاعاتی هست که باید از بیرون بلاک چین به داخل برنامه انتقال داده شود و از این رو سیستمی تعریف میشود که این اطلاعات را به صورت مدیریت شده وارد برنامه کند. به این سیستمها اوراکل Oracle گفته میشود.
۵.پلتفرم
توسعهدهندگان برای قراردادهای هوشمند به یک پلتفرم نیاز دارند، به عنوان مثال بسیاری از قراردادهای هوشمند حوزه NFT بر روی پلتفرم Immutable X قرار دارند و سپس توسط ماشین مجازی اتریوم تایید میشوند.
مزایا و معایب
هر تکنولوژی میتواند در عین اینکه دارای مزایایی باشد، معایبی نیز همراه خود داشته باشد. بنابراین باید تا جای ممکن نسبت به آن آگاهی پیدا کرد و با بررسی جنبههای گوناگون وارد آن شد.
مهمترین مزیتی که قراردادهای هوشمند دارند، حذف واسطهها و کاهش کارمزدهایی است که نهادهای واسط از طرفین قرارداد میگیرند. همین موضوع موجب شده تا دیفای به عنوان یک اصل اساسی در بلاکچین مطرح شود و اپلیکیشنهای غیرمتمرکز Dapps زیادی در این زمینه فعالیت کنند.
بیشتر بخوانید:
از دیگر مزایای قرارداد هوشمند میتوان به امنیت آن نیز اشاره کرد، چراکه به صورت کاملاً محرمانه در پلتفرمهای رمزنگاری شده ایجاد میشوند و از این جهت قابل اعتماد هستند. علاوه بر این به دلیل مجازی بودن و حفظ آن در بلاکچین امکان از بین رفتن قرارداد نزدیک به صفر است.
با این حال، قرارداد هوشمند دارای معایبی نیز هست. اولین بحث مناقشه برانگیز در مورد قرارداد هوشمند امنیت آن و امکان هک شدن است. همچنین قراردادهای جعلی و فیشینگ نیز میتواند در این زمینه به وجود بیاید.
البته پلتفرمهای خدماتدهی و نودها بهگونهای در حال پیشرفت هستند که جلوی این گروه آسیبها گرفته شود اما به طور کلی باید جانب احتیاط در مورد قراردادهای هوشمند در نظر گرفته شود.
علاوه بر این، رسمی نبودن قراردادهای هوشمند را نیز میتوان از دیگر موارد مورد انتقاد دانست. تاکنون هیچ دولتی قرارداد هوشمند را نپذیرفته و در صورت ایرادات حقوقی امکان مجادله و شکایت از آنها و گرفتن حق خودتان در این زمینه بسیار سخت است.
جمعبندی
تاکنون بسیاری از اپلیکیشنهای غیرمتمرکز، بازیها و پروژههای دیفای از طریق قرارداد هوشمند ایجاد شدهاند و به عبارتی میتوان گفت قرارداد هوشمند قلب تپنده اپلیکیشنهای غیرمتمرکز Dapps است. زیرا بدون قرارداد هوشمند خبری از آنها نیز نبوده است.
موضوعاتی همچون سلامت، سیاست و مدیریت را آینده قراردادهای هوشمند میدانند و پیشبینیها از ظهور توکنهایی است که با پروژههایی در این موضوعات میتوانند وارد دنیا شوند و به تغییر آن بپردازند.
کارکردها و نحوه عملکرد قرارداد هوشمند گسترده و پیچیده است و در صورتی که فقط به فعالیت در بازار کریپتوها میخواهید بپردازید نیازی به دانش زیادی در مورد آنها ندارید، اما اگر میخواهید همچون یک توسعهدهنده یا متخصص بلاکچین فعالیت کنید؛ حتماً در این زمینه و زبان سالیدیتی دانش خود را گسترش دهید.