آموزش Hyperledger Fabric – قراردادهای هوشمند

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

سه نکته کلیدی وجود دارد که در مورد قراردادهای هوشمند اعمال می شود ، به ویژه هنگامی که در یک پلت فرم اعمال می شوند:

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

اکثر پلتفرم های بلاک چین با قرارداد هوشمند دارای معماری تنظیم-اجرا یا order-execute هستند که در آن پروتکل اجماع شرایط زیر را دارد:

  • تراکنش ها  را تأیید و سفارش می دهد و سپس آنها را در همه گره های همتا پخش می کند ،
  • سپس هر یک از همتایان به ترتیب تراکنش ها را انجام می دهد.

معماری اجرای سفارش را می توان تقریباً در تمام سیستم های بلاک چین موجود یافت ، از سیستم های عمومی/بدون مجوز مانند Ethereum (با اجماع مبتنی بر PoW) تا سیستم  های مجاز مانند Tendermint ، Chain و Quorum.

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

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

 

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *