چرخه حیات قرارداد هوشمند
0

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

بازدید : 300

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

[irp posts=”10720″ name=”قرارداد هوشمند یا اسمارت کانترکت چیست؟”]

مزایای قراردادهای هوشمند در برابر قراردادهای معمولی و سنتی

کاهش ریسک

حذف مدیران و کاهش هزینه خدمات

بهبود کارایی فرایندهای کاری ، طوری که با حذف واسطه ها کارایی افزایش می یابد.

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

sc
smart contracts

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

چرخه حیات یا روند ایجاد و اجرای قرارداد هوشمند

چرخه حیات یک قرارداد هوشمند شامل 4 فاز است:

ایجاد قرارداد هوشمند:

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

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

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

اجرای قرارداد هوشمند :

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

اتمام قراردادهای هوشمند:

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

lifecycle
چرخه حیات یه قرارداد

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

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

از آنجا که بلاکچین تغییر ناپذیر است، قراردادهای هوشمند نمی توانند پس از استقرار اصلاح شوند.

اکثر قراردادها کد منبع را منتشر نمی کنند که این امر باعث ابهام برای حسابرسان می شود.چون دو طرف قرارداد نیاز دارند کد قرارداد را درک کنند.

smart-contract-development
اسمارت کانترکت

قراردادهای هوشمند بدون اطلاعات در دنیای واقعی نمی توانند کار کنند.در یک قراردادهوشمند اوراکل نقش نماینده را دارد که وقایع و اطلاعات دنیای واقعی را به قرارداد منتقل می کند.بنابراین چگونگی تعیین یک اوراکل قابل اعتماد یک چالش است.

پلت فرم های توسعه قراردادهای هوشمند

تعداد زیادی پلت فرم برای توسعه قرارداد های هوشمند وجود دارد که در این مقاله به برخی از آنها اشاره می کنیم:

اتریوم (Ethereum):

اتریوم یک پلت فرم غیرمتمرکز است که می تواند قراردادهای هوشمند را اجرا کند. اتریوم از زبان های تورینگ کامل مانند سالیدیتی برای نوشتن قراردادهای هوشمند پشتیبانی می کند.قراردادهای هوشمند را به کد ماشین تبدیل کرده و سپس در EVM بارگیری و اجرا می کند. Ethereum از PoW به عنوان الگوریتم اجماع استفاده می کند.

ehtereum
نوشتن قرارداد در اتریوم

برای جبران هزینه های حل معماهای ساخته شده توسط ماینرها ، از Ether (ETH) استفاده می شود. gas به عنوان یک قیمت داخلی برای انجام تراکنش عمل می کند. به طور غیررسمی ، کل هزینه یک تراکنش را می توان با فرمول gas limit * gas price محاسبه کرد . gas limit بیانگر حداکثر مقدار gas مورد استفاده برای تولید بلاک است و gas price هزینه یک واحد است.کاربران می توانند مقادیر مختلفی از gas را پرداخت کنند تا تراکنش های آنها زودتر تأیید شود (یعنی مقدار زیادی gas منجر به تأیید سریع می شود).

هایپر لجر (Hyperledger Fabric) :

Hyperledger Fabric همچنین یک پلت فرم توزیع شده برای اجرای قراردادهای هوشمند است. Hyperledger برخلاف Ethereum که قرارداد هوشمند را در ماشین های مجازی (EVM) اجرا می کند ، از کانتینر Docker برای اجرای کد قرارداد استفاده می کند.

Hyperledger-Fabric
نوشتن قرارداد در فابریک

بر خلاف ماشین های مجازی ، کانتینرها می توانند از برنامه های قرارداد هوشمند با سربار کمتر پشتیبانی کنند .برای توسعه قرارداد هوشمند ، Fabric از زبان های برنامه نویسی سطح بالا مانند Java و Go (معروف به Golang) پشتیبانی می کند. به همین ترتیب ، فابریک نیز تورینگ کامل است. فابریک از اجماع PBFT استفاده می کند.

[irp posts=”4098″ name=”الگوریتم اجماع تحمل خطای بیزانس چیست؟”]

Corda :

به عنوان یک پلت فرم توزیع شده برای ذخیره و پردازش سوابق دارایی های دیجیتال عمل می کند. Corda زبان های برنامه نویسی سطح بالا مانند Java و Kotlin را که در بستر ماشین مجازی جاوا (JVM) اجرا می شوند ، پشتیبانی می کند.

corda
نوشتن قرارداد در کوردا

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

[irp posts=”4435″ name=”الگوریتم اجماع RAFT چیست؟”]

Stellar :

مشابه Corda ، Stellar یک بستر تخصصی برای برنامه های کاربردی است. Stellar می تواند از انواع زبانها مانند Python ، JavaScript ، Golang و PHP پشتیبانی کند. قراردادهای Stellar تورینگ کامل نیستند. مشابه Fabric ، Stellar کدهای برنامه را در بستر Docker اجرا می کند و در نتیجه هزینه های اضافی را کاهش می دهد.

stellar
نوشتن قرارداد در استلار

به عنوان مثال ، هزینه اجرای یک تراکنش در Stellar فقط 0.0000002 دلار است که تقریباً می تواند نادیده گرفته شود.علاوه بر این ، زمان اجرای یک تراکنش در Stellar به طور متوسط 5 ثانیه است. بنابراین ، Stellar بستری ایده آل برای برنامه های کاربردی است. مدل اجماع استلار Stellar Consensus Protocol (SCP) می باشد.

ایاس (EOS) :

ایاس به منظور مقیاس پذیری برنامه های غیرمتمرکز طراحی شده است. به جای استفاده از تنها یک نوع الگوریتم اجماع ، EOS ترکیبی از تحمل خطای بیزانس (BFT) و اثبات سهام اعطایی (DPOS) را در به کار می برد ، بنابراین مزایای هر دو الگوریتم اجماع را بدست می آورد.در ایای می توان از زبان C++ برای نوشتن قرارداد استفاده کرد.

eos
نوشتن قرارداد در ایاس

[irp posts=”4057″ name=”اثبات سهام واگذار شده یا اعطایی چیست؟”]

سخن پایانی

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

اما با وجود ایمن بودن قراردادها ، چالش هایی در این زمینه وجود دارد که به برخی از آنها اشاره شد.

 

 

0
0
برای اینکه به فکت این مقاله کمک کنید روی دکمه زیر کلیک کنید و تا افراد بیشتری آن را دنبال کنند
اشتراک در
اطلاع از

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه نظرات
محل تبلیغ
کوینکس
محاسبه‌گر ارزهای دیجیتال
ارز معادل
تومان

محاسبه با مبلغ تتر : تومان

0
نظر خود را بنویسید !x