معرفی مفهوم سلام و خوش آمدید به کاوش عمیق ما در بهینه‌سازی امور مالی غیرمتمرکز (DeFi) بر روی کاردانو! اگر تا به حال از یک برنامه پیچیده بر روی بلاکچین استفاده کرده‌اید، احتمالاً با یک گلوگاه آزاردهنده روبرو شده‌اید: انتظار برای پایان یافتن یک عملیات پیش از شروع عملیات بعدی. این امر اغلب به دلیل محدودیت‌هایی در نحوه پردازش تراکنش‌ها است، و اینجاست که مفهوم همزمانی (Concurrency) وارد عمل می‌شود. همزمانی امور مالی غیرمتمرکز کاردانو با استفاده از ورودی‌های مرجع و کش کردن اسکریپت چیست؟ به بیان ساده، این اصطلاح به تکنیک‌های پیشرفته‌ای اشاره دارد که به چندین کاربر یا فرآیند اجازه می‌دهد تا به طور *همزمان* با یک قرارداد هوشمند کاردانو تعامل داشته باشند، بدون اینکه تداخلی ایجاد شود یا شبکه به شدت کند گردد. تصور کنید یک صندوقدار بسیار شلوغ بانکی را در نظر بگیرید؛ اگر همه مجبور باشند در یک صف منتظر بمانند، خدمات‌دهی کند خواهد بود. همزمانی به معنای گشودن پنجره‌های خدماتی بیشتر است که بتوانند درخواست‌های موازی را مدیریت کنند. به طور خاص، ورودی‌های مرجع (CIP-31) و کش کردن اسکریپت (مرتبط با CIP-33) دو پیشنهاد بهبود کلیدی کاردانو هستند که برای دستیابی به این هدف طراحی شده‌اند. در گذشته، برای خواندن اطلاعات حیاتی (مانند وضعیت یک استخر وام‌دهی) که بر روی بلاکچین ذخیره شده‌اند، یک تراکنش اغلب مجبور بود خروجی داده‌های مرتبط را *مصرف* (Spend) کند، که سپس باید مجدداً بازسازی می‌شد. این چرخه «مصرف و بازسازی» عملیات متوالی را تحمیل می‌کند. ورودی‌های مرجع با این تغییر، به یک تراکنش اجازه می‌دهند که بدون مصرف کردن یک خروجی (و داده‌ها/اسکریپت‌های مرتبط با آن)، صرفاً آن را مشاهده کند. کش کردن اسکریپت این موضوع را فراتر می‌برد و اجازه می‌دهد اسکریپت‌های قرارداد هوشمند که مکرراً استفاده می‌شوند، یک بار بر روی زنجیره ذخیره شده و سپس توسط چندین تراکنش *ارجاع* داده شوند، به جای اینکه در هر تراکنش گنجانده شوند، که این امر اندازه تراکنش را کاهش داده و کارایی را بهبود می‌بخشد. چرا این موضوع اهمیت دارد؟ این امر برای عملکرد DeFi اهمیت فراوانی دارد. در مدل EUTXO، فقدان همزمانی می‌تواند توان عملیاتی (Throughput) را محدود کند، به این معنی که تنها یک مبادله یا یک عملیات پیچیده در هر بلوک می‌تواند تکمیل شود که برای صرافی‌های غیرمتمرکز (DEXs) مدرن بسیار کند است. با مهندسی همزمانی با استفاده از این مکانیزم‌ها، توسعه‌دهندگان می‌توانند برنامه‌های غیرمتمرکز (DApps) سریع‌تر، مقیاس‌پذیرتر و کم‌تراکم‌تری بسازند و راه را برای یک اکوسیستم DeFi قوی‌تر و با عملکرد بالاتر بر روی کاردانو هموار کنند. توضیحات تکمیلی مهندسی همزمانی دیفای کاردانو: نگاهی عمیق به ورودی‌های مرجع و کش اسکریپت گذار از مدلی که عملیات متوالی را تحمیل می‌کند به مدلی که تعامل موازی را در بر می‌گیرد، برای مقیاس‌پذیری امور مالی غیرمتمرکز (DeFi) در کاردانو اساسی است. کلید بازگشایی این همزمانی در دو پیشنهاد بهبود کاردانو (CIP) محوری نهفته است: ورودی‌های مرجع (CIP-31) و کش اسکریپت (مرتبط با CIP-33). درک مکانیک‌های اصلی این دو، برای درک نسل بعدی برنامه‌های غیرمتمرکز (DApps) کاردانو با توان عملیاتی بالا حیاتی است. مکانیک‌های اصلی: ورودی‌های مرجع و کش اسکریپت چگونه کار می‌کنند بهره‌وری ناشی از این ویژگی‌ها از جداسازی *خواندن* وضعیت درون زنجیره‌ای و اسکریپت‌ها از *خرج کردن* ورودی‌های تراکنش ناشی می‌شود. # ۱. ورودی‌های مرجع (CIP-31): دسترسی غیرمصرفی به وضعیت * مشکل حل شده: به طور سنتی، اگر یک خروجی قرارداد هوشمند (مانند یک خزانه حاوی نقدینگی یا وجوه کاربر) داده‌های حیاتی مورد نیاز برای یک تراکنش بعدی (مثلاً بررسی نرخ ارز فعلی) را نگه می‌داشت، تراکنش جدید *مجبور* بود آن خروجی داده را برای دسترسی به آن خرج کند. این چرخه «خرج کردن و بازآفرینی» پردازش متوالی را تحمیل می‌کند تراکنش B نمی‌تواند آغاز شود تا زمانی که تراکنش A مصرف و بازآفرینی UTXO ضروری را به پایان برساند. * راه‌حل CIP-31: ورودی‌های مرجع به یک تراکنش اجازه می‌دهند یک ارجاع به یک UTXO خاص روی زنجیره را شامل شود که قصد *مصرف* آن را ندارد. * تراکنش می‌تواند داده‌ها، ردمیچر (Redeemer) و اسکریپت متصل به آن خروجی *مشارالیه شده* را بدون قفل کردن یا خرج کردن آن بخواند. * این بدان معناست که چندین تراکنش می‌توانند به طور همزمان وضعیت *یکسان* UTXO نگهدارنده وضعیت (مثلاً وضعیت استخر DEX) را بخوانند، بدون اینکه با یکدیگر تداخلی داشته باشند، زیرا هیچ‌کدام در تلاش برای مصرف آن نیستند. # ۲. کش اسکریپت (CIP-33): استفاده مجدد کارآمد از اسکریپت * مشکل حل شده: در مدل اصلی، هر تراکنشی که با یک قرارداد هوشمند خاص تعامل داشت، باید *کل* هش اسکریپت و بدنه اسکریپت را در مجموعه شاهد (Witness Set) خود لحاظ می‌کرد. برای قراردادهای پیچیده، این امر اندازه و سربار قابل توجهی به هر تراکنش اضافه می‌کند. * راه‌حل CIP-33 (کش اسکریپت): این سازوکار اجازه می‌دهد یک اسکریپت یک بار روی زنجیره لنگرگذاری یا ثبت شود و اساساً یک مرجع دائمی درون زنجیره‌ای برای آن اسکریپت ایجاد کند. * تراکنش‌های بعدی که نیاز به استفاده از همان اسکریپت دارند، نیازی به گنجاندن کل بدنه اسکریپت در مجموعه شاهد خود ندارند. * در عوض، آنها فقط نیاز به ارائه یک ارجاع کوچک (مانند یک اشاره‌گر یا هش) به اسکریپت از قبل ثبت شده دارند. این امر به طور چشمگیری اندازه تراکنش و در نتیجه هزینه‌های مرتبط با تعامل را کاهش می‌دهد. با ترکیب این دو، توسعه‌دهندگان می‌توانند برنامه‌هایی بسازند که در آن داده‌های وضعیت توسط بسیاری از کاربران ارجاع داده می‌شوند (همزمانی از طریق CIP-31) و منطقی که آنها با آن تعامل دارند به صورت کارآمد ارجاع داده می‌شود (عملکرد از طریق CIP-33). موارد استفاده در دنیای واقعی در دیفای کاردانو این اصول مهندسی برای بلوک‌های سازنده رایج دیفای متحول‌کننده هستند: * صرافی‌های غیرمتمرکز (DEXs): * همزمانی: تصور کنید یک استخر بازارساز خودکار (AMM) نقدینگی را در خود نگه داشته است. تحت مدل قدیمی، تنها یک کاربر می‌توانست در هر بلوک یک مبادله در برابر UTXO وضعیت استخر اجرا کند. با ورودی‌های مرجع، چندین کاربر می‌توانند ذخایر AMM فعلی (وضعیت) را برای محاسبه مبادله بالقوه خود بخوانند، و سپس تراکنش‌هایی را ارسال کنند که توکن‌های ورودی خود را *مصرف می‌کنند* تا UTXO وضعیت جدید استخر را *ایجاد کنند* همه اینها به صورت موازی، که تنها محدودیت آن ظرفیت بلوک و تداخل‌های احتمالی بر سر *ایجاد* وضعیت جدید است. * کارایی: منطق اصلی اسکریپت AMM می‌تواند یک بار از طریق CIP-33 ثبت شود و هر تراکنش مبادله بعدی را کوچکتر و ارزان‌تر کند. * پروتکل‌های وام‌دهی و استقراض: * همزمانی: کاربران می‌توانند به طور همزمان نسبت‌های وثیقه‌گذاری را بررسی کنند یا وام‌ها را در برابر یک خزانه قرارداد اصلی آغاز کنند، بدون اینکه UTXO خزانه را خرج کنند، مگر اینکه اقدام نهایی (مانند افزودن وثیقه) واقعاً اتفاق بیفتد. * عملیات سهام‌گذاری و خزانه‌داری: عملیات پیچیده‌ای که نیاز به خواندن چندین پارامتر خارج زنجیره‌ای یا درون زنجیره‌ای دارند، اکنون می‌توانند به گونه‌ای ساختار یابند که داده‌های وضعیت را بدون مصرف آن بخوانند و تعاملات چند مرحله‌ای دیفای را ساده‌سازی کنند. مزایا، معایب و ریسک‌ها | ویژگی | مزایا (منافع) | معایب / ریسک‌ها | | :--- | :--- | :--- | | ورودی‌های مرجع (CIP-31) | امکان همزمانی واقعی را از طریق اجازه دسترسی فقط خواندنی به UTXOهای وضعیت فراهم می‌کند. | هنوز مشمول قطعیت است: اگرچه بسیاری می‌توانند وضعیت را *بخوانند*، تنها یک تراکنش می‌تواند با موفقیت UTXO وضعیت *بعدی* را در هر بلوک *مصرف و ایجاد کند*، به این معنی که تداخل‌ها در *ایجاد* وضعیت همچنان وجود دارند. | | کش اسکریپت (CIP-33) | به طور قابل توجهی اندازه و هزینه (کارمزد) تراکنش را کاهش می‌دهد. | نیاز به یک تراکنش اولیه برای «کش کردن» یا ثبت اسکریپت دارد که هزینه اولیه را متحمل می‌شود. | | اثر ترکیبی | توان عملیاتی کلی شبکه بالاتر و کارمزدهای تراکنش پایین‌تر برای DApps پیچیده. | پیچیدگی ساختار تراکنش برای توسعه‌دهندگان را افزایش می‌دهد و نیاز به مدیریت دقیق وضعیت دارد. | در نتیجه، ورودی‌های مرجع و کش اسکریپت، سنگ بنای معماری هستند که مدل EUTXO کاردانو را قادر می‌سازد تا فراتر از عملیات ساده و متوالی مقیاس یابد. آنها به توسعه‌دهندگان اجازه می‌دهند برنامه‌های دیفای پیچیده و با توان عملیاتی بالا بسازند که بتوانند از عهده نیازهای یک اکوسیستم بالغ برآیند. جمع‌بندی نتیجه‌گیری: آزادسازی همزمانی در کاردانو سفر به سوی امور مالی غیرمتمرکز با توان عملیاتی بالا در کاردانو، منوط به غلبه بر محدودیت‌های پردازش صرفاً متوالی تراکنش‌ها است. بررسی عمیق ما در مورد ورودی‌های مرجع (CIP-31) و دستاوردهای کارایی ناشی از ذخیره‌سازی موقت اسکریپت (مرتبط با CIP-33)، نشان‌دهنده تحول معماری اصلی است که همزمانی واقعی را امکان‌پذیر می‌سازد. ورودی‌های مرجع تغییردهنده بازی هستند؛ این قابلیت به تراکنش‌ها اجازه می‌دهد تا وضعیت حیاتی زنجیره‌ای (مانند داده‌های استخر DEX یا محتویات خزانه) را بخوانند، بدون اینکه UTXO مرتبط را مصرف کنند. این جداسازی، بلافاصله زنجیره وابستگی را که عملیات را وادار به وقوع متوالی می‌کرد، می‌شکند و به شرکت‌کنندگان متعدد اجازه می‌دهد تا به طور همزمان و بدون تضاد، به وضعیت یکسان دسترسی پیدا کنند. در همین حین، ذخیره‌سازی موقت اسکریپت، فرآیند ساخت تراکنش را با جلوگیری از گنجاندن داده‌های تکراری اسکریپت، ساده‌تر می‌سازد. در مجموع، این مکانیسم‌ها راه را برای برنامه‌های پیچیده و موازی DeFi، از بازارسازهای خودکار که تعداد زیادی مبادله را مدیریت می‌کنند تا استراتژی‌های پیچیده بازده که با منابع زنجیره‌ای یکسان تعامل دارند، هموار می‌سازند. با نگاه به آینده، انتظار داریم این اصول اولیه، زیربنای راه‌حل‌های مقیاس‌پذیری لایه ۲ و پروتکل‌های هماهنگی درون‌زنجیره‌ای پیچیده‌تر را تشکیل دهند. تسلط بر ورودی‌های مرجع و ذخیره‌سازی موقت اسکریپت صرفاً یک تمرین فنی نیست؛ بلکه اولین گام اساسی برای هر توسعه‌دهنده‌ای یا کاربر پیشرفته‌ای است که به دنبال ساخت، استقرار و شکوفایی در نسل بعدی اکوسیستم غیرمتمرکز کاردانو است. به کاوش در این CIPها ادامه دهید آینده DeFi مبتنی بر ADA به این درک بستگی دارد!