پادکست صوتی "قرارداد هوشمند چیست؟ آموزش صفر تا صد قراردادهای هوشمند"
- 14:09 1403-09-01
- زمان مطالعه: 8 دقیقه
قرار داد هوشمند یا Smart Contract چیست؟ یکی از مفاهیم مهم و کلیدی در فناوری بلاکچین (Blockchain) و ارز های دیجیتال (Cryptocurrency) قرارداد های هوشمند یا Smart Contract ها هستن. در این مقاله خواهیم فهمید که مفهوم قرارداد هوشمند چیست و ویژگی های قرارداد هوشمند چه چیزهایی هستند. قرارداد های معمولی و سنتی با مفهومی که در قرارداد های هوشمند خواهید دید، متفاوت هستن.
مشخصا در دنیای ارز های دیجیتال و بلاکچین مفاهیم و اصطلاحات تخصصی فراوانه. اگر قصد دارید در این حوزه یک متخصص بشید، بهتره که دانش و اطلاعاتتون رو در این زمینه بالا ببرید و مفاهیم مهم این حوزه رو یاد بگیرید. در مجموعه آکادمی ارزسنج آموزش هایی رو به شما ارائه میدیم که با بهره گیری از اونا می تونید سطح دانش و مهارت خودتون رو ارتقا بدید. فراموش نکنید که هیچ کس از آموزش و یادگیری ضرر نکرده و هر قدر سطح دانش و سواد شما در یک حوزه مخصوصا حوزه آموزش ارز دیجیتال بیشتر باشه، به همون اندازه حاشیه سود شما بیشتر خواهد شد و ریسک های احتمالی ضرر و زیان پایین میاد. این مقاله که در رابطه با یکی از مفاهیم مهم در بلاکچین و ارز های دیجیتال هستش رو کامل بخونید.
قرارداد هوشمند چیست ؟
یک قرارداد معمولی یا سنتی، توافقی مکتوب بین دو یا چند شخص هستش که انجام کار هایی رو نسبت به هم متعهد میشن. برای مثال دو نفر با هم قرارداد اجاره خونه منعقد می کنن و یک طرف قرارداد متعهد میشه تا یک واحد مسکونی رو با امکانات درج شده در قرارداد در اختیار طرف مقابل بذاره. در عوض موجر یا اجاره گیرنده هم در قرارداد متعهد میشه که مبلغ مشخصی رو به شکل ماهیانه پرداخت کنه. در این مدل قرارداد ها معمولا یک نهاد مرجع که در مثالمون میشه مشاور املاک، وظیفه تنظیم قرارداد رو بر عهده داره و به عنوان یک شاهد بر تعهدات طرفین هستش. در قرارداد های سنتی تحت شرایطی امکان فسخ قرارداد و ملغی شدن تعهدات طرفین وجود داره. مورد دیگه در مورد قرارداد های سنتی ضمانت اجرایی هستش. درسته که نهاد های قانونی از بند های درج شده یک قرارداد رسمی حمایت می کنن ولی باز هم ممکنه که مواردی از قرارداد به دلایلی اجرا نشه. همه این مواردی که گفته شد در مفهوم قرارداد های هوشمند به گونه دیگری هستش و با فرم جدیدی از تعهدات و توافق نامه ها آشنا خواهیم شد. در ادامه تعریف خواهیم کرد که قرارداد هوشمند چیست.
به زبان ساده، قرارداد های هوشمند یا Smart contract ها؛ یک سری کد های نرم افزاری هستن که در صورت وقوع شرایطی خاص شروع به اجرا شدن می کنن و در صورت شروع به اجرا شدن، دیگه قابل توقف نیستن. یک قرارداد هوشمند در حال اجرا رو هیچکس حتی سازنده خود قرارداد هم نمی تونه متوقف کنه؛ از همین رو مفهومی به نام فسخ قرارداد نداریم. به عبارتی دیگر، یک قرارداد هوشمند پروتکلی برای تنظیم توافق بوده که با استفاده از اطلاعات مربوط به شرایط قرار داد، همه اقدامات پیش بینی شده در اون رو به شکل خودکار انجام میده.
تفاوت قرارداد هوشمند با قرارداد سنتی
در این بخش از مقاله اسمارت کانترکت چیست؟ به تفاوت قرارداد های هوشمند با قراردادهای سنتی خواهیم پرداخت. در حقیقت در مقایسه بین یک قرارداد سنتی و رایج با یک قرارداد هوشمند یا Smart contract چند نکته خواهیم داشت. اول اینکه قرارداد های سنتی قابل فسخ هستن و طرفین می تونن اجرای بند های قرارداد رو متوقف کنن اما در یک قرارداد هوشمند چنین چیزی ممکن نیست و هیچ کس حتی سازنده خود الگوریتم قرارداد هوشمند هم نمی تونه اجرای قرارداد رو متوقف کنه. این مسئله علاوه بر فسخ ناپذیری عنصر ضمانت اجرایی داشتن رو هم تضمین می کنه. مورد بعدی این که در قرارداد های هوشمند، نهاد های مرکزی و قانونی بر حسن انجام قرارداد نظارت دارن در صورتی که در یک قرارداد هوشمند، همچین چیزی موضوعیت نداره و خود قرارداد اتوماتیک و با ضوابط مشخص عملیاتی میشه و نیاز به نظارت و کنترل کسی نیست.
پیاده سازی قرارداد هوشمند
خب حالا پیاده سازی قرارداد هوشمند به چه شکله ؟ یک قرارداد هوشمند در واقع یک نرم افزار و مجموعه ای از کد های کامپیوتری هستش. مجموعه دستورات بعد از برنامه نویسی شدن بر بستر بلاکچین آپلود میشن. قرارداد های هوشمند توسط زبان های مختلف برنامه نویسی کد نویسی میشن. برای مثال زبان برنامه نویسی قرارداد های هوشمند اتریوم سالیدیتی (Solidity) هستش. پس کسی که میخاد روی بلاکچین اتریوم، قرارداد هوشمند بنویسه باید زبان سالیدیتی رو بلد باشه. زبان معروف و پرطرفدار C++ هم یکی دیگه از ابزار های پیاده سازی قرارداد هوشمند روی بلاکچین هستش. برای مثال برای توسعه یک قرارداد هوشمند روی بلاکچین EOS باید از زبان C++ استفاده کنید. از دیگر زبان های برنامه نویسی قرارداد های هوشمند می تونیم به Java و Java script اشاره کنیم. در آموزش تحلیل فاندامنتال ما بطور کامل نحوه بررسی قراردادهای هوشمند رو توضیح دادیم و می تونین ازش استفاده کنین.
پیاده سازی قرارداد هوشمند در بلاک چین:
همونطور که در بخش های قبلی نیز گفتیم، قرارداد هوشمند قراردادی هست که شرایط اون از قبل تعیین شده و توسط یه پروتکل خاص در پلتفرم هایی مخصوص اجرا شده که کاربران از اون استفاده می کنند. همچنین قراردادهای هوشمند در بلاک چین های مختلفی اجرا یشن که در این قسمت از مقاله قرارداد هوشمند چیست؟ برخی از این بلاک چین ها برای شما معرفی و مورد بررسی قرار می دیم.
• اجرای قرارداد هوشمند بر بستر ترون
یکی از بلاک چین های پشتیبانی کننده از قراردادهای هوشمند، شبکه ترون هست. بهتره بدونین شبکه ترون یکی از محبوب ترین شبکه های بلاک چین هست که به دلیل هزینه خیلی پایین و سرعت بسیار بالا بستر مناسبی برای پیاده سازی و اجرای برنامه های غیر متمرکز و قراردادهای هوشمند هست. همچنین TRC20 نیز استاندارد ایجاد قرارداد هوشمند و توکن در شبکه ترون هست. جالب اینجاست که بدونین قراردادهای هوشمند شبکه ترون با زبان برنامه نویسی بلاک چینی سالیدیتی پشتیبانی میشن.
• اجرای قرارداد هوشمند در بستر اتریوم
یکی دیگه از بلاک چین های پشتیبانی کننده از قراردادهای هوشمند، شبکه اتریوم هست. بلاک چین اتریوم یکی از شبکه های بلاک چینی قدرتمند برای پیاده سازی و اجرای قراردادهای هوشمند هست و کسب و کارها و صنایع مختلفی اقدام به پیاده سازی اید های خودشون در این شبکه می کنند. ERC20 نیز استاندارد ایجاد توکن در اتریوم هست. همچنین قراردادهای هوشمند در شبکه اتریوم توسط زبان برنامه نویسی سالیدیتی پشتیبانی میشن.
اجرای قرارداد هوشمند چگونه است؟
نوبت این رسیده تا در این قسمت از مقاله قرارداد هوشمند چیست؟ اطلاعاتی در مورد اجرای قرارداد هوشمند برای شما ارائه کنیم. همونطور که در بخش قبلی نیز گفتیم، شما می تونین قراردادهای هوشمند و برنامه های غیر متمرکز خودتون رو بر روی دو بلاک چین ترون و اتریوم راه اندازی و اجرا کنین. بلاک چین اتریوم در حال حاضر یکی از بلاک چین های محبوب و پر کاربرد اجرای قرارداد هوشمند هست و مورد استقبال توسعه دهنده ها قرار گرفته. همچنین قرارداد هوشمند این امکان رو داره که توسط هر کسی در بلاک چین های مختلف ایجاد بشه و مورد استفاده قرار بگیره. به عبارت دیگه شما می تونین قرارداد هوشمند خودتون رو در بلاک چین ترون اجرا کنین.
جالب اینجاست که بدونین کد قراردادهای هوشمند واضح و قابل تایید عمومی هست. یعنی هر کسی می تونه دقیقا بدونه زمانی که یه قرارداد هوشمند دارایی دیجیتال رو دریافت می کنه چه منطقی رو دنبال می کنه. همچنین قراردادهای هوشمند توسط زبان های برنامه نویسی مختلفی به وجود میان و راه اندازی میشن. به این ترتیب هر کد قرارداد هوشمند بر روی بلاک چین ذخیره میشه و به افراد این امکان رو میده تا کد قرارداد و وضعیت فعلی رو بررسی کنند و عملکرد قرارداد هوشمند خودشون رو تایید کنند. نکته قابل توجه این هست که هر کامپیوتر در شبکه یه کپی از همه قراردادهای هوشمند موجود و وضعیت فعلی اون ها در بلاک چین و داده های معامله رو ذخیره می کنه.
برای پیاده سازی قرارداد هوشمند به چه چیزایی نیاز داریم ؟
برای طراحی و پیاده سازی یک قرارداد هوشمند، علاوه بر درک مفاهیم مرتبط با اون، به یک سری پیش نیاز ها هم احتیاج خواهیم داشت که در این بخش از مقاله اسمارت کانترکت چیست؟ با هم بررسی می کنیم.
• تعیین دسترسی ها: برنامه قرارداد هوشمند باید به خدمات عنوان شده در قرارداد دسترسی داشته باشه تا به طور خودکار اونا رو در فرایند عرضه یا خرید کنترل کنه. برای مثال اگه تعیین شده که قرارداد در ازای دریافت مبلغی مشخص یک فایل رو ارائه بده، طبیعتا باید به فایل مذکور دسترسی داشته باشه.
• شرایط قرارداد: شرایط قرارداد هوشمند به شکل شفاف و دقیقی دنباله ای از عملیات هایی هست که در صورت وقوع شرایطی خاص، اجرای بند های قرارداد رو شروع می کنن. این شرایط و دستورالعمل ها با برنامه نویسی و کد های نرم افزاری مشخص میشن. همه شرکت کنندگان برای بهره مندی از یک قرارداد هوشمند، در وهله اول باید این شرایط رو بپذیرن و به قول معروف امضاش کنن.
• اوراکل: اوراکل چیزی هستش که اطلاعات رو به قرارداد جهت پردازش انتقال میده. برای مثال اگه قراره که قرارداد هوشمند اطلاعات مربوط به هواشناسی رو پردازش کنه، اوراکل می تونه یک سایت هواشناسی باشه.
ویژگی های قرارداد هوشمند
مزایا و ویژگی های خوبی که قرارداد های هوشمند برای صاحبان کسب و کارها و حتی افراد معمولی فراهم میکنن، باعث شده تا به مرور زمان، قرارداد های هوشمند به عنوان یکی از مهم ترین روش های انعقاد قرارداد، مطرح بشن. اما ویژگی هایی که باعث شده تا این نوع از قرارداد های طرفداران زیادی پیدا کنن به شرح زیر هستش.
• امنیت:
یکی از مهم ترین این ویژگی ها امنیت هستش. به طور کلی در مبحث امنیت ارزهای دیجیتال باید این رو بگیم که در بلاکچین امکان تقلب و دستکاری وجود نداره و نسخه ای از همه اطلاعات بین اعضای شبکه توزیع میشه. قرارداد های هوشمند هم همین طور هستن و ضمن شفایت، امکان دستکاری هم ندارن.
• اعتبار:
یکی دیگه از شاخصه های این نوع قرارداد های اعتبار اون هستش. در قرارداد هوشمند ضمانت اجرایی وجود داره و چنان چه شرایط تعیین شده رخ نده هیچ عملیاتی در کار نخواهد بود. همین طور اگر چنان چه قرارداد اجرایی شد دیگه قابل توقف و به قولی قابل فسخ شدن نیست و قطعا و بدون توقف به شکل کامل اجرا خواهد شد. این امر باعث شده تا اعتبار و ارزش قرارداد های هوشمند بالا بره.
• سرعت :
سرعت اجرایی شدن قرارداد بسیار بالا هستش. در این نوع قرارداد ها واسطه ای در کار نیست و به محض برقرار شدن شرایط قرارداد، کد های دستور العمل اون شروع می کنن به اجرا شدن.
سخن پایانی
در این مقاله در مورد یکی از مفاهیم جذاب و بسیار آینده دار در حوزه بلاکچین و ارز های دیجیتال صحبت کردیم. اونم اینکه قرارداد هوشمند چیست؟ در اصل Smart Contract ها ایده جذاب و کاربردی هستن که با ظهور بلاکچین جامه عمل پوشیدن. این نوع قرارداد ها ساز و کاری دارن که خیال طرفین قرارداد رو از هر گونه دخالت خارجی و تقلب راحت می کنن. در حال حاضر قرارداد های هوشمند در دنیا بسیار مورد توجه توسعه دهندگان هستن و پروژه های زیادی در این زمینه انجام شده و در حال انجامه. اگر به این حوزه علاقه مند هستید که از نظر ما هم یکی از شاخه های آینده دار علوم کامپیوتر در آینده خواهد بود. می تونید ضمن فراگیری مباجث و مبانی این حوزه، روی یکی از زبان های برنامه نویسی قرارداد های هوشمند مثل سالیدیتی هم کار کنین و شروع به یاد گیریش کنین. امیدوارم این مقاله براتون مفید بوده باشه و استفاده لازم رو ببرید. اگر در ارتباط با این مقاله نظر یا سوالی هم داشته باشین، می تونین در بخش نظرات مطرح کنین و پاسخگوی شما خواهیم بود.
نظرات کاربران در مورد قرارداد هوشمند چیست؟ آموزش صفر تا صد قراردادهای هوشمند
-
از قرارداد هوشمند میشه فهمید که یه ارزی کلاهبرداری هستش یا نه؟
-
ممنون بابت اطلاعات خوبتون
برای ساختن یه قرارداد هوشمند باید برنامه نویسی بلد باشیم؟
نه لزوما، بعضی از سایت ها هستن که کد های آماده رو در اختیارتون قرار میدن.