نیک سزابو برای اولین بار در دهه 1990 قراردادهای هوشمند را توصیف کرد. در آن زمان ، وی یک قرارداد هوشمند را به عنوان ابزاری تعریف کرد که شبکه های رایانه ای را با ترکیب پروتکل ها با رابط های کاربر رسمی و ایمن می کند.
Szabo در مورد استفاده احتمالی از قراردادهای هوشمند در زمینه های مختلف که شامل توافق نامه های قراردادی است - مانند سیستم های اعتباری ، پردازش پرداخت و مدیریت حقوق محتوا - بحث کرد.
در دنیای ارزهای رمزپایه ، ما ممکن است یک قرارداد هوشمند را به عنوان یک برنامه یا برنامه ای که در یک blockchain اجرا می شود تعریف کنیم. به طور معمول ، آنها به عنوان یک توافق دیجیتالی کار می کنند که توسط مجموعه خاصی از قوانین اجرا می شود. این قوانین توسط کد رایانه از پیش تعریف شده است ، که توسط همه گره های شبکه تکرار و اجرا می شود.
قراردادهای هوشمند blockchain امکان ایجاد پروتکل های بدون اعتماد را فراهم می کند. این بدان معناست که دو طرف می توانند از طریق blockchain تعهد کنند ، بدون اینکه به یکدیگر بشناسند یا به آنها اعتماد کنند. آنها می توانند مطمئن باشند که اگر شرایط برآورده نشود ، قرارداد اجرا نمی شود. به غیر از این ، استفاده از قراردادهای هوشمند می تواند نیاز به واسطه ها را برطرف کند و هزینه های عملیاتی را به میزان قابل توجهی کاهش دهد.
اگرچه پروتکل بیت کوین سالهاست که از قراردادهای هوشمند حمایت می کند ، اما آنها توسط خالق و بنیانگذار اتریوم ، ویتالیک باترین محبوبیت پیدا کردند. شایان ذکر است که هر blockchain ممکن است روش متفاوتی برای اجرای قراردادهای هوشمند ارائه دهد.
در این مقاله به قراردادهای هوشمند که در دستگاه مجازی Ethereum (EVM) اجرا می شوند ، که بخش مهمی از blockchain Ethereum است ، می پردازد.
چطورکار می کنند؟
به عبارت ساده ، یک قرارداد هوشمند به عنوان یک برنامه قطعی کار می کند. این یک کار خاص را انجام می دهد که و اگر شرایط خاصی برآورده شود. به همین ترتیب ، یک سیستم قرارداد هوشمند اغلب از جمله "اگر ... پس ..." از جمله ها پیروی می کند. اما با وجود اصطلاحات محبوب ، قراردادهای هوشمند نه قراردادهای حقوقی و نه هوشمندانه هستند. آنها فقط یک قطعه کد هستند که روی یک سیستم توزیع شده (blockchain) کار می کنند.
در شبکه Ethereum ، قراردادهای هوشمند وظیفه اجرای و مدیریت عملیات blockchain را دارند که هنگام تعامل کاربران (آدرس) با یکدیگر انجام می شود. هر آدرس که یک قرارداد هوشمند نیست ، یک حساب کاربری خارجی (EOA) نامیده می شود. بنابراین ، قراردادهای هوشمند توسط کد رایانه کنترل می شوند و EOA ها توسط کاربران کنترل می شوند.
در اصل ، قراردادهای هوشمند Ethereum از کد قرارداد و دو کلید عمومی ساخته شده است. اولین کلید عمومی موردی است که توسط خالق قرارداد ارائه شده است. کلید دیگر خود قرارداد را نشان می دهد ، به عنوان یک شناسه دیجیتالی که برای هر قرارداد هوشمند منحصر به فرد است ، عمل می کند.
استقرار هر قرارداد هوشمند از طریق معامله blockchain انجام می شود و فقط در صورت فراخوانی توسط EOA (یا توسط سایر قراردادهای هوشمند) می توان آنها را فعال کرد. با این حال ، اولین ماشه همیشه توسط EOA (کاربر) ایجاد می شود.
ویژگی های کلیدی
یک قرارداد هوشمند Ethereum اغلب ویژگی های زیر را ارائه می دهد:
توزیع شدهقراردادهای هوشمند در کلیه گره های شبکه اتریوم تکرار و توزیع می شوند. این یکی از مهمترین تفاوت ها از راه حل های دیگر است که مبتنی بر سرورهای متمرکز است.
قطعیقراردادهای هوشمند فقط با توجه به شرایط مورد نیاز ، اقداماتی را که برای آنها طراحی شده اند انجام می دهند. همچنین ، نتیجه همیشه یکسان خواهد بود ، مهم نیست که چه کسی آنها را اجرا کند.
خود مختار. قراردادهای هوشمند می توانند انواع کارها را به صورت خودکار انجام دهند و مانند یک برنامه خود اجرایی کار کنند. در بیشتر موارد ، اگر یک قرارداد هوشمند ایجاد نشود ، "خفته" خواهد ماند و هیچ عملی را انجام نمی دهد.
تغییر ناپذیرپس از استقرار ، قراردادهای هوشمند قابل تغییر نیست. آنها فقط در صورتی که قبلاً یک عملکرد خاص اجرا شده باشد ، می توانند "حذف" شوند. بنابراین ، ممکن است بگوییم که قراردادهای هوشمند می توانند کد ضد دستکاری را ارائه دهند.
قابل تنظیم. قبل از استقرار ، قراردادهای هوشمند می توانند به روش های مختلفی رمزگذاری شوند. بنابراین ، می توان از آنها برای ایجاد انواع مختلف برنامه های غیر متمرکز (DAPP) استفاده کرد. این مربوط به این واقعیت است که اتریوم یک blockchain کامل تورینگ است.
بی اعتماددو یا چند طرف می توانند از طریق قراردادهای هوشمند بدون اطلاع یا اعتماد به یکدیگر در تعامل باشند. علاوه بر این ، فناوری blockchain تضمین می کند که داده ها دقیق هستند.
شفافاز آنجا که قراردادهای هوشمند مبتنی بر یک blockchain عمومی است ، کد منبع آنها نه تنها تغییر ناپذیر است بلکه برای هر کسی قابل مشاهده است.
آیا می توانم یک قرارداد هوشمند را تغییر یا حذف کنم؟
اضافه کردن کارکردهای جدید به یک قرارداد هوشمند اتریوم پس از استقرار غیرممکن است. با این حال ، اگر خالق آن شامل تابعی به نام Selfdestruct در کد باشد ، آنها قادر به "حذف" قرارداد هوشمند در آینده هستند - و آن را با یک مورد جدید جایگزین می کنند. در مقابل ، اگر عملکرد از قبل در کد گنجانده نشده باشد ، آنها قادر به حذف آن نخواهند بود.
نکته قابل توجه ، به اصطلاح قراردادهای هوشمند قابل ارتقاء به توسعه دهندگان اجازه می دهد تا انعطاف پذیری بیشتری نسبت به تغییر ناپذیری قراردادها داشته باشند. روش های بسیاری برای ایجاد قراردادهای هوشمند قابل ارتقاء ، با درجات مختلف پیچیدگی وجود دارد.
با استفاده از یک مثال ساده ، تصور کنیم که یک قرارداد هوشمند به چندین قرارداد کوچکتر تقسیم می شود. برخی از آنها به گونه ای تغییر ناپذیر طراحی شده اند ، در حالی که برخی دیگر عملکرد "حذف" را فعال کرده اند. این بدان معنی است که بخشی از کد (قراردادهای هوشمند) قابل حذف و جایگزین شدن است ، در حالی که سایر ویژگی ها دست نخورده باقی می مانند.
مزایا و موارد استفاده
به عنوان کد قابل برنامه ریزی ، قراردادهای هوشمند بسیار قابل تنظیم هستند و می توانند به روش های مختلفی طراحی شوند و انواع مختلفی از خدمات و راه حل ها را ارائه می دهند.
به عنوان برنامه های غیر متمرکز و خود اجرایی ، قراردادهای هوشمند ممکن است شفافیت و کاهش هزینه های عملیاتی را افزایش دهند. بسته به اجرای ، آنها همچنین می توانند باعث افزایش کارایی و کاهش هزینه های بوروکراتیک شوند.
قراردادهای هوشمند به ویژه در شرایطی که شامل انتقال یا مبادله وجوه بین دو یا چند طرف باشد ، مفید هستند.
به عبارت دیگر ، قراردادهای هوشمند را می توان برای طیف گسترده ای از موارد استفاده طراحی کرد. برخی از نمونه ها شامل ایجاد دارایی های توکن ، سیستم های رأی دهی ، کیف پول رمزنگاری ، مبادلات غیرمتمرکز ، بازی ها و برنامه های کاربردی موبایل است. آنها همچنین ممکن است به همراه سایر راه حل های blockchain که در حال مقابله با زمینه های مراقبت های بهداشتی ، خیریه ، زنجیره تأمین ، حاکمیت و امور مالی غیر متمرکز (DEFI) هستند ، مستقر شوند.
ERC-20
توکن های صادر شده در blockchain Ethereum از معیارهای معروف به ERC-20 پیروی می کنند. استاندارد عملکردهای اصلی همه نشانه های مبتنی بر اتریوم را توصیف می کند. به همین ترتیب ، این دارایی های دیجیتالی اغلب به عنوان نشانه های ERC-20 گفته می شود و بخش بزرگی از ارزهای رمزپایه موجود را نشان می دهند.
بسیاری از شرکت های blockchain و استارتاپ ها به منظور صدور نشانه های دیجیتالی خود در شبکه اتریوم ، قراردادهای هوشمند را مستقر کردند. پس از صدور ، اکثر این شرکت ها نشانه های ERC-20 خود را از طریق رویدادهای اولیه ارائه سکه (ICO) توزیع کردند. در بیشتر موارد ، استفاده از قراردادهای هوشمند ، تبادل وجوه و توزیع نشانه ها را به روشی بی اعتماد و کارآمد امکان پذیر می کند.
محدودیت ها
قراردادهای هوشمند از کد رایانه ای ساخته شده توسط انسان ساخته شده است. این خطرات بی شماری را به همراه دارد زیرا کد در معرض آسیب پذیری ها و اشکالات است. در حالت ایده آل ، آنها باید توسط برنامه نویسان باتجربه ، به ویژه هنگامی که شامل اطلاعات حساس یا مقادیر زیادی پول می شوند ، نوشته و مستقر شوند.
به غیر از این ، برخی استدلال می کنند که سیستم های متمرکز می توانند بیشتر راه حل ها و عملکردهای ارائه شده توسط قراردادهای هوشمند را ارائه دهند. تفاوت اصلی این است که قراردادهای هوشمند به جای یک سرور متمرکز بر روی یک شبکه P2P توزیع شده اجرا می شوند. و از آنجا که آنها مبتنی بر یک سیستم blockchain هستند ، آنها تمایل به تغییر غیرقابل تغییر دارند یا تغییر بسیار سخت دارند.
تغییر ناپذیر بودن می تواند در برخی شرایط عالی باشد ، اما در برخی دیگر بسیار بد است. به عنوان مثال ، هنگامی که یک سازمان خودمختار غیر متمرکز (DAO) به نام "DAO" در سال 2016 هک شد ، میلیون ها اتر (ETH) به دلیل نقص در کد قرارداد هوشمند خود به سرقت رفتند.
از آنجا که قرارداد هوشمند آنها تغییر ناپذیر بود ، توسعه دهندگان قادر به اصلاح کد نبودند. این سرانجام به یک چنگال سخت منجر شد و زنجیره دوم اتریوم را به دنیا آورد. به عبارت ساده تر ، یک زنجیره هک را "برگردانید" و وجوه را به صاحبان حق بازگرداند (این بخشی از blockchain فعلی اتریوم است). زنجیره دیگر تصمیم گرفت تا در هک دخالتی نکند و اظهار داشت که اتفاقاتی که در یک blockchain رخ می دهد هرگز نباید تغییر یابد (این زنجیره اکنون Ethereum Classic نامیده می شود).
توجه به این نکته حائز اهمیت است که این مشکل از blockchain اتریوم ناشی نشده است. در عوض ، این امر به دلیل اجرای قرارداد معیوب هوشمندانه ایجاد شده است.
محدودیت دیگر قراردادهای هوشمند مربوط به وضعیت حقوقی نامشخص آنها است. نه تنها به این دلیل که در اکثر کشورها در یک منطقه خاکستری قرار دارد ، بلکه به این دلیل که قراردادهای هوشمند متناسب با چارچوب قانونی فعلی نیستند.
به عنوان مثال ، بسیاری از قراردادها نیاز دارند که هر دو طرف به درستی شناسایی شوند و بیش از 18 سال سن داشته باشند. نام مستعار ارائه شده توسط فناوری blockchain ، همراه با عدم وجود واسطه ها ، ممکن است این شرایط را تهدید کند. در حالی که راه حل های بالقوه ای برای این امر وجود دارد ، قابلیت اجرای قانونی قراردادهای هوشمند یک چالش واقعی است - به خصوص وقتی صحبت از شبکه های بدون مرز و توزیع شده است.
انتقاد
برخی از علاقه مندان به blockchain قراردادهای هوشمند را به عنوان راه حلی می دانند که به زودی بخش بزرگی از سیستم های تجاری و بوروکراتیک ما را جایگزین و خودکار می کند. در حالی که این یک واقعیت ممکن است ، اما احتمالاً دور از تبدیل شدن به یک هنجار نیست.
قراردادهای هوشمند مطمئناً یک فناوری جالب است. اما ، توزیع ، قطعی ، شفاف و تا حدودی تغییر ناپذیر می تواند آنها را در برخی شرایط جذاب تر کند.
در اصل ، انتقاد به این واقعیت متکی است که قراردادهای هوشمند راه حل مناسبی برای بسیاری از مشکلات دنیای واقعی نیستند. در حقیقت ، برخی از سازمان ها بهتر است از گزینه های معمولی مبتنی بر سرور استفاده کنند.
در مقایسه با قراردادهای هوشمند ، سرورهای متمرکز برای نگهداری آسان تر و ارزان تر هستند و تمایل دارند از نظر سرعت و ارتباطات متقابل (قابلیت همکاری) راندمان بالاتری ارائه دهند.
افکار پایانی
شکی نیست که قراردادهای هوشمند باعث تأثیر زیادی در دنیای ارزهای رمزنگاری شده و آنها مطمئناً فضای blockchain را متحول کرده اند. در حالی که کاربران نهایی ممکن است مستقیماً با قراردادهای هوشمند ارتباط برقرار نکنند ، احتمالاً اینها طیف گسترده ای از برنامه ها را در آینده قدرت می دهند ، از خدمات مالی گرفته تا مدیریت زنجیره تأمین.
با هم ، قراردادهای هوشمند و blockchain پتانسیل های مختلفی را برای اختلال در همه زمینه های جامعه ما دارند. اما فقط زمان می گوید که آیا این فناوری های پیشگام موفق به غلبه بر بسیاری از موانع پذیرش در مقیاس بزرگ خواهند شد یا خیر.< Pan> در مقایسه با قراردادهای هوشمند ، سرورهای متمرکز برای نگهداری آسان تر و ارزان تر هستند و تمایل دارند از نظر سرعت و ارتباطات متقابل (قابلیت همکاری) راندمان بالاتری ارائه دهند.
استراتژیهای اسکالپ...
ما را در سایت استراتژیهای اسکالپ دنبال می کنید
برچسب :
نویسنده : جعفر بدیعی
بازدید : <-PostHit->
تاريخ : دوشنبه
5 تير
1402 ساعت: 15:15