قرارداد هوشمند چیست؟
قرارداد هوشمند توسط نیک سابو اولین بار در دهه 1990 توصیف شد. در آن زمان، او قرارداد هوشمند را به عنوان ابزاری تعریف کرد که شبکه های کامپیوتری را با ترکیب پروتکل ها با رابط های کاربری رسمی و ایمن می کند. سابو درباره استفاده بالقوه از قراردادهای هوشمند در زمینههای مختلف که شامل توافقنامههای قراردادی است مانند سیستمهای اعتباری، پردازش پرداخت، و مدیریت حقوق محتوا بحث کرد.
در دنیای ارزهای دیجیتال، ممکن است قرارداد هوشمند را به عنوان یک برنامه یا برنامه ای که بر روی یک بلاک چین اجرا می شود، تعریف کنیم. به طور معمول، آنها به عنوان یک قرارداد دیجیتالی کار می کنند که توسط مجموعه ای از قوانین خاص اجرا می شود. این قوانین توسط کد کامپیوتری از پیش تعریف شده است که توسط تمام گره های شبکه تکرار و اجرا می شود.
قراردادهای هوشمند بلاک چین امکان ایجاد پروتکل های غیرقابل اعتماد را فراهم می کند. این بدان معنی است که دو طرف می توانند از طریق بلاک چین تعهدات خود را بدون نیاز به شناخت یا اعتماد یکدیگر انجام دهند. آنها مطمئن باشند که در صورت عدم تحقق شرایط، قرارداد اجرا نمی شود. به غیر از آن، استفاده از قراردادهای هوشمند می تواند نیاز به واسطه ها را برطرف کند و هزینه های عملیاتی را به میزان قابل توجهی کاهش دهد.
اگرچه پروتکل بیت کوین سال هاست از قراردادهای هوشمند پشتیبانی می کند، اما توسط خالق و یکی از بنیانگذاران اتریوم، ویتالیک بوترین، محبوبیت پیدا کرد. البته شایان ذکر است که هر بلاک چین ممکن است روش متفاوتی برای اجرای قراردادهای هوشمند ارائه دهد.
قراردادهای هوشمند چگونه کار می کنند؟
به زبان ساده، یک قرارداد هوشمند به عنوان یک برنامه قطعی عمل می کند. یک سیستم قرارداد هوشمند اغلب از عبارات “اگر… آنگاه…” پیروی می کند. اما با وجود اصطلاحات رایج، قراردادهای هوشمند نه قراردادهای قانونی هستند و نه هوشمند. آنها فقط یک قطعه کد هستند که روی یک سیستم توزیع شده (بلاک چین) اجرا می شوند. در شبکه اتریوم، قراردادهای هوشمند مسئول اجرا و مدیریت عملیات بلاک چین هستند که هنگام تعامل کاربران (آدرس ها) با یکدیگر انجام می شود.
هر آدرسی که قرارداد هوشمند نباشد، حساب متعلق به خارجی (EOA) نامیده می شود. بنابراین، قراردادهای هوشمند توسط کد رایانه ای کنترل می شوند و EOA ها توسط کاربران کنترل می شوند. اساساً قراردادهای هوشمند اتریوم از یک کد قرارداد و دو کلید عمومی تشکیل شده است. اولین کلید عمومی کلیدی است که توسط سازنده قرارداد ارائه شده است. کلید دیگر خود قرارداد را نشان می دهد و به عنوان یک شناسه دیجیتال عمل می کند که برای هر قرارداد هوشمند منحصر به فرد است.
استقرار هر قرارداد هوشمند از طریق یک تراکنش بلاک چین انجام می شود و تنها زمانی فعال می شود که توسط EOA (یا سایر قراردادهای هوشمند) فراخوانی شود. با این حال، اولین محرک همیشه توسط یک EOA (کاربر) ایجاد می شود.
ویژگی های کلیدی قرارداد هوشمند
یک قرارداد هوشمند اتریوم اغلب ویژگی های زیر را ارائه می دهد:
توزیع شده است
قراردادهای هوشمند در تمام گرههای شبکه اتریوم تکرار و توزیع میشوند. این یکی از تفاوت های عمده با راه حل های دیگر است که مبتنی بر سرورهای متمرکز هستند.
قطعی
قراردادهای هوشمند با توجه به برآورده شدن الزامات، تنها اقداماتی را که برای آن طراحی شده اند، انجام می دهند. همچنین، بدون توجه به اینکه چه کسی آنها را اجرا می کند، نتیجه همیشه یکسان خواهد بود.
خود مختار
قراردادهای هوشمند می توانند انواع کارها را خودکار کنند و مانند یک برنامه خوداجرا کار کنند. با این حال، در بیشتر موارد، اگر یک قرارداد هوشمند راه اندازی نشود، “خفته” می ماند و هیچ عملی را انجام نمی دهد.
تغییرناپذیر
قراردادهای هوشمند پس از استقرار قابل تغییر نیستند. آنها را فقط در صورتی می توان “حذف کرد” که یک تابع خاص قبلاً اجرا شده باشد. بنابراین، ممکن است بگوییم که قراردادهای هوشمند می توانند کدهای ضد دستکاری ارائه دهند.
قابل تنظیم
قبل از استقرار، قراردادهای هوشمند را می توان به روش های مختلف کدگذاری کرد. بنابراین، می توان از آنها برای ایجاد بسیاری از انواع برنامه های غیرمتمرکز (DApps) استفاده کرد. این به این واقعیت مربوط می شود که اتریوم یک بلاک چین کامل تورینگ است.
بی اعتماد
دو یا چند طرف می توانند از طریق قراردادهای هوشمند بدون شناخت یا اعتماد یکدیگر با یکدیگر تعامل داشته باشند. علاوه بر این، فناوری بلاک چین تضمین می کند که داده ها دقیق هستند.
شفاف
از آنجایی که قراردادهای هوشمند مبتنی بر یک بلاک چین عمومی هستند، کد منبع آنها نه تنها تغییرناپذیر است، بلکه برای همه قابل مشاهده است.
آیا می توانم قرارداد هوشمند را تغییر یا حذف کنم؟
اضافه کردن عملکردهای جدید به قرارداد هوشمند اتریوم پس از استقرار غیرممکن است. با این حال، اگر سازنده آن تابعی به نام SELFDESTRUCT را در کد قرار دهد، آنها می توانند قرارداد هوشمند را در آینده “حذف” کنند و آن را با یک قرارداد جدید جایگزین کنند. در مقابل، اگر این تابع از قبل در کد گنجانده نشده باشد، قادر به حذف آن نخواهند بود. نکته قابل توجه، به اصطلاح قراردادهای هوشمند قابل ارتقا به توسعه دهندگان اجازه می دهد تا انعطاف پذیری بیشتری نسبت به تغییرناپذیری قراردادها داشته باشند.
راه های زیادی برای ایجاد قراردادهای هوشمند قابل ارتقا، با درجات مختلف پیچیدگی وجود دارد. با در نظر گرفتن یک مثال ساده، اجازه دهید تصور کنیم که یک قرارداد هوشمند به چندین قرارداد کوچکتر تقسیم می شود. برخی از آنها غیرقابل تغییر طراحی شده اند، در حالی که برخی دیگر عملکرد “حذف” را فعال کرده اند. این بدان معناست که بخشی از کد (قراردادهای هوشمند) را می توان حذف و جایگزین کرد، در حالی که سایر عملکردها دست نخورده باقی می مانند.
مزایا و موارد استفاده
به عنوان کد قابل برنامه ریزی، قراردادهای هوشمند بسیار قابل تنظیم هستند و می توانند به روش های مختلف طراحی شوند و انواع خدمات و راه حل ها را ارائه دهند. به عنوان برنامه های غیرمتمرکز و خوداجرا، قراردادهای هوشمند ممکن است افزایش شفافیت و کاهش هزینه های عملیاتی را فراهم کنند. بسته به اجرا، آنها همچنین می توانند کارایی را افزایش دهند و هزینه های اداری را کاهش دهند.
قراردادهای هوشمند را می توان برای موارد استفاده بسیار متنوعی طراحی کرد. برخی از نمونهها عبارتند از ایجاد داراییهای توکنشده، سیستمهای رأیگیری، کیف پولهای رمزنگاری، صرافیهای غیرمتمرکز، بازیها و برنامههای کاربردی تلفن همراه. آنها همچنین ممکن است همراه با سایر راه حل های بلاک چین که در زمینه های مراقبت های بهداشتی، خیریه، زنجیره تامین، حاکمیت و امور مالی غیرمتمرکز (DeFi) نقش دارند، مستقر شوند.
ERC-20
توکن های صادر شده در بلاک چین اتریوم از استانداردی به نام ERC-20 پیروی می کنند. این استاندارد عملکردهای اصلی تمام توکن های مبتنی بر اتریوم را توصیف می کند. به این ترتیب، این داراییهای دیجیتال اغلب به عنوان توکنهای ERC-20 شناخته میشوند و بخش بزرگی از ارزهای دیجیتال موجود را نشان میدهند.
بسیاری از شرکتهای بلاک چین و استارتآپها قراردادهای هوشمندی را به منظور انتشار توکنهای دیجیتال خود در شبکه اتریوم مستقر کردند. پس از انتشار، اکثر این شرکت ها توکن های ERC-20 خود را از طریق رویدادهای عرضه اولیه سکه (ICO) توزیع کردند. در بیشتر موارد، استفاده از قراردادهای هوشمند، تبادل وجوه و توزیع توکنها را به روشی غیرقابل اعتماد و کارآمد ممکن میسازد.
محدودیت ها
قراردادهای هوشمند از کدهای کامپیوتری نوشته شده توسط انسان ساخته می شوند. این خطرات متعددی را به همراه دارد زیرا کد در معرض آسیبپذیریها و اشکالات است. در حالت ایده آل، آنها باید توسط برنامه نویسان باتجربه نوشته و مستقر شوند، به خصوص زمانی که شامل اطلاعات حساس یا مقادیر زیادی پول می شود. به غیر از این، برخی استدلال می کنند که سیستم های متمرکز می توانند اکثر راه حل ها و عملکردهای ارائه شده توسط قراردادهای هوشمند را ارائه دهند.
تفاوت اصلی این است که قراردادهای هوشمند به جای یک سرور متمرکز بر روی یک شبکه P2P توزیع شده اجرا می شوند. و از آنجایی که آنها مبتنی بر یک سیستم بلاک چین هستند، تغییر ناپذیر یا بسیار سخت هستند. تغییر ناپذیر بودن می تواند در برخی موقعیت ها عالی باشد، اما در برخی موقعیت ها بسیار بد است.
برای مثال، زمانی که یک سازمان غیرمتمرکز خودمختار (DAO) به نام «The DAO» در سال 2016 هک شد، میلیونها اتر (ETH) به دلیل نقص در کد قرارداد هوشمند آنها به سرقت رفت. از آنجایی که قرارداد هوشمند آنها تغییر ناپذیر بود، توسعه دهندگان قادر به تعمیر کد نبودند. این در نهایت منجر به هارد فورک شد و دومین زنجیره اتریوم را به وجود آورد.
به زبان ساده، یک زنجیره هک را “بازگشت” کرد و وجوه را به صاحبان قانونی بازگرداند (این بخشی از بلاک چین فعلی اتریوم است). زنجیره دیگر تصمیم گرفت در هک دخالت نکند و اظهار داشت که چیزهایی که در یک بلاک چین اتفاق می افتد هرگز نباید تغییر کنند (این زنجیره اکنون Ethereum Classic نامیده می شود). توجه به این نکته مهم است که مشکل از بلاک چین اتریوم نشات گرفته است. در عوض، به دلیل اجرای قرارداد هوشمند معیوب ایجاد شد.
یکی دیگر از محدودیت های قراردادهای هوشمند به وضعیت حقوقی نامشخص آنها مربوط می شود. نه تنها به این دلیل که در اکثر کشورها در منطقه خاکستری قرار دارد، بلکه به این دلیل که قراردادهای هوشمند با چارچوب قانونی فعلی همخوانی ندارد. به عنوان مثال، بسیاری از قراردادها مستلزم این هستند که هر دو طرف به درستی شناسایی و دارای سن بالای 18 سال باشند. نام مستعار ارائه شده توسط فناوری بلاک چین، همراه با فقدان واسطه، ممکن است این الزامات را تهدید کند. در حالی که راه حل های بالقوه ای برای این موضوع وجود دارد.
انتقاد
برخی از علاقه مندان به بلاک چین، قراردادهای هوشمند را راه حلی می دانند که به زودی بخش بزرگی از سیستم های تجاری و بوروکراتیک ما را جایگزین و خودکار می کند. در حالی که این یک واقعیت ممکن است، اما احتمالاً از تبدیل شدن به یک هنجار فاصله دارد. قراردادهای هوشمند مطمئناً یک فناوری جالب هستند. اما توزیع، قطعی، شفاف و تا حدودی تغییرناپذیر بودن می تواند در برخی موقعیت ها جذابیت آنها را کاهش دهد.
اساساً، انتقاد بر این واقعیت استوار است که قراردادهای هوشمند راه حل مناسبی برای بسیاری از مشکلات دنیای واقعی نیستند. در واقع، برخی از سازمانها بهتر است از جایگزینهای مبتنی بر سرور معمولی استفاده کنند. در مقایسه با قراردادهای هوشمند، نگهداری سرورهای متمرکز آسانتر و ارزانتر است و از نظر سرعت و ارتباطات بین شبکهای (قابلیت همکاری) کارایی بالاتری ارائه میدهند.
جمع بندی
شکی نیست که قراردادهای هوشمند تأثیر زیادی در دنیای ارزهای دیجیتال ایجاد کردند و مطمئناً فضای بلاک چین را متحول کردند. در حالی که کاربران نهایی ممکن است مستقیماً با قراردادهای هوشمند تعامل نداشته باشند، این قراردادها احتمالاً طیف وسیعی از برنامههای کاربردی را در آینده، از خدمات مالی گرفته تا مدیریت زنجیره تأمین، نیرو میدهند.
قراردادهای هوشمند و بلاک چین با هم این پتانسیل را دارند که تقریباً در تمام حوزه های جامعه ما اختلال ایجاد کنند. اما تنها زمان نشان خواهد داد که آیا این فناوریهای پیشگامانه میتوانند بر موانع بسیاری برای پذیرش در مقیاس بزرگ غلبه کنند.
دوره ها و آموزش های فرازمان
در صورتی که تجربه خاصی در خصوص برنامهنویسی ندارید میتوانید از دورههای رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دورههای پیشرفتهتری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.
نقشه راه
راهنما آکادمی فرازمان
برای یادگیری برنامه نویسی بلاکچین…
در این باره بیشتر بخوانید
دیدگاهتان را بنویسید