معرفی ۴۰ پلتفرم قرارداد هوشمند (بخش ۲)

بلاکچین در حال تغییر دنیایی است که می‌شناسیم. این فناوری یکی از بزرگترین مشکلات انسان را حل می‌کند: نیاز به اعتماد به یک واسطه را از بین می‌برد. روشی که بلاکچین از آن برای حل این مشکل استفاده می‌کند، ایجاد قابلیت پیگیری غیر قابل تغییر از هر چیزی است که برای فعالیت، به اعتماد به واسطه‌ها نیاز دارد. اما در این فناوری قدرت زیادی نهفته است: قدرت ایجاد قوانینی که باید به همان شکلی که نوشته شده‌اند پیروی شوند، که در آن هر کنشی منجر به واکنشی می‌شود. به عبارت دیگر، قرارداد هوشمند. در این مقاله ۴۰ پلتفرم/ پروژه فهرست شده‌اند که قراردادهای هوشمند را پشتیبانی می‌کنند/توسعه می‌دهند. هدف این مقاله ارزیابی پلتفرم‌ها/ پروژه‌ها بر مبنای عواملی است که قابلیت قرارداد هوشمند آن‌ها را تحت تاثیر قرار می‌دهند و نه ویژگی‌های کلی آن‌ها.

0 182
برای مطالعه بخش اول اینجا, بخش سوم اینجا و بخش چهارم اینجا کلیک کنید.

۶. https://counterparty.io) Counteparty/)

مزایا:

معایب:

زبان قرارداد هوشمند: Solidity ، Serpent

وضعیت: فعال

توضیح: Counterparty جهت اجماع بر بیت کوین تکیه می‌کند. اما همچنین از قراردادهای هوشمند اتریوم پشتیبانی می‌کند.

نحوه کارکرد آن در سطح بالاتر به این شکل است.

  • شما کد قرارداد هوشمند را نوشته (با استفاده از Solidity یا Serpent) و آن را به شکلی کوچکتر (بایت‌کد) کامپایل می‌کنید.
  • Counterparty یک تراکنش انتشار (publish) ایجاد و پخش می‌کند تا کد این قرارداد را به بلاکچین بیت کوین اضافه کند. این کار طوری انجام می‌شود که بلاکچین را «آلوده» نمی‌کند.
  • پس از انتشار، قرارداد هوشمند در یک نشانی «زندگی می‌کند» که مانند یک نشانی عادی بیت کوین به نظر می‌رسد، اما با C آغاز می‌شود.
  • سپس شما می‌توانید از Counterparty برای ایجاد و انتشار یک executetransaction جهت فراخواندن یک تابع یا متد مشخص در کد قرارداد هوشمند استفاده کنید.
  • هنگامی که اجرای تراکنش پخش شده و توسط یک ماینر بیت کوین تایید شود، هر نود در حال اجرای Counterparty این درخواست را دریافت کرده و آن متد را اجرا می‌کند. همزمان با اجرای کد توسط قرارداد هوشمند، وضعیت قرارداد تغییر کرده و در پایگاه داده Counterparty ذخیره می‌شود. از آنجایی که هر نود Counterparty دارای همان کد قرارداد (تضمین شده توسط بیت کوین) و همان کد EVM بوده و کد نیز تماما قطعی (https://en.wikipedia.org/wiki/Deterministic_algorithm) (deterministic) است، این تغییرات وضعیت برای هر نود یکسان است.
  • سایرین نیز می‌توانند دارایی‌های Counterparty را به قرارداد هوشمند ارسال کنند، که آن‌ها را ذخیره کرده و می‌تواند از آن‌ها برای فراخوان‌های آتی execute استفاده کند. این امر برای مواردی مانند قراردادهای تأمین مالی مفید است.
  • اساسا، می‌بینیم که انتشار قراردادهای هوشمند و فرمان اجرای یک تابع یا روش خاص در یک قرارداد، در بلاکچین بیت کوین در واقع به شکل تراکنش ساخته می‌شوند. بنابراین، این دو عملیات توسط زمان بلاک ۱۰ دقیقه‌ای بیت کوین محدود شده‌اند. با این حال، کد قرارداد هوشمند عموما پس از آغاز اجرا با همان سرعتی اجرا می‌شود که نود می‌تواند آن را پردازش کند.

زمان بلاک ۱۰ دقیقه‌ای بیت کوین چه تاثیری بر EVM دارد؟

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

هم عملیات انتشار و هم هر عملیات اجرا به عنوان یک تراکنش Counterparty (در یک تراکنش بیت کوین) منتشر می‌شوند و بنابراین مطیع زمان بلاک هستند. با این حال، هنگامی که یک قرارداد اجرا می‌شود، به سرعتی که کامپیوتر میزبان اجازه می‌دهد از یک خط کد به خط کد دیگر می‌رود و تک تکِ «گام»های یک قرارداد تحت تاثیر زمان بلاک نیستند. قراردادی که (از طریق CALL) قرارداد دیگری را اجرا می‌کند نیز مطیع زمان بلاک نیست، و متد قرارداد خوانده شده (و همچنین هر متدی که می‌خواند و الی آخر) بلافاصله اجرا می‌شود.

بنابراین، محدودیت زمان بلاک در کل جزئی است و تنها بر انتشار اولیه و اجرای اولیه یک متد قرارداد اثرگذار است.

 

۷. http://www.rsk.co) (RSK) Rootstock/)

مزایا:

  • امکان استفاده از قراردادهای هوشمند تورینگ کامل بر مبنای بیت کوین را فراهم می‌کند.

زبان قرارداد هوشمند: Solidity

وضعیت: فعال

توضیح: (Rootstock (RSK یک بستر قرارداد هوشمند است که یک ماشین مجازی تورینگ کامل را در بیت کوین ادغام می‌کند. این بستر همچنین بهبودهای دیگری مانند تراکنش‌های سریعتر و مقیاس پذیری بهتر در زمینه شبکه ارائه می‌کند، ویژگی‌هایی که همچنین می‌توانند سناریوهای کاربرد نوینی را ممکن کنند.

Rootstock

RSK اولین بستر قرارداد هوشمند متن باز با اتصال (peg) دوطرفه به بیت کوین است که همچنین از طریق استخراج ترکیبی (merge-mining) به ماینرهای بیت کوین پاداش داده و به آن‌ها اجازه می‌دهد تا فعالانه در انقلاب قرارداد هوشمند شرکت داشته باشند. هدف RSK افزودن ارزش و کاربردپذیری به اکوسیستم بیت کوین با ممکن کردن قراردادهای هوشمند، پرداخت‌های تقریبا فوری و مقیاس پذیری بهتر است.

۸. https://www.rchain.coop) Rchain/)

مزایا:

  • تورینگ کامل
  • قراردادهای هوشمند از برخی از کارکردهای پیشرو در صنعت مانند موارد زیر برخوردار هستند: برنامه‌نویسی متا، جریان های داده واکنش‌گرا (Reactive)، انطباق الگو. در نتیجه، قراردادهای RChain برنامه‌پذیر هستند.

زبان قرارداد هوشمند: RHOLang(https://github.com/rchain/Rholang)

توضیح: RChain پروژه‌ای است که با استفاده از یک بلاکچین چندریسه‌ای (multi-threaded)، با زبان قرارداد هوشمند خود بر مقیاس پذیری تمرکز دارد. این بستر قصد دارد با پروژه‌های پیشرو مانند اتریوم رقابت کند.

RChain با توجه به چند پیش‌نیاز حداقلی ساخته شده است.

  • قابلیت قرارداد هوشمند پویا برای ممکن ساختن پیاده‌سازی سایر موارد کاربرد.
  • اجرای همزمان؛ چندین قرارداد هوشمند مستقل می‌توانند در کنار یکدیگر فعالیت کنند.
  • پروتکل اجماعی که از لحاظ رایانش پرمصرف نبوده و منابع را هدر نمی‌دهد. پروتکل Casper

Rchain

ماشین مجازی جاوا (JVM) بنیان ماشین مجازی RVM) Rho) است. محیط اجرایی RVM می‌تواند چند RVM داشته باشد که هر یک به طور همزمان و به صورت چندریسه‌ای یک قرارداد هوشمند اجرا می‌کنند. ساختار همزمان این امکان را فراهم می‌کند که فرآیندهای مستقل بدون رقابت بر سر منابع در فرآیندهای پیچیده ترکیب شوند. این معماری یک اثر چندچینی (چند بلاکچین به ازای هر نود) را ممکن می‌کند که در آن تراکنش‌ها در نمونه‌های (VM (instance که مستقلا در حال اجرا هستند مورد رسیدگی قرار می‌گیرند.

قرارداد Rholang

قراردادهای Rholang می‌توانند در نودهای RChain مورد استفاده قرار گیرند. Rholang «فرایندگرا» است: تمام محاسبات با استفاده از انتقال پیام انجام می‌شوند. پیام ها از طریق «کانال‌هایی» منتقل می‌شوند که به صف پیام شباهت دارند. توجه داشته باشید که در این مقاله عبارات «نام» و «کانال» به یک معنی به کار برده می‌شوند. این به آن دلیل است که در Rho-calcul (که Rholang در آن قرار دارد) از عبارت نام استفاده می‌شود، اما از آنجاییکه می‌توانید در نام‌ها اطلاعات ارسال و دریافت کنید، و آنها را دریافت کنید، آن‌ها از لحاظ معنایی مانند کانال‌ها هستند. شما می‌توانید کدهای خود را در رابط وب (https://rchain.cloud/) آزمایش کنید.

RChain قابلیت ERC20 را برای Rholang بازسازی کرده است. اکنون این امکان وجود دارد که توکن قرارداد هوشمند خود را ایجاد کرده و آن را بر روی RChain پیاده کنید. می‌توانید مثال آن را در Github (https://github.com/rchain/Rholang/blob/master/examples/regular/token.rho) آن‌ها ببینید.

۹. Qtum

مزایا:

  • به عنوان نسخه بهبودیافته بستر قرارداد هوشمند اتریوم عمل می‌کند: مقیاس پذیری، فقدان ابزار درستی‌یابی صوری و عدم وجود راهکارهای سبک همراه با استفاده از تایید پرداخت ساده (SPV).

معایب:

  • با کاملا سازگار بودن با EVM و پشتیبانی از قراردادهای Solidity، Qtum همه مشکلات ضعف امنیتی قرارداد هوشمند اتریوم را به ارث برده است.

زبان قرارداد هوشمند: Solidity

وضعیت: فعال

توضیح: Qtum یک بستر قراردادهای هوشمند است که طوری طراحی شده که با اتریوم سازگار باشد و در عین حال برخی از نواقص شناخته شده اتریوم مانند مقیاس پذیری، عدم وجود ابزار درستی‌یابی صوری و عدم وجود راهکارهای سبک همراه با استفاده از تایید پرداخت ساده (SPV) را مرتفع سازد. Qtum این مشکلات را به وسیله یک بلاکچین زیربنایی و الگوریتم اجماع متفاوت حل می‌کند که به عقیده Qtum به این بستر امکان می‌دهد تا از کاربردهای سبک همراه و اینترنت اشیاء (IoT) (https://en.wikipedia.org/wiki/Internet_of_things) بهتر پشتیبانی کند. هدف (https://qtum.org/en/general-faq) این پروژه تبدیل شدن به «بلاکچین عمومی کسب و کار» با بردن فن‌آوری خود به خدمات مالی، مدیریت زنجیره تامین، رسانه‌های اجتماعی، بازی و سایر صنایع در آینده است.

Qtum اساسا یک سیستم قرارداد هوشمند مبتنی بر اتریوم است که روی یک بلاکچین مبتنی بر بلاکچین اجرا شده و از نسخه اصلاح شده‌ای از پیاده‌سازی اثبات سهام (PoS) Blackcoin برای اجماع استفاده می‌کند. Qtum یک لایه سازگارسازی سفارشی اضافه کرده است که موجودی حساب‌های اتریوم را در مجموعه‌ای از خروجی‌های خرج نشده تراکنش (UTXO) بیت کوین نگاشت می‌کند.

با کاملا سازگار بودن با EVM و پشتیبانی از قراردادهای Solidity، Qtum همه مشکلات ضعف امنیتی قرارداد هوشمند اتریوم را به ارث برده است.

Qtum قصد دارد تا خدمات قرارداد هوشمند خود را گسترش دهد تا شامل یک ماشین مجازی http://earlz.net/view/2017/10/02/0801/thoughts-and-goals-on-qtums-x86-vm) x86 )شود که امکان توسعه قراردادهای هوشمند را در زبان‌هایی مانند C++، جاوا و Haskell فراهم می‌کند. در حالی که این اتفاق به پروژه‌های Qtum امکان می‌دهد پایگاه بزرگتری از توسعه‌دهندگان داشته باشند و از ابزارهای موجود استفاده کنند، مشخصا مشکلات امنیتی ذاتی طراحی Solidity را حل نمی‌کند.

وایت پیپر Qtum بیان می‌کند که هدف Qtum توسعه یک زبان قرارداد هوشمند QSCL) Qtum)  است که ادعا می‌شود توسط «ابزارهای درستی‌یابی صوری» ادعا پشتیبانی می‌شود. جزئیات دیگری به جز ارجاع به یک مقاله علمی از یکی از نویسندگان وایت پیپر ارائه نشده است. مقاله‌ای که یک زبان دیگر که توسط همان نویسنده خلق شده است را شرح داده و یک «هستی‌شناسی (ontology) همکاری بین سازمانی» را تعریف می‌کند. با توجه به کمبود اطلاعات موجود در مورد QSCL، به نظر می‌رسد که Qtum این ابتکار را دنبال نمی‌کند.

۱۰. https://ark.io) Ark/)

زبان قرارداد هوشمند: متعاقبا تصمیم‌گیری خواهد شد

وضعیت: غیر فعال

توضیح: Ark تلاش دارد تا یک بستر قرارداد هوشمند مانند اتریوم ایجاد کند. الحاق ماشین مجازی ARK به کاربران امکان می‌دهد تا قراردادهای هوشمند ARK صادر کنند. تنها تفاوت این است که Ark از dPoS به عنوان سازوکار اجماع استفاده می‌کند که تراکنش‌های آن را سریعتر می‌سازد.

۱۱. http://eos.io) EOS/)

مزایا:

  • اجرای سریعتر قرارداد با استفاده از WASM.
  • کارمزد تراکنش صفر.
  • از C++ به عنوان زبان قرارداد هوشمند استفاده می‌کند که انعطاف‌پذیری برنامه‌نویسی را افزایش می‌دهد.

معایب:

  • هنوز برای «کشتن» اتریوم به حمایت جامعه نیاز دارد (توهین نباشد!)

زبان قرارداد هوشمند: ++C و C

وضعیت: فعال

توضیح: قراردادهای EOS.IO (اپلیکیشن) به عنوان یک وب اسبملی از پیش کامپایل شده (WASM) در یک بلاکچین پیاده‌سازی می‌شوند. WASM با استفاده از LLVM و Clang از C/C++ کامپایل شده است، یعنی شما نیاز به دانش C/C++ دارید تا بتوانید اپلیکیشن بلاکچین توسعه دهید. در حالی که امکان توسعه در https://eosio.github.io/eos/struct_c.html) C) وجود دارد، توصیه می‌شود از EOS.IO C++ API استفاده شود که ایمنی بسیار قوی‌تری فراهم کرده و عموما راحت‌تر خوانده می‌شود.

smart contract

ساختار اپلیکیشن

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

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

۱۲. https://neo.org)NEO/)

مزایا:

  • از اجرای کارآمد و ارزان (از لحاظ رایانشی) قراردادها پشتیبانی می‌کند.

معایب:

  • جامعه کوچک توسعه‌دهندگان.

زبان قراردادی هوشمند:C #، VB.Net، F #، Java، Kotlin، Python؛ برنامه دارند تا از C، C ++، Golang و جاوا اسکریپت پشتیبانی کنند

وضعیت: فعال

توضیح: NEO Smart Contract 2.0 حاوی این ویژگی‌ها است: اطمینان، عملکرد بالا و قابلیت گسترش. انواع قراردادهای آن عبارتند از: قراردادهای اعتبارسنجی، قراردادهای عملکرد و قراردادهای کاربرد.

از منظر عملکرد، NEO از NeoVM سبک (NEO Virtual Machine) به عنوان محیط اجرای قرارداد هوشمند خود استفاده می‌کند. این ماشین مجازی بسیار سریع شروع شده و منابع کمی مصرف می‌کند و برای قراردادهای هوشمند مانند رویه‌های استقراضی مناسب است. کامپایل شدن ایستا و کش کردن قراردادهای نقطه‌ حساس (hotspot) را می‌توان با استفاده از فناوری JIT (کامپایلر بی‌درنگ) به طور قابل توجهی بهبود داد. راه‌اندازی دستوری ماشین مجازی NEO مجموعه‌ای از دستورالعمل‌های رمزنگارانه را برای بهینه‌سازی کارآیی اجرای الگوریتم‌های رمزنگاری در قراردادهای هوشمند فراهم می‌کند. به علاوه، دستورالعمل‌های دستکاری داده مستقیما از آرایه ها و ساختارهای داده پیچیده پشتیبانی می‌کند. موارد فوق در کنار هم باعث تقویت کارایی در NEO Smart Contract 2.0 می‌گردند.

NEO Smart Contract 2.0 از طریق ترکیبی از همزمانی بالا و تقسیم‌بندی پویا در کنار طراحی low-coupling آن، به رویکردی مقیاس‌پذیر می‌رسد. رویه قرارداد low-coupling در یک ماشین مجازی (ماشین مجازی NEO) اجرا شده و از طریق لایه سرویس تعاملی با محیط خارج ارتباط برقرار می‌کند. بنابراین، اکثریت بزرگی از ارتقاءهای عملکرد قرارداد هوشمند را می‌توان با استفاده از API لایه سرویس تعاملی انجام داد.

از منظر زبان، تفاوت بین NEO Smart Contract 2.0 و اتریوم شهودی‌تر است: بر خلاف زبان Solidity اولیه در اتریوم، قرارداد هوشمند NEO را می‌توان به طور مستقیم توسط تقریبا هر زبان برنامه‌نویسی سطح بالا استفاده کرد. اولین زبان‌های پشتیبانی شده عبارتند از: C#، VB، .NET، F#، جاوا و Kotlin. NEO کامپایلرها و پلاگین‌های این زبان‌ها را نیز ارائه کرده است که برای کامپایل زبان‌های سطح بالا در مجموعه‌ دستورالعمل‌های پشتیبانی شده توسط ماشین‌های مجازی NEO مورد استفاده قرار می‌گیرد. اولین کامپایلر مربوط به MSIL (زبان واسطه مایکروسافت) است، بنابراین به طور نظری، هر زبان .NET و هر زبانی که به MSIL ترجمه می‌شود بلافاصله پشتیبانی خواهد شد.

علی‌رغم همه این موارد، این بستر به طور گسترده مورد استفاده قرار نگرفته است .

۱۳.https://nxtplatform.org/) NXT/)

وضعیت: فعال

توضیح: قراردادهای هوشمند Nxt تورینگ کامل نیستند، اما از یک لایه اسکریپت تورینگ کامل جهت ایجاد قراردادهای هوشمند نمونه استفاده کرده‌اند. کاربران مناسب‌ترین نمونه را انتخاب کرده و برای ایجاد قراردادهای هوشمند خود پارامترها را تنظیم می‌کنند. Nxt بر این باور است که قراردادهای هوشمند ساخته شده بر اساس این قالب‌ها باید بیشتر کاربردهای تجاری را پوشش دهند؛ کدنویسی آن‌ها آسان باشد و امنیت سیستم را تضمین کنند.

۱۴. https://nem.io/) Nem/)

مزایا:

  • سریع و مقیاس پذیر

معایب:

  • کمی متمرکز و کمتر شفاف (توضیح را ببینید)

زبان قرارداد هوشمند: بدون زبان مشخص

وضعیت: فعال

توضیح: مقیاس پذیری مهمترین چیز در ارتباط با اپلیکیشن غیر متمرکز NEM است. در حالی که ETH حداکثر ۱۵ تراکنش بر ثانیه انجام می‌دهد، بنابر گزارش‌ها NEM صدها تراکنش بر ثانیه (https://briandcolwell.com/2017/06/nem-the-biggest-cryptocurrency-you-havent-heard-of/.html) را مدیریت می‌کند. بنیاد NEM امنیت و دسترسی را در اولویت قرار داده است.

Nem

بلاکچین NEM قابلیت‌های خود را از طریق یک رابط API قدرتمند نمایش می‌دهد که می‌تواند نه با یک زبان «قرارداد هوشمند» خاص، بلکه با هر زبان برنامه‌نویسی مورد استفاده قرار گیرد. چیزی که Nem به طور هوشمندانه «قراردادهای خارج از زنجیره» می‌نامد تنها کد با استفاده از API NEM است. فردی که این کد را اجرا می‌کند می‌تواند در هر زمان و بدون هیچ تعاملی با زنجیره به‌روزرسانی انجام دهد. بنابراین «قراردادهای» موجود قابل تغییر هستند. کد ممکن است بسته به کارکرد آن بیشتر یا کمتر یکپارچه باشد. شما نمی‌توانید کاری را تغییر دهید که آن کد در زنجیره انجام داده است (مثلا معکوس کردن تراکنش)، اما می‌توانید کارکرد آن کد را برای آینده بدون تعامل با زنجیره تغییر دهید. بنابراین کاری که NEM انجام می‌دهد به نوعی کمتر متمرکز و ناشفاف است، اما بسیار بهتر مقیاس می‌شود (حداقل در حال حاضر) و انجام کارها با آن بسیار آسانتر می‌باشد.

Nem

۱۵. https://wavesplatform.com/) Waves/)

زبان قرارداد هوشمند: RIDEON

وضعیت: فعال

توضیح: Waves رویکردی به دقت بررسی شده برای پیاده‌سازی قراردادهای هوشمند اتخاذ کرده است. عرضه قراردادهای هوشمند Waves که مدت‌ها است انتظار آن می‌رود به دو مرحله تقسیم شده است (https://medium.com/p/489563a95ca3). اولین مرحله اکنون در حال عرضه است: قراردادهای هوشمند غیر تورینگ کامل در روز ۲۸ آوریل در تست‌نت عرضه شدند. عرضه اولیه به جامعه اجازه خواهد داد تا قراردادهای غیر تورینگ کامل را امتحان کنند و کنترل‌های گوناگون حساب و سایر قابلیت‌ها (https://medium.com/p/3382d76bf76b) را فعال می‌کند. تنها پس از آنکه این ویژگی‌ها کاملا آزمایش شده و در مین‌نت فعال شدن قرارداهای تورینگ کامل عرضه خواهند شد.

قراردادهای هوشمند غیر تورینگ کامل، اکثریت موارد کاربرد رایج (https://medium.com/p/3382d76bf76b) را پوشش می‌دهند. این بستر یک ابزار جهانی و مفید برای پیاده‌سازی تمام وظایف تجاری مورد نیاز شما خواهد بود: از تبادل توکن‌های میزبانی شده در بلاکچین‌های مختلف گرفته تا وضع سازوکارها و شرایط دقیق جهت کنترل بودجه مشترک برای پروژه یا شرکت شما. علاوه بر آن، قراردادهای هوشمند غیر تورینگ کامل کاملا امن هستند: کاربر قادر به انجام اشتباه نیست، بنابراین قرارداد هرگز به صورت نادرستی انجام نخواهد شد.

یکی از اولین احتمالا به سرعت محبوب‌ترین موارد کاربرد قراردادهای هوشمند Waves حساب‌های چندامضایی خواهد بود. یکی دیگر از کاربردی فریز کردن توکن خواهد بود. این ویژگی به معنی ارسال یک توکن به یک کاربر، اما در عین حال حصول اطمینان از عدم امکان انتقال یا مصرف آن برای مدت زمانی مشخص است. واضح‌ترین مورد کاربرد برای این ویژگی سازوکار واگذاری و یا پرداخت حق تیم/پیمانکار پس از برگزاری ICO است.

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

۱۶. https://stratisplatform.com/)Stratis/)

مزایا:

  • به طور گسترده از .NET framework استفاده می‌کند.
  • از بسته کاملا آزموده C# استفاده می‌کند که توسط مایکروسافت عرضه شده است.

زبان قرارداد هوشمند: C#

وضعیت: فعال

توضیح: مهمترین جنبه پیاده‌سازی قراردادهای هوشمند Stratis این است که از .NET «واقعی» استفاده می‌کند، یعنی از .NET Core برای اجرای آن‌ها استفاده می‌شود. فول‌نود Stratis نیز با C# نوشته شده است و مسیر اجرای هم فول‌نود و هم قرارداد هوشمند Stratis مشابه است. قراردادهای هوشمند Stratis نه تنها از سینتکس C#، بلکه از بسته کاملا آزموده C# استفاده می‌کنند که توسط مایکروسافت ارائه شده است.

از آنجاییکه که قراردادهای هوشمند باید به صورت قطعی اجرا شوند، نمی‌توانند از تمام توانایی‌های زبان C# یا تمام کتابخانه‌های .NET Core استفاده کنند. مجموعه ابزاهای قراردادهای هوشمند Stratis حاوی یک ابزار اعتبارسنجی است که هر عنصر غیر قطعی را در قراردادهای هوشمند شما شناسایی می‌کند.

آن‌ها همچنین مفهوم gas را معرفی کرده‌اند که کاملا مشابه مفهوم gas اتریوم می‌باشد.

۱۷. https://www.stellar.org/) Stellar/)

مزایا:

  • سریعتر، ارزانتر و امنتر از بستر قرارداد هوشمند اتریوم.

زبان قرارداد هوشمند: بدون زبان مشخص

وضعیت: فعال

توضیح:
قراردادهای هوشمند SSC) Stellar) با قراردادهای هوشمند اتریوم بسیار متفاوت هستند. آن‌ها تورینگ کامل نبوده و به عنوان یک توافقی بین طرف‌های متعدد اجرا شده و توسط تراکنش‌ها الزام می‌گردند. در زیر مقایسه بین Stellar و اتریوم را مشاهده می‌کنید. به تفاوت قابل توجه هزینه و زمان تأیید توجه کنید. یک تراکنش در شبکه Stellar تنها ۰٫۰۰۰۰۰۰۲ دلار هزینه دارد.

Stellar

منبع: https://www.stellar.org/blog/using-stellar-for-ico/

SSCها را می‌توان با هر زبانی نوشت که جامعه Stellar برای آن یک API آماده کرده است (JavaScript، Python، Golang، PHP، …). می‌توانید نمونه یک قرارداد هوشمند به PHP را اینجا (https://github.com/zulucrypto/stellar-smart-contracts/blob/master/distributed-worker/10-customer-requests.php) ببینید.

یک SSC به عنوان ترکیب تراکنش‌هایی بیان می‌شود که به هم متصل بوده و با استفاده از محدودیت‌های مختلف اجرا می‌شوند. در زیر نمونه‌هایی از محدودیت‌هایی آمده است که می‌توان در هنگام ایجاد SSCها در نظر گرفت و اجرا کرد:

  • چندامضایی: برای تأیید یک عملیات مشخص چه کلیدهایی لازم است؟ برای انجام مراحل کدام طرف‌ها باید با هم توافق کنند؟

چندامضایی مفهومی است که به امضای چند طرف برای امضای تراکنش‌های ناشی از یک اکانت نیاز دارد. نمایش قدرت در امضا از طریق وزن امضاها حدهای آستانه ایجاد می‌شود.

  • بچینگ/اتمی بودن: چه عملیاتی باید با هم رخ داده یا شکست بخورند؟ برای الزام به شکست یا موفقیت چه اتفاقی باید رخ دهد؟

بچینگ (batching) مفهوم شمول چندین عملیات در یک تراکنش است. اتمی بودن تضمین می‌کند که با در نظر گرفتن مجموعه مشخصی از عملیات، پس از ارسال به شبکه، اگر یک عملیات شکست بخورد، همه عملیات‌ها تراکنش شکست می‌خورند.

  • توالی: یک سری از تراکنش‌ها باید با چه ترتیبی پردازش شوند؟ محدودیت‌ها و وابستگی‌ها کدامند؟

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

  • محدوده‌های زمانی: یک تراکنش چه زمانی می‌تواند پردازش شود؟

محدوده‌های زمانی محدودیت‌هایی در مورد زمانی هستند که تراکنش در آن معتبر است. استفاده از محدوده‌های زمانی امکان نمایش دوره های زمانی در SSC را فراهم می‌کند.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.