من میدانم که هیچ نمیدانم.
چرخه عمر (Life Cycle) قرارداد هوشمند چیست؟
قرارداد هوشمند در بلاکچین چیست؟
قراردادهای هوشمند اساساً برنامه هایی هستند که بر روی معیارهای خاص و در بستر بلاک چین قابل اجرا باشند. قراردادهای هوشمند معمولاً برای خودکارسازی اجرای یک توافق استفاده میشوند تا طرفین بتوانند بلافاصله و بدون واسطه یا اتلاف وقت از تصمیم خود مطمئن شوند. آنها همچنین میتوانند یک جریان کار را به طور خودکار شروع کنند که شرایط خارج از کنترل قطعی رضایت بخش گردد.
خطوط ساده در یک بلاکچین به صورت کد نوشته میشوند تا قراردادهای هوشمند عمل کنند. هنگامی که شرایط از پیش تعیین شده برآورده و تایید شد، فعالیتها توسط شبکه ای از رایانهها انجام می شود. اپلیکیشنهای مالی غیرمتمرکز مانند صرافیهای غیرمتمرکز (Dex)، سرمایه گذاری (Staking)، قرض گرفتن (Borrowing) و قرض دادن (Lending) مثالهایی از موارد استفاده قراردادهای هوشمند هستند. آنها در صنایع گوناگون مانند حوزه سلامت، بازی، املاک و مستغلات و غیره قابل استفاده هستند.
قراردادهای هوشمند چه خدمات پایداری برای DEFI ارائه می دهند؟
توزیع لجر (دفتر کل) و رمزارزها دو تکنولوژی هستند که به عنوان پایه ای برای قراردادهای هوشمند تمرکز زدا خدمت ارائه می دهند. ابتدا داده های موجود یعنی تراکنش ها باید به طور ایمن و به شکل لنجر دیجیتال (دفترکل) ذخیره شوند. این بدان معناست که رتبه بندی و محتوای کلیه تراکنش باید حفظ شود. تراکنش های هر فرد به بلوکهایی در زنجیره های بلوکی دسته بندی شده و به ترتیب متوالی باقی می مانند.
پول مجازی توسعه یافته و بر روی پلتفرم های دیجیتالی مانند بیت کوین(BTC) به عنوان یک رمز ارز دیجیتال غیر متمرکز غیر قانونی (unregulated) توسط بانک مرکزی اروپا معامله میشود. در دهه1995 ابتکاراتی برای ایجاد یک ارز دیجیتال وجود داشت با این حال، این تلاش ها استفاده از یک بانک(custodian of ledger) را برای پیگیری حساب های مالکیت پول ضروری کرد.
امروزه، بلاک چین راه حل فنی برای انتشار این لجر (دفتر کل) یا گزارش تراکنش در سراسر شبکه همتا به همتا و در عین حال حفظ یکپارچگی گزارش تراکنش ارائه میکنند. به لطف این پیشرفت، بازارهای غیر قانونی ارزهای دیجیتال اکنون امکان پذیر نیست.
چرخه عمر قراردادهای هوشمند چه مراحلی دارد؟
برخلاف چرخه حیات بلاک چین که با شناسایی یک مشکل شروع میشود و با بلاک چینی که مشکل را حل میکند، به پایان میرسد، یک قرارداد هوشمند روی بلاک چین مراحل مختلفی را طی میکند. این مراحل به شرح زیر دنبال میشوند:
1- ایجاد قراردادهای هوشمند(Create)
2-انجام قراردادهای هوشمند(Freeze)
3-اجرای قرارداد هوشمند (Execute)
4-نهایی شدن قرارداد هوشمند (Finalize)
چهار مرحله مهم از چرخه عمر قرارداد هوشمند است. این با چرخه عمر توسعه بلاکچین متفاوت است که با تعریف مسئله ای که می خواهید با محصول بلاکچین خود حل کنید شروع میشود و با حداقل محصول قابل دوام خاتمه می یابد.
ایجاد قرارداد هوشمند:
مذاکره تعاملی قرارداد و مرحله پیادهسازی مرحله ایجاد را تشکیل می دهد. ابتدا، طرفین باید در مورد محتوا و اهداف کلی قرارداد به توافق برسند. این شبیه به مذاکرات قرارداد سنتی است و میتواند به صورت آنلاین یا آفلاین انجام شود. در پلتفرم دفترکل (underlying ledger) همه شرکتکنندگان باید که به پول داشته باشند. شناسه آن در بیشتر شرایط مستعار است و برای شناسایی طرفین و انتقال پرداخت ها استفاده می شود.
پس از توافق بر سر اهداف و محتوا، قرارداد باید به کد تبدیل شود. رسا بودن زبان کدگذاری قرارداد هوشمند زیربنایی، کدگذاری قرارداد را محدود می کند. اکثر سیستم های قراراد هوشمند زیرساختی را برای ساخت، نگهداری و آزمایش قراردادها ی هوشمند برای تایید رفتار و محتوای اجرایی آنها فراهم می کنند.
همانطور که در زبانهای برنامهنویسی سنتی دیده میشود تبدیل الزامات به کد، نیاز به تکرار های متعدد بین ذینفعان و برنامه نویسان دارد.
قراردادهای هوشمند هیچ تفاوتی با یکدیگر ندارند و چندین تکرار بین فازهای مذاکره و پیادهسازی متحمل است. در مرحله انتشار، پس از توافق طرفین در مورد فرم مدون قرارداد در دفتر توزیع شده بارگذاری می شود. در طول این مرحله، گره ها در دفتر کل توزیع شده قرارداد را به عنوان بخشی از یک بلوک تراکنش دریافت می کنند. زمانی که اکثر گره ها بلوک را تایید کردند، قرارداد برای اجرا در دسترس است.
از آنجایی که قراردادهای هوشمند غیرمتمرکز پس از پذیرش بلاکچین قابل اصلاح نیستند، هر گونه تغییر در قرارداد هوشمند مستلزم توسعه قرارداد جدید است. اگرچه، یک قرارداد هوشمند بر روی بلاکچین قرار می گیرد. این واقعیت به تنهایی نباید به عنوان توافق طرف برای ورود به قرارداد تفسیر شود، زیرا هر کسی می تواند یک قرارداد هوشمند را به زنجیره بلوکی ارسال کند که متضمن تعهد برای هر صاحب کیف پول تصادفی است. بهطور مشابه قراردادهای هوشمند غیر متمرکز می توانند به نفع هر شرکت کننده در بلاکچین باشند، آنها انتخاب می کنند از قبل مزایا را دریافت کنند یا خیر.
انجماد قرارداد هوشمند:
پس از ارائه آن به بلاکچین، قرارداد هوشمند توسط اکثریت نودهای شرکت تایید میشود. در ازای این خدمات باید بهای به استخراج کنندگان پرداخت، تا اکوسیستم با قراردادهای هوشمند غرق نشود. قرارداد و طرفین آن اکنون برای عموم آزاد است. در مرحله فریز یا انجماد، هرگونه انتقال به آدرس کیف پول قرارداد هوشمند مسدود می شود و نودها به عنوان هیئت مدیره عمل می کنند و تایید می کنند که پیش شرط های قرارداد برای اجرا برآورده شدهاند.
یکپارچگی قرارداد هوشمند توسط نودهای احراز هویت تأیید میشود و موتور ترجمه قرارداد (یا کامپایلر) کد را اجرا میکند. هنگامیکه ورودیهای یک طرف در قالب کوین یا همان کالایی که باید مبادله شود، دریافت میشوند، کامپایلر تراکنشی را ایجاد میکند که با معیارهای محققشده آغاز میشود.
سپس دادههای تراکنش جدید به بلاک چین اضافه میشوند و یک بار دیگر توسط نودهای حاکم تأیید میشوند تا مطابق با شرایط توافقشده در قرارداد تضمین و تأیید شوند. این فرآیند تأیید توسط «مکانیسم اجماع»، یعنی اثبات کار (که مبتنی بر قدرت محاسباتی ماینرها و نودهاست) یا اثبات سهام (که مبتنی بر تعهد ماینرها به بلاک چین است) کنترل میشود.
اجرا قرارداد هوشمند:
گره های شرکت کننده قراردادهایی را می خوانند که در دفتر کل توزیع شده، ذخیره شده اند. بنابراین، یک قرارداد هوشمند چگونه اجرا میشود؟ یکپارچگی قرارداد تایید میشود و کد توسط موتور استنتاج محیط قرارداد هوشمند اجرا می شود. کارکردهای قرارداد هوشمند زمانی انجام می شود (تعهد به کالا از طریق سکه) اجرای قرارداد هوشمند مجموعه جدیدی از تراکنش ها و وضعیت جدیدی را برای قراردادهای هوشمند ایجاد میکند. مجموعه یافتهها و اطلاعات وضعیت جدید وارد دفتر کل توزیع شده و با استفاده از مکانیسم اجماع تایید می شود.
نهایی کردن قرارداد هوشمند:
تراکنش های حاصل و اطلاعات به روز شده در دفتر کل توزیع شده قرار میگیرد و پس از انجام قرارداد هوشمند با استفاده از فرایند اجماع تایید می شود.
دارائی های دیجیتالی که قبلا تعهد شده بودند منتقل میشوند (دارائی ها مسدود نشده اند) و قرارداد برای تأیید همه تراکنش ها تکمیل شود.
این مسئله نشاندهنده تکمیل قرارداد هوشمند است که سپس بسته و ثبت میشود، یعنی نمیتوان آن را تغییر داد یا دستکاری کرد؛ در این مرحله، قرارداد هوشمند «نهایی» شده است.
مزایا و معایب چرخه عمر قرارداد هوشمند چیست؟
هر مرحله از چرخه عمر قرارداد هوشمند نوید کاهش هزینه ها، افزایش شفافیت و ایجاد اعتماد را می دهد اما موانع، هزینه ها و ناسازگاری های قانونی جدیدی را نیز به همراه داردو
شکل گیری قراردادهای هوشمند غیر متمرکز به دو فاز تقسیم می شود:
فاز بند ماده مذاکره سنتی و فاز اجرای کد کارمزدهای ذخیره شده با استفاده از وکلای کمتر در مقابل هزینه های برنامه نویسان قرار داد هوشمند ارزیابی می شود.
زیرساخت اجرای غیر متمرکز و شرکتکنندگان به لطف پیوند امن رمزنگاری بین اجرای قرارداد و نهایی شدن پرداخت، نقش مجریان قرارداد را به عهده میگیرند. این فرایند حل تعارض داخلی، شفافیت و انصاف را برای همه طرفهای درگیر بهبود می بخشد.
از سوی دیگر ماهیت برگشت ناپذیر قراردادهای هوشمند منعقد شده، مشکلات بیشتری را در مورد جبران خسارت ایجاد می کند، زیرا مجموعه تراکش های حاصل، بنا به تعریف، تغییر ناپذیر و غیر قابل برگشت است.
در حالیکه چندین جنبه از قرارداد هوشمند حال حاضر نیازمند دانش فنی تخصصی (مانند برنامه نویسی قرارداد هوشمند) است، پذیرش گسترده قراردادهای هوشمند غیرمتمرکز، با وعده صرفهجویی در هزینهها تقویت میشود، بدون شک موانع موجود برای ورود را کاهش داد و منجر به توسعه محیطهای ایجاد، آزمایش و اشتراک گذاری قراردادهای هوشمند کاربر پسند می شود.
آیا قرارداد هوشمند می تواند نابود شود؟
بله، قرارداد هوشمند با استفاده از عملکرد خود تخریبی می تواند نابود شود. قراردادهای هوشمند اتریوم با فراهم کردن عملکرد خود تخریبی به آنها اجازه می دهد یک قرارداد در سیستم بلاکچین از بین برود.
اگرچه که این یک شمشیر دولبه برای توسعه دهندگان است. از یک طرف عملکرد خودتخریبی به توسعه دهندگان این امکان را می دهد که قراردادهای هوشمند اتریوم را حذف کرده و اتر را در مواقع اضطراری مانند اتک (حمله) انتقال دهند. از سویی دیگر، این عملکرد ممکن است به پیچیدگی توسعه اضافه کند و یک کانال حمله برای مهاجمان فراهم کند.
هنگامی که نقص های امنیتی کشف میشود یا عملکرد یک قرارداد هوشمند باید ارتقا یابد، توسعه دهندگان قرار داد را از بین میبرند. آنها پس از رفع خطاها یا ارتقاء نسخه فعلی، نسخه جدیدی از قرارداد را راه اندازی خواهند کرد.
مهاجمان آسیب پذیری ای را به نام reentrancy (ورود مجدد) در قرارداد هوشمند سازمان غیر متمرکز مستقل (خودمختار) (DAO) در سال ۲۰۱۶ کشف کردند و سازمان DAO در نتیجه این آسیبپذیری، ۳۱۶ میلیون اتر ( 270 دلار/ اتر در فوریه 2020) از دست داد. گاهی اوقات از این حمله بدنام به عنوان حمله DAO یاد می شود. هک DAO چندین روز به طول انجامید و سازمان از اینکه قرارداد آنها در آن زمان به خطر افتاده بود بی خبر بود. به دلیل ویژگی تغییرناپذیری قراردادهای هوشمند، آنها قادر به توقف حمله یا حرکت اتر نبودند، اگر قرارداد دارای عملکرد خودتخریبی باشد، سازمان DAO می تواند به سرعت تمام اتر را منتقل کند و از آسیب مالی جلوگیری کند.
مطلبی دیگر از این انتشارات
همه چیز درباره زبان برنامه نویسی سالیدیتی
مطلبی دیگر از این انتشارات
بررسی چیستی فناوری زنجیرهبلوک
مطلبی دیگر از این انتشارات
آیا قیمت شیبا اینو افزایش پیدا می کند؟