پرش به محتوای اصلی
پرش به محتوای مقاله

درون عملیات Casper Carbon برای فعال‌سازی بازار RWA برای عامل‌های AI

·۵ مرداد ۱۴۰۵۶ دقیقه مطالعه۱ بازدید
نسخه دوم کاسپر کربن: چگونه عامل‌های هوش مصنوعی واقعاً اعتبارات کربن خریدند
نسخه دوم کاسپر کربن: چگونه عامل‌های هوش مصنوعی واقعاً اعتبارات کربن خریدند
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

کشف اینکه حذف یک SDK تجاری و جایگزینی آن با کدهای مستقیم و سبک، تنها راه جلوگیری از فریز شدن مرورگر در سیستم‌های عامل‌محور بلاک‌چینی است.

تصور کنید یک ربات معامله‌گر هوشمند داشته باشید که هر ثانیه قیمت‌ها را چک می‌کند، اما هر بار که می‌خواهد تراکنشی را امضا کند، کل مرورگر شما را برای ۸ ثانیه منجمد می‌کند. این دقیقاً کابوسی بود که توسعه‌دهندگان پروژه Casper Carbon با آن دست‌وپنجه نرم می‌کردند تا یک بازار دارایی‌های واقعی (RWA) را بر پایه عامل‌های هوش مصنوعی (AI Agents) راه‌اندازی کنند. این پروژه ثابت کرد که عامل‌های AI می‌توانند به‌طور автоном مدیریت بازارهای RWA را بر عهده بگیرند، به شرطی که کیف پول زیرساختی و منطق قیمت‌گذاری از پیچیدگی‌ها و کدهای زائد پاکسازی شوند.

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

طبق گزارش تحلیل فنی منتشر شده در ۲۶ ژوئیه ۲۰۲۶ در وب‌سایت dev.to، تیم توسعه‌دهنده در ابتدا از ویجت CSPR.click استفاده می‌کرد که یک ابزار رابط کاربری پیش‌ساخته بود. در ظاهر، این ادغام ایده‌آل به نظر می‌رسید: کافی بود یک تگ اسکریپت CDN اضافه کنید، یک div برای کانتینر قرار دهید و تابع showTopBar() را فراخوانی کنید تا یک پاپ‌آپ صیقل‌خورده از کیف پول ظاهر شود. اما در عمل، این انتخاب منجر به ایجاد گلوگاه‌های عملکردی شدید شد:

  • حجم ۲ مگابایتی بسته CDN: این باندل شامل یک کتابخانه کامل UI، دارایی‌های SVG و یک Runtime بود که یک Virtual DOM مشابه React را درون صفحه رندر می‌کرد و باعث می‌شد هر بار بارگذاری صفحه متوقف شود.
  • نشتی حافظه (Memory Leaks): این SDK ده‌ها شنونده رویداد (Event Listener) ایجاد می‌کرد بدون اینکه آن‌ها را پاکسازی کند. پس از سه بار جابجایی بین صفحات، Node.js هشدار MaxListenersExceededWarning را صادر می‌کرد و تب مرورگر به‌شدت کند می‌شد.
  • کرش‌های مبتنی بر Regex: تحلیل‌گر پیام‌های داخلی از یک عبارت منظم (Regex) استفاده می‌کرد که در مواجهه با پاسخ‌های خاص کیف پول Casper دچار «پس‌گرد catastrophic» (Catastrophic Backtracking) می‌شد. این اتفاق باعث می‌شد صفحه برای ۸ ثانیه کاملاً منجمد شود و سپس خطای "Regex execution time exceeded" ظاهر شود.
  • فشار سخت‌افزاری: ترکیب عملیات Polling (نظرسنجی مداوم) و چرخه شدید شنونده‌ها باعث می‌شد فن‌های MacBook M3 حتی در حالت بی‌کار و صرفاً هنگام حضور در صفحه بازار، به ۵۰۰۰ دور در دقیقه (RPM) برسند.

توسعه‌دهندگان پس از سه روز عیب‌یابی برای ایزوله کردن علت کرش Regex، تصمیم گرفتند کل کتابخانه UI را دور بریزند و مستقیماً با window.CasperWalletProvider() ارتباط برقرار کنند (که هنگام نصب افزونه Casper Wallet در دسترس است). آن‌ها با تمرکز بر سه فراخوانی ساده‌ی API — یعنی requestConnection() برای درخواست اتصال، getActivePublicKey() برای دریافت کلید عمومی و امضای Deployها — حجم کد مربوط به اتصال کیف پول را از چندین مگابایت به تنها ۴۰ خط کد TypeScript در فایل wallet.tsx کاهش دادند. آن‌ها یک نکته حیاتی و ظریف را افشا کردند: برخلاف مستندات قدیمی که پیشنهاد می‌کرد از window.location.origin استفاده شود، در نسخه‌های جدید افزونه باید Provider به‌صورت ساده (window.CasperWalletProvider()) فراخوانی شود تا از بروز خطا جلوگیری شود.

کاسپر کربن نسخه ۲: چگونه عامل‌های هوشمند واقعاً اعتبارات کربن خریدند

بعد از بهینه‌سازی کیف پول، تیم روی جریان خرید (Purchase Flow) تمرکز کرد. این فرآیند توالی مشخصی را دنبال می‌کند: کاربر روی دکمه «خرید» کلیک می‌کند، سرور یک Deploy امضا‌نشده را می‌سازد و آن را به صورت JSON برمی‌گرداند، کاربر آن را از طریق افزونه کیف پول Casper امضا می‌کند و در نهایت Deploy امضا شده به Endpoint مربوط به RPC کیسپر ارسال می‌شود.

در این مرحله، تیم با دو مانع فنی در SDK مواجه شد:

  • متدهای استاتیک: آن‌ها کشف کردند که کلاس Deploy در casper-js-sdk به جای استفاده از متد instance، از یک متد استاتیک toJSON(deploy) استفاده می‌کند. اشتباه در تشخیص این مورد باعث می‌شد پاسخ‌ها بدون هیچ خطایی، اما کاملاً خالی ارسال شوند.
  • تله‌های مربوط به بزرگی حروف (Casing): SDK در نام‌گذاری‌ها ناسازگار است. در حالی که منطق برنامه‌نویسی کاربر را به سمت newCLUint256() می‌برد، اما SDK دقیقاً newCLUInt256() (با حرف I بزرگ) را می‌طلبد. این موضوع نیاز به تکیه بر Typings (نوع‌بندی‌ها) به جای اتکای صرف به Auto-complete محیط IDE را برجسته کرد.

بزرگ‌ترین چالش however در لایه‌ی عامل‌ها بود. این پروژه از سه عامل هوش مصنوعی اصلی استفاده می‌کند: یک عامل تأییدکننده (Verifier)، یک عامل تطبیق (Compliance) و یک عامل بازار (Market Agent). عامل بازار طراحی شده بود تا قیمت‌های اعتبارات روی زنجیره را با قیمت لحظه‌ای (Spot) در Carbonmark مقایسه کند و هر لیستی که بیش از ۵۰ واحد پایه (bps) انحراف داشت را لغو کند.

بعد از دور مقدماتی، عامل سالم به نظر می‌رسید و در هر چرخه پیام «۱۲ لیست را اصلاح کردم» را ثبت می‌کرد. اما در واقعیت، صفحه بازار هیچ لیست فعال را نشان نمی‌داد. تیم متوجه یک باگ «خرابی داده‌های خاموش» در فایل agents/src/market.ts شد که دلیل آن عدم تبدیل صحیح ارزها بود.

به‌طور مشخص، عامل قیمت‌های دلاری (USD) را به اشتباه به عنوان mote (واحد کوچک‌ترین تقسیم CSPR) می‌شناخت. اگر قیمت یک کرِدیت Carbonmark ۱۰ دلار بود، عامل مقدار externalPriceMotes را ۱۰ میلیارد محاسبه می‌کرد. اما اگر یک لیست ۱۵ CSPR برای هر تن بود و قیمت هر CSPR مقدار ۰.۱۰ دلار داشت، قیمت منصفانه باید ۱۰۰ میلیارد mote می‌بود. عامل مقدار ۱۵ میلیارد (روی زنجیره) را با ۱۰ میلیارد (تبدیل غلط دلار به mote) مقایسه می‌کرد، اختلاف ۵۰۰ واحد پایه را محاسبه می‌کرد و چون ۵۰۰ از آستانه ۵۰ واحد بیشتر بود، تک‌تک لیست‌ها را لغو می‌کرد.

برای حل این مشکل، تیم تابع اختصاصی fetchCsprUsdPrice() را پیاده‌سازی کرد که داده‌ها را از CoinGecko (هدف: "casper-network" $
ightarrow$ usd) می‌گیرد. این منطق جدید شامل موارد زیر است:

  • تبدیل صحیح: فرمول به (externalPrice / csprPrice) * 1,000,000,000 به‌روزرسانی شد.
  • تاب‌آوری (Resiliency): یک حافظه موقت (Cache) با زمان انقضای ۶۰ ثانیه‌ای (TTL) و مکانیسم تلاش مجدد سه مرحله‌ای با تأخیر ۲ ثانیه‌ای (backoff) برای تضمین پایداری عامل اضافه شد.

همین رویکرد اصلاحی در عامل تأییدکننده (Verifier) نیز به کار رفت. پیش از این، Verifier مقدار price_per_token: "15000000000" (۱۵ CSPR) را به‌صورت سخت‌افزاری (Hardcode) در کد داشت که با نوسان ۵۰ درصدی بازار در یک هفته، بلافاصله منسوخ شد. اکنون Verifier از Promise.all برای دریافت هم‌زمان داده‌های Carbonmark و CoinGecko استفاده می‌کند تا ارزش منصفانه بازار را تعیین کند و تنها در صورتی که دریافت داده‌ها از API شکست بخورد، به مقدار پیش‌فرض ۱۵ CSPR بازگردد.

هم‌زمان، داشبورد مدیریتی برای مدیریت وضعیت زنده عامل‌ها مورد بازبینی عملکردی قرار گرفت:

  • بهینه‌سازی Polling: تیم یک hook سفارشی به نام usePoll را با استفاده از یک ref به نام inflight پیاده کرد. اگر درخواستی هنوز در جریان بود، hook چرخه بعدی را نادیده می‌گرفت تا فشار روی CSPR.cloud کاهش یابد. بازه‌های زمانی نظرسنجی برای وضعیت زنجیره و فعالیت عامل‌ها از ۱۰ ثانیه به ۳۰ ثانیه افزایش یافت.
  • اندیکاتورهای وضعیت: نقاط سبز و خاکستری اکنون فعالیت عامل را نشان می‌دهند. نقطه زمانی سبز می‌شود که یک Deploy در ۴۰ ثانیه اخیر از طریق حساب آن عامل ارسال شده باشد.
  • مدیریت خطای پیشرفته: هر صفحه اکنون از یک کامپوننت ErrorCard در مسیر web/src/components/shared.tsx استفاده می‌کند تا از سفید شدن رابط کاربری در اثر Reject شدن‌های مدیریت نشده‌ی Promiseها جلوگیری شود.
  • تأیید یکپارچگی (Integrity Verification): یک بخش جدید (Hero Section) مدل تعهد SHA-256 را توضیح می‌دهد. هر قضاوت مدل زبانی (LLM) به‌صورت هش روی زنجیره ثبت می‌شود؛ سپس مرورگر هش را دوباره محاسبه می‌کند تا صحت و یکپارچگی تصمیم AI تأیید شود.

در نهایت، لایه‌ی قراردادهای هوشمند بدون تغییر باقی ماند. سیستم همچنان بر چهار قرارداد Odra متکی است که در دور مقدماتی مستقر شده بودند:

  • AgentRegistry (ثبت عامل‌ها)
  • CarbonProjectRegistry (ثبت پروژه‌های کربن)
  • CarbonCreditToken (توکن اعتبار کربن)
  • CarbonMarketplace (بازار خرید و فروش)

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

این معماری ثابت می‌کند که در سیستم‌های RWA عامل‌محور، ناپایداری معمولاً در لایه‌ی تعامل (Interaction Layer) است، نه در منطق روی زنجیره. با ساده‌سازی پل اتصال کیف پول و اصلاح اوراکل قیمت، تیم توانست با موفقیت بازار خود را روی Casper Testnet فعال کند.

گام بعدی شما

  • اگر در حال ساخت گردش‌های کاری عامل‌محور هستید، تمام نقاط تماس مقادیر محاسباتی AI با اعداد صحیح (Integers) در بلاک‌چین را بازبینی کنید تا خطاهای تبدیل ارز تکرار نشود.
  • وابستگی‌های SDK حجیم را با تماس‌های مستقیم API جایگزین کنید تا از کندی مرورگر (Client-side bloat) جلوگیری کنید.
  • برای تأیید تصمیمات AI، از مدل تعهد هش (Hash Commitment) استفاده کنید تا سیستم شما شفاف و قابل حسابرسی باشد.
  • می‌توانید پیاده‌سازی کامل را بررسی کرده و دمو را از طریق مخزن متن‌باز پروژه در github.com/harishkotra/casper-carbon اجرا کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این تجربه ثابت می‌کند که برای استقرار تجاری عامل‌های AI در بلاک‌چین، تخصص در بهینه‌سازی لایه‌ی Client-side به اندازه مهندسی پرامپت اهمیت دارد. حذف وابستگی‌های حجیم، ریسک توقف مرورگر و خطاهای محاسباتی در قیمت‌گذاری دارایی‌های واقعی را به‌شدت کاهش می‌دهد.

تأثیر برای ایران

برنامه‌نویسان ایرانی که روی پروژه‌های Web3 و AI فعالیت می‌کنند، می‌توانند از این الگو برای کاهش هزینه استنتاج و بهبود سرعت لود اپلیکیشن‌های خود در شبکه‌های با پهنای باند محدود استفاده کنند.

·نگاه ما
تحریریه دات‌هوش

رویکرد Casper Carbon نشان می‌دهد که گلوگاه فعلی عامل‌های هوش مصنوعی در وب ۳، نه در قدرت استدلال مدل، بلکه در «سنگینی» ابزارهای توسعه (SDKs) است. جایگزینی یک کتابخانه جامع با ۴۰ خط کد مستقیم، اثبات می‌کند که برای موفقیت عامل‌ها، باید لایه‌ی تعامل را تا حد ممکن مینیمال کرد تا سرعت واکنش عامل به تغییرات بازار حفظ شود.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.