قیمت بیت کوین
1,625,107,736تومان
61,936.00دلار
1.52
قیمت اتریوم
64,205,349تومان
2,442.94دلار
1.02
قیمت بایننس کوین
13,637,357تومان
518.95دلار
5.74
قیمت ریپل
43,621تومان
1.66دلار
6.27
قیمت تتر
26,217تومان
1.01دلار
0.21
خانه  »  آموزش  »  دانشنامه ارزهای دیجیتال  »  قراردادهای هوشمند (Smart Contracts)، همه چیز درباره این امکان در بستر بلاکچین اتریوم 

قراردادهای هوشمند (Smart Contracts)، همه چیز درباره این امکان در بستر بلاکچین اتریوم 

دانشنامه ارزهای دیجیتال
رضا باغانی
1399/09/17
۰
قراردادهای هوشمند (Smart Contracts)، همه چیز درباره این امکان در بستر بلاکچین اتریوم

نیک سابو (Nick Szabo) اولین بار در دهه 1990 قراردادهای هوشمند را معرقی کرد. در آن زمان، او قرارداد هوشمند را ابزاری تعریف کرد که با ترکیب پروتکل‌ها با رابط‌های کاربری، شبکه‌های رایانه‌ای را رسمی‌و ایمن می‌کند.

قراردادهای هوشمند (Smart Contracts)، همه چیز درباره این امکان در بستر بلاکچین اتریوم

قراردادهای هوشمند (Smart Contracts)، همه چیز درباره این امکان در بستر بلاکچین اتریوم

قراردادهای هوشمند (Smart Contracts)، همه چیز درباره این امکان در بستر بلاکچین اتریوم

مقدمه

نیک سابو (Nick Szabo) اولین بار در دهه 1990 قراردادهای هوشمند را توصیف کرد. در آن زمان، او قرارداد هوشمند را ابزاری تعریف کرد که با ترکیب پروتکل‌ها با رابط‌های کاربری، شبکه‌های رایانه‌ای را رسمی‌و ایمن می‌کند.

سابو در مورد استفاده بالقوه از قراردادهای هوشمند در زمینه‌های مختلف که شامل توافق نامه‌های قراردادی است، بحث کرد. این قراردادها در زمینه‌هایی مانند سیستم‌های اعتباری، پردازش پرداخت و مدیریت حقوق محتوا می‌توانستند مفید واقع شوند.



قراردادهای هوشمند در بلاکچین

در دنیای ارزهای دیجیتال، ممکن است ما یک قرارداد هوشمند را به عنوان یک برنامه که با بلاکچین اجرا می‌شود، تعریف کنیم. به طور معمول، آن‌ها به عنوان یک توافق نامه دیجیتالی کار می‌کنند. این توافق نامه‌ها توسط مجموعه خاصی از قوانین اجرا می‌شوند. این قوانین توسط کد رایانه‌ای از پیش تعریف شده ای، توسط همه گره‌های شبکه تکرار و اجرا می‌شود.

قراردادهای هوشمند بلاکچین امکان ایجاد پروتکل‌های بدون نیاز به اعتماد را فراهم می‌کنند. این بدان معناست که دو طرف می‌توانند از طریق بلاکچین تعهداتی را انجام دهند، بدون اینکه نیازی به شناخت و اعتماد به یکدیگر داشته باشند. آن‌ها می‌توانند مطمئن باشند که در صورت عدم تحقق شرایط، قرارداد اجرا نمی‌شود. به غیر از این، استفاده از قراردادهای هوشمند می‌تواند نیاز به واسطه‌ها را برطرف کند. این امر هزینه‌های عملیاتی را به میزان قابل توجهی کاهش می‌دهد.

پروتکل بیت کوین سالهاست که از قراردادهای هوشمند پشتیبانی می‌کند. اما این قراردادها توسط سازنده و بنیانگذار اتریوم، ویتالیک بوترین محبوب شده است. البته لازم به ذکر است که هر بلاکچین ممکن است روش متفاوتی برای اجرای قراردادهای هوشمند ارائه دهد.

این مقاله به قراردادهای هوشمندی که در ماشین مجازی اتریوم (EVM) اجرا می‌شوند، متمرکز خواهد شد. قراردادهای هوشمند بخشی اساسی از بلاک چین اتریوم و اکثر پروتکل‌های صنعت رمزنگاری هستند.

قراردادهای هوشمند چطور کار می‌کنند؟

به زبان ساده، یک قرارداد هوشمند به عنوان یک برنامه تعیین کننده عمل می‌کند. این قرارداد یک وظیفه خاص را هنگام و در صورت تحقق برخی شرایط انجام می‌دهد. به همین ترتیب، یک سیستم قرارداد هوشمند غالباً از عبارات “اگر… پس” پیروی می‌کند. اما علی رغم اصطلاحات رایج، قراردادهای هوشمند نه قراردادهای حقوقی هستند و نه هوشمندانه. آن‌ها فقط قطعه‌ای از کد هستند که روی سیستم توزیع شده (بلاکچین) اجرا می‌شوند.

در شبکه اتریوم، قراردادهای هوشمند وظیفه اجرا و مدیریت عملیات بلاکچین را دارند که هنگام تعامل کاربران (آدرس‌ها) با یکدیگر انجام می‌شود. هر آدرسی که قرارداد هوشمند نباشد، یک حساب خارجی (EOA) نامیده می‌شود. بنابراین، قراردادهای هوشمند توسط کد رایانه و EOA توسط کاربران کنترل می‌شود.

اصولاً قراردادهای هوشمند اتریوم از یک کد قرارداد و دو کلید عمومی‌ساخته شده‌اند. اولین کلید عمومی‌کلید ارائه شده توسط سازنده قرارداد است. کلید دیگر نشان دهنده خود قرارداد است، به عنوان یک شناسه دیجیتال منحصر به فرد برای هر قرارداد هوشمند عمل می‌کند.

استقرار هر قرارداد هوشمند از طریق معامله بلاکچین انجام می‌شود و آنها فقط در صورت تماس با EOA یا با سایر قراردادهای هوشمند فعال می‌شوند. با این حال، اولین حرکت همیشه توسط EOA (کاربر) ایجاد می‌شود.



ویژگی‌های اصلی

یک قرارداد هوشمند اتریوم اغلب مشخصات زیر را دارد:

توزیع شده (Distributed) – قراردادهای هوشمند در همه گره‌های شبکه اتریوم تکثیر و توزیع می‌شوند. این یکی از تفاوتهای عمده با سایر راه حلهای مبتنی بر سرورهای متمرکز است.

قطعی (Deterministic) – قراردادهای هوشمند فقط با توجه به برآورده شدن شرایط، اقداماتی را انجام می‌دهند که برای آنها طراحی شده‌اند. همچنین، مهم نیست که چه کسی آنها را اجرا کند، نتیجه همیشه یکسان خواهد بود.

خود مختار (Autonomous) – قراردادهای هوشمند می‌توانند انواع کارها را به صورت خودکار انجام دهند و مانند یک برنامه خودکار اجرا شوند. اگرچه در بیشتر موارد، اگر قرارداد هوشمند منعقد نشود، “خواب” خواهد ماند و هیچ عملیاتی انجام نمی‌دهد.

غیرقابل تغییر (Immutable) – قراردادهای هوشمند پس از استقرار قابل تغییر نیست. تنها در صورتی که قبلاً یک عملکرد خاص اجرا شده باشد، می‌توان آنها را “حذف” کرد. بنابراین، ممکن است بگوییم که قراردادهای هوشمند می‌توانند کدهای ضد دستکاری ارائه دهند.

قابل تنظیم (Customizable) – قبل از استقرار، قراردادهای هوشمند را می‌توان به طرق مختلف کدگذاری کرد. بنابراین، می‌توان از آنها برای ایجاد انواع مختلفی از برنامه‌های غیرمتمرکز یا دپ‌ها (DApps) استفاده کرد. این مربوط به این واقعیت است که اتریوم یک بلاکچین کامل تورینگ است.

بی اعتماد (Trustless) – دو یا چند طرف می‌توانند از طریق قراردادهای هوشمند بدون شناخت و اعتماد به یکدیگر تعامل داشته باشند. علاوه بر این، فناوری بلاکچین از صحت داده‌ها اطمینان حاصل می‌کند.

شفافیت (Transparent) – از آنجا که قراردادهای هوشمند مبتنی بر بلاکچین عمومی‌است، کد منبع آنها نه تنها تغییرناپذیر نیست بلکه برای همه قابل مشاهده است.

آیا می‌توان قرارداد هوشمند را تغییر داد یا حذف کرد؟

اضافه کردن توابع جدید به یک قرارداد هوشمند اتریوم پس از استقرار غیرممکن است. با این حال، اگر سازنده آن تابعی به نام سلف دیستراکت (SELFDESTRUCT) را در کد خود گنجانده باشد، در آینده می‌توانند قرارداد هوشمند را “حذف” کنند و قرارداد جدید را جایگزین آن کنند. در مقابل، اگر این عملکرد از قبل در کد وجود نداشته باشد، آن‌ها قادر به حذف آن نخواهند بود.

قابل ذکر است، به اصطلاح قراردادهای هوشمند قابل ارتقا به توسعه دهندگان اجازه می‌دهد انعطاف پذیری بیشتری نسبت به تغییرناپذیری قراردادها داشته باشند. روش‌های زیادی برای ایجاد قراردادهای هوشمند قابل ارتقا، با درجات مختلف از پیچیدگی وجود دارد.

با یک مثال ساده، بیایید تصور کنیم که یک قرارداد هوشمند به چندین قرارداد کوچک تقسیم می‌شود. برخی از آنها غیرقابل تغییر طراحی شده‌اند، در حالی که در برخی دیگر عملکرد حذف وجود دارد. این بدان معنی است که بخشی از کد (قرارداد هوشمند) قابل حذف و جایگزینی است، در حالی که سایر ویژگی‌ها دست نخورده باقی مانده‌اند.



مزایا و موارد استفاده قراردادهای هوشمند

به عنوان کد قابل برنامه ریزی، قراردادهای هوشمند بسیار قابل تنظیم هستند و می‌توانند به طرق مختلف طراحی و ارائه انواع خدمات و راه حل‌ها را انجام دهند.

به عنوان برنامه‌های غیرمتمرکز و خود اجرا، قراردادهای هوشمند ممکن است شفافیت بیشتر و هزینه‌های عملیاتی را کاهش دهند. بسته به اجرا، آن‌ها همچنین می‌توانند کارایی را افزایش دهند و هزینه‌های دیوان سالاری را کاهش دهند.

قراردادهای هوشمند به ویژه در شرایطی که شامل انتقال یا مبادله وجوه بین دو یا چند طرف باشد مفید هستند. به عبارت دیگر، این قراردادها می‌توانند برای موارد بسیار متنوعی برای استفاده طراحی شوند. برخی از نمونه‌ها شامل ایجاد دارایی‌های توکن دار، سیستم‌های رأی گیری، کیف پول‌های ارز دیجیتال، صرافی‌های غیرمتمرکز، بازی‌ها و برنامه‌های تلفن همراه است. آن‌ها همچنین می‌توانند همراه با سایر راه حل‌های بلاکچین که در زمینه‌های مراقبت‌های بهداشتی، امور خیریه، زنجیره تأمین، حاکمیت و امور مالی غیرمتمرکز (DeFi) فعالیت می‌کنند، مستقر شوند.

استاندارد توکن ERC-20

توکن‌‌‌های صادر شده در بلاک چین اتریوم از استانداردی پیروی می‌کنند که به ERC-20 معروف است. این استاندارد توابع اصلی همه توکن‌‌‌های مبتنی بر اتریوم را توصیف می‌کند. به این ترتیب، این دارایی‌های دیجیتال اغلب به عنوان توکن‌‌‌های ERC-20 شناخته می‌شوند. توکن‌‌‌های ERC20 نمایانگر بخش بزرگی از ارزهای دیجیتال موجود هستند.

بسیاری از شرکت‌های بلاکچین و استارتاپ‌ها قرارداد هوشمندی را برای صدور توکن‌‌‌های دیجیتالی خود در شبکه اتریوم مستقر کرده‌اند. پس از انتشار، اکثر این شرکت‌ها توکن‌‌‌های ERC-20 خود را از طریق رویدادهای عرضه اولیه سکه (ICO) توزیع کردند. در بیشتر موارد، استفاده از این قراردادها امکان تبادل وجوه و توزیع توکن‌ها را به روشی مطمئن و کارآمد فراهم می‌کند.

محدودیت‌های قراردادهای هوشمند

تغییرناپذیری

قراردادهای هوشمند از کد رایانه‌ای ساخته شده توسط بشر ایجاد می‌شوند. این کد خطرات زیادی را به همراه دارد زیرا کد در معرض آسیب پذیری و اشکال است. در حالت ایده آل، آن‌ها باید توسط برنامه نویسان باتجربه نوشته و مستقر شوند، به ویژه هنگامی‌که شامل اطلاعات حساس یا مبالغ زیادی باشد.

غیر از این، برخی معتقدند که سیستم‌های متمرکز می‌توانند بیشتر راه حل‌ها و ویژگی‌های ارائه شده توسط قراردادهای هوشمند را ارائه دهند. تفاوت اصلی این است که قراردادهای هوشمند به جای یک سرور متمرکز بر روی شبکه توزیع شده P2P در حال اجرا هستند. از آنجایی که آنها مبتنی بر یک سیستم بلاکچین هستند، تمایل دارند که تغییرناپذیر باشند یا بسیار سخت تغییر کنند.

تغییرناپذیر بودن در بعضی شرایط می‌تواند عالی باشد، اما در برخی موارد بسیار بد است. به عنوان مثال، هنگامی‌که یک سازمان خودمختار غیرمتمرکز (DAO) به نام “DAO” در سال 2016 هک شد، میلیون‌ها اتر به دلیل نقص در کد قرارداد هوشمند آنها به سرقت رفت.

از آنجا که قرارداد هوشمند آنها تغییرناپذیر بود، توسعه دهندگان قادر به اصلاح کد نبودند. این امر سرانجام به یک هارد فورک منجر شد و زنجیره دوم اتریوم را به دنیا آورد. به زبان ساده، یک زنجیره هک را “برگرداند” و وجوه را به صاحبان قانونی بازگرداند (این بخشی از بلاک چین فعلی اتریوم است). زنجیره دیگر با بیان اینکه اتفاقاتی که در بلاکچین رخ می‌دهد هرگز نباید تغییر کند (این زنجیره اکنون Ethereum Classic نامیده می‌شود) تصمیم گرفت که در هک انجام شده دخالت نکند.

توجه به این نکته مهم است که این مشکل از بلاکچین اتریوم نبوده است. در عوض، این امر به دلیل اجرای معیوب قرارداد هوشمند ایجاد شده است.

غیر قابل قانون گذاری

محدودیت دیگر قراردادهای هوشمند مربوط به وضعیت قانونی نامشخص آنهاست. نه تنها به این دلیل که در بیشتر کشورها در یک منطقه خاکستری قرار دارد، بلکه به این دلیل که قراردادهای هوشمند متناسب با چارچوب قانونی فعلی نیستند.

به عنوان مثال، در بسیاری از قراردادها لازم است هر دو طرف به درستی شناسایی شوند و بیش از 18 سال سن داشته باشند. نام مستعار ارائه شده توسط فناوری بلاکچین، همراه با کمبود واسطه، ممکن است این الزامات را تهدید کند. در حالی که راه حل‌های بالقوه‌ای برای این وجود دارد، اجرای قانونی قراردادهای هوشمند یک چالش واقعی است. به ویژه هنگامی‌که صحبت از شبکه‌های توزیع شده و بدون مرز می‌شود.



انتقاد

برخی از علاقه مندان به بلاکچین قرارداد هوشمند را راه حلی می‌دانند که به زودی بخش بزرگی از سیستم‌های اداری ما را جایگزین و خودکار خواهد کرد. در حالی که این یک واقعیت ممکن است، اما احتمالاً این امر تبدیل به روال نمی‌شود.

قرارداد هوشمند مطمئناً یک فناوری جالب است. اما توزیع، تعیین گرایانه، شفاف و تا حدی تغییرناپذیر می‌تواند در برخی شرایط باعث جذابیت کمتر شود.

اساساً، انتقادات به این واقعیت متکی است که قراردادهای هوشمند راه حل مناسبی برای بسیاری از مشکلات دنیای واقعی نیستند. در حقیقت، برخی از سازمان‌ها بهتر است از گزینه‌های معمولی مبتنی بر سرور استفاده کنند.

وقتی سرورهای متمرکز با فناوری قرارداد هوشمند مقایسه می‌شوند، راحت‌تر و ارزان‌تر هستند و از نظر سرعت و ارتباط بین شبکه‌ای (قابلیت همکاری) بهره وری بالاتری دارند.

کلام پایانی

شکی نیست که قراردادهای هوشمند تأثیر زیادی در دنیای ارزهای دیجیتال ایجاد کردند. قطعاً آن‌ها انقلابی در فضای بلاکچین به وجود آوردند. ممکن است کاربران نهایی با این قراردادها تعامل مستقیم نداشته باشند. با این وجود قرارداد هوشمند احتمالاً طیف گسترده‌ای از برنامه‌ها را در آینده تأمین می‌کنند، از خدمات مالی گرفته تا مدیریت زنجیره تأمین.

قرارداد هوشمند و بلاکچین با هم این توانایی را دارند که تقریباً همه حوزه‌های جامعه ما را پوشش دهند. اما فقط زمان مشخص خواهد کرد که آیا این فناوری‌های پیشگام موفق به غلبه بر بسیاری از موانع پذیرش در مقیاس بزرگ خواهند شد.

مطالب مرتبط
آلت سیگنالز(Altsignals) رهبر ارائه‌دهندگان سیگنال بازار فارکس و کریپتو از سال 2018 تاکنون!
توکن‌های بیمه در صنعت ارزهای دیجیتال چه هستند و چه تفاوت‌هایی دارند؟
استیب لکوین یا سکه پایدار چیست؟ تمام آنچه باید در مورد این کلاس دارایی بدانید
فرستادن دیدگاه

ما را دنبال کنید
ویدیو کلیپ های آموزشی
ویدیوی آموزشی پولکادات چیست
فیلم آموزش بایننس
ویدیوی آموزشی تتر Tether
ویدیوی آموزشی مونرو Monero
آینده ارز دیجیتال کاردانو
ترید و سرمایه گذاری
صرافی رمزنگاری کوین بیس (Coinbase) + راهنمای کامل ایجاد حساب کاربری
ارز دیجیتال کاوا (Kava) چیست؟ پلت فرم اعطای وام ارزهای دیجیتال
راهنمای استیکینگ پولکادات (Polkadat) و کسب پاداش با توکن DOT
ریپل و دوج کوین توانستند اوج‌های تاریخی جدید ثبت کنند؛ آیا اکنون زمان برداشت سود است؟
توکن (BETH) چیست و چگونه می‌توان از آن استفاده کرد؟