🪙 دانشکدهٔ ۳ · زیرساخت و روایتهای بازار
اوراکلها و زیرساخت: Chainlink و ریسک دستکاری قیمت
Oracles and infrastructure: Chainlink and price-manipulation risk
پیشنیازها: استیبلکوینها: پشتوانه، شکست پگ و درسهای ترا و USDC
📚 آموزش در سه سطح
از سطح ساده شروع کنید؛ اگر روشن بود، سطح بعد را بخوانید. سطح مناسب شما ذخیره میشود.
🌱 توضیح ساده
بلاکچین فقط دادهٔ درون خودش را میبیند. قرارداد هوشمند نمیداند قیمت ETH در بازارهای جهانی چند دلار است، نتیجهٔ یک مسابقه چه شد یا دمای هوای شهری چند درجه است. «اوراکل» سرویسی است که این اطلاعات بیرونی را به بلاکچین میآورد. بدون اوراکل، وامدهی غیرمتمرکز، بازارهای مشتقه و بسیاری از استیبلکوینها کار نمیکنند.
یک تشبیه: داوری را تصور کنید که شرطبندیها را فقط بر اساس تابلوی امتیاز ورزشگاه تسویه میکند. اگر کسی تابلو را دستکاری کند، داور با صداقت کامل پول را به اشتباه پرداخت میکند. اوراکل همان تابلوی امتیاز است؛ قرارداد هوشمند هر عددی را که اوراکل بدهد اجرا میکند، چه درست باشد چه نادرست. به همین دلیل امنیت یک پروتکل هرگز از امنیت اوراکلش بیشتر نیست.
Chainlink شناختهشدهترین شبکهٔ اوراکل است و شبکهٔ اصلی آن در مه ۲۰۱۹ راه افتاد. بهجای تکیه بر یک منبع، چند اپراتور مستقل قیمت را از منابع مختلف جمع میکنند و نتیجهٔ تجمیعشده روی بلاکچین ثبت میشود. در کنار اوراکلها، زیرساختهای دیگری مثل سرویسهای RPC (دروازهٔ ارتباط کیف پولها با بلاکچین)، ایندکسرها و پلهای بینزنجیرهای هم وجود دارند که هر کدام میتوانند نقطهٔ شکست باشند.
📘 توضیح متوسط
در فیدهای قیمت Chainlink، شبکهای از نودهای مستقل هر کدام قیمت را از چند تجمیعکنندهٔ دادهٔ بازار میگیرند و قرارداد اوراکل میانهٔ پاسخها را ثبت میکند. بهروزرسانی معمولاً با دو شرط انجام میشود: «آستانهٔ انحراف» (مثلاً وقتی قیمت بیش از درصد مشخصی تغییر کند) و «ضربان» (heartbeat)، یعنی حداکثر فاصلهٔ زمانی میان دو بهروزرسانی حتی اگر قیمت ثابت مانده باشد. اپراتورها برای این خدمت با LINK پاداش میگیرند. این مدل را «فشاری» (push) مینامند.
مدلهای دیگری هم وجود دارد. در مدل «کششی» (pull) مثل Pyth، ناشرانی مانند صرافیها و بازارسازها قیمت امضاشده منتشر میکنند و کاربر یا پروتکل هنگام نیاز، آخرین قیمت را همراه تراکنش خود وارد زنجیره میکند. گزینهٔ سوم، اوراکل درونزنجیرهای است: استفاده از قیمت یک استخر صرافی غیرمتمرکز مثل Uniswap، معمولاً به شکل میانگین وزنی زمانی (TWAP). هر مدل بدهبستانی میان تازگی داده، هزینه و مقاومت در برابر دستکاری دارد.
کاربردها گسترده است: پروتکلهای وامدهی با قیمت اوراکل تصمیم میگیرند وثیقهٔ کدام وام زیر حد مجاز رفته و باید تسویه شود؛ بازارهای مشتقه با آن سود و زیان را حساب میکنند و استیبلکوینهای با وثیقهٔ رمزارزی ارزش وثیقه را با آن میسنجند. خطای چندثانیهای یا چنددرصدی در قیمت میتواند به تسویهٔ ناعادلانهٔ هزاران موقعیت یا خالی شدن خزانهٔ یک پروتکل منجر شود.
🔬 توضیح تخصصی
خطرناکترین الگو استفاده از قیمت لحظهای (spot) یک استخر کمعمق بهعنوان اوراکل است. با وام آنی میتوان در یک تراکنش، قیمت استخر را بهشدت جابهجا کرد، از پروتکلی که به آن قیمت اعتماد دارد وام زیاد یا تسویهٔ سودآور گرفت و سپس همه را برگرداند. حملههای bZx در فوریهٔ ۲۰۲۰ از نخستین نمونههای مشهور این الگو بودند. TWAP هزینهٔ دستکاری را بالا میبرد، چون مهاجم باید قیمت را در چند بلاک پیاپی نگه دارد، اما در عوض از قیمت واقعی عقب میماند و در سقوطهای سریع ممکن است تسویه را دیر انجام دهد.
حتی اوراکلی که «درست» کار میکند میتواند قیمت بازاری را گزارش کند که خودش دستکاری شده است. اگر یک توکن فقط در چند بازار کمعمق معامله شود، مهاجم با سرمایهٔ کافی میتواند قیمت واقعی همهٔ آن بازارها را بالا ببرد؛ اوراکل صادقانه همان را گزارش میدهد و ضعف اصلی در پارامترهای ریسک پروتکل است: پذیرفتن توکن کمنقدشونده بهعنوان وثیقه بدون سقف وام. دفاعهای رایج شامل سقف وام و سپرده برای هر دارایی، ضریب وثیقهٔ متناسب با عمق بازار، قطعکنندهٔ مدار (circuit breaker) برای جهشهای غیرعادی و ترکیب چند منبع مستقل است.
ریسکهای عملیاتی را هم باید سنجید: کهنگی داده (قرارداد باید زمان آخرین بهروزرسانی را بررسی کند)، توقف یا تأخیر سکوئنسر در لایههای دوم، تمرکز مدیریت فید در یک کیف پول چندامضایی و وابستگی همزمان چندین پروتکل به یک فید. در ارزیابی یک پروژه بپرسید: از کدام اوراکل استفاده میکند، فیدش چند منبع و نود دارد، آستانهٔ انحراف و ضربانش چیست و اگر اوراکل قیمت غلط بدهد یا متوقف شود، پروتکل چه رفتاری دارد.
🌍 مثال واقعی: دستکاری قیمت در Mango Markets: ۱۱ اکتبر ۲۰۲۲
Mango Markets پلتفرم معاملات و وامدهی روی سولانا بود که توکن حاکمیتی خودش، MNGO، را هم بهعنوان وثیقه میپذیرفت. در ۱۱ اکتبر ۲۰۲۲ معاملهگری با دو حساب، موقعیت خرید بزرگی در قرارداد دائمی MNGO باز کرد و همزمان قیمت لحظهای MNGO را در چند بازار کمعمق با خریدهای سنگین در مدت کوتاهی چند برابر کرد.
اوراکلها همین قیمت بالا را گزارش کردند و سود کاغذی موقعیت او ناگهان عظیم شد. او این سود را وثیقه قرار داد و داراییهای واقعی پلتفرم را وام گرفت و خارج کرد؛ ارزش برداشتشده بیش از ۱۰۰ میلیون دلار گزارش شد. بخشی از داراییها پس از مذاکره با DAO پروژه بازگردانده شد و پرونده به دادگاههای آمریکا کشیده شد.
درس: اوراکل دقیقاً قیمت بازار را گزارش کرد؛ مشکل این بود که خود بازار کمعمق دستکاریپذیر بود و پروتکل برای وثیقهٔ کمنقدشونده سقف کافی نداشت.
🔤 واژگان تخصصی
سرویسی که دادهٔ بیرون از بلاکچین، مثل قیمت، را به قرارداد هوشمند میرساند.
مثال: پروتکل وامدهی که قیمت ETH/USD را از فید Chainlink میخواند.
مجموعهای از نودهای مستقل که داده را از چند منبع جمع و تجمیع میکنند تا به یک منبع واحد وابسته نباشند.
مثال: فید قیمتی که میانهٔ پاسخ چندین نود را ثبت میکند.
میانگین قیمت در یک بازهٔ زمانی که دستکاری لحظهای را گرانتر میکند اما با تأخیر همراه است.
مثال: اوراکلی که میانگین قیمت ۳۰ دقیقهٔ اخیر یک استخر Uniswap را استفاده میکند.
درصد تغییر قیمتی که پس از آن فید اوراکل بهروزرسانی میشود.
مثال: فیدی با آستانهٔ ۰٫۵٪ وقتی قیمت از ۲٬۰۰۰ به ۲٬۰۱۰ برسد بهروز میشود.
حداکثر فاصلهٔ زمانی میان دو بهروزرسانی فید، حتی اگر قیمت تغییر نکند.
مثال: فیدی با ضربان یکساعته که در بازار آرام هم ساعتی یک بار بهروز میشود.
جابهجا کردن مصنوعی قیمتی که اوراکل میخواند برای گرفتن وام یا تسویهٔ سودآور از پروتکل.
مثال: حملهٔ Mango Markets در اکتبر ۲۰۲۲.
🔑 نکات کلیدی
- قرارداد هوشمند هر عددی را که اوراکل بدهد اجرا میکند؛ امنیت پروتکل از امنیت اوراکلش بیشتر نیست.
- استفاده از قیمت لحظهای یک استخر کمعمق بهعنوان اوراکل، با وام آنی بهسادگی قابل سوءاستفاده است.
- TWAP دستکاری را گرانتر میکند اما تأخیر دارد؛ هیچ طراحی بیهزینهای وجود ندارد.
- اوراکل درست هم میتواند بازار دستکاریشده را گزارش کند؛ پارامترهای ریسک و سقف وثیقه نقش حیاتی دارند.
- در ارزیابی پروژه، منبع اوراکل، آستانهٔ انحراف، ضربان و رفتار پروتکل هنگام خطای اوراکل را بررسی کنید.
⚠️ اشتباهات رایج
- فرض اینکه چون داده روی بلاکچین ثبت شده، حتماً درست است؛ بلاکچین فقط ثبت را تضمین میکند نه صحت دادهٔ بیرونی.
- پذیرفتن یک توکن کمنقدشونده بهعنوان وثیقه بدون سقف؛ همان ضعفی که در Mango Markets به خالی شدن پلتفرم انجامید.
- نادیده گرفتن کهنگی داده؛ فیدی که ساعتها بهروز نشده میتواند در بازار پرنوسان به تسویهٔ نادرست منجر شود.
- تکیه بر یک منبع قیمت واحد برای صرفهجویی در هزینه؛ یک نقطهٔ شکست کل پروتکل را در معرض خطر قرار میدهد.
🛠 تمرین عملی: بررسی یک فید قیمت واقعی
- به data.chain.link بروید و فید ETH/USD روی شبکهٔ اتریوم را باز کنید.
- آستانهٔ انحراف، ضربان، تعداد اوراکلها و زمان آخرین بهروزرسانی را یادداشت کنید.
- با استفاده از آستانهٔ انحراف، حساب کنید قیمت باید چند دلار تغییر کند تا فید بهروز شود.
- پروتکلی وامدهی را که از این فید استفاده میکند در نظر بگیرید و بنویسید اگر فید دو ساعت بهروز نشود چه اتفاقی ممکن است بیفتد.
- دو راهکار دفاعی برای پروتکلی بنویسید که میخواهد یک توکن کمنقدشونده را بهعنوان وثیقه بپذیرد.
✅ معیار درستی: مقادیر فید همراه با تاریخ ثبت شده، آستانهٔ تغییر قیمت به دلار درست محاسبه شده و راهکارهای دفاعی به سقف وثیقه، چند منبع یا TWAP اشاره دارند.
🔒 در هیچ تمرینی از سرمایهٔ واقعی، عبارت بازیابی (Seed Phrase)، کلید خصوصی یا اتصال کیف پول اصلی استفاده نکنید.
📝 آزمون تطبیقی
هر بار ۵ سؤال از بانک ۸ سؤالی این درس انتخاب میشود؛ سؤالهایی که قبلاً اشتباه زدهاید زودتر برمیگردند. حدنصاب قبولی ۸۰٪ (۴ از ۵) است و درس بعد با قبولی باز میشود.
✍️ پرسش تشریحی
یک پروتکل وامدهی میخواهد توکن کوچکی با نقدشوندگی کم را بهعنوان وثیقه بپذیرد. طراحی اوراکل و پارامترهای ریسکی را که پیشنهاد میکنید توضیح دهید.
بعد از نوشتن، پاسخ خود را با این معیارها بسنجید
خودارزیابی: هر نکتهای را که پاسخ شما بهروشنی پوشش داده علامت بزنید.
🤖 دستیار آموزشی
دستیار آفلاین آکادمی: پاسخها فقط از متن درسها و واژگان همین آکادمی پیدا میشوند و منبع هر پاسخ نشان داده میشود. هوش مصنوعی مولد نیست، حدس نمیزند و هیچ سیگنال خرید و فروشی نمیدهد.
📎 منابع مطالعاتی
🏁 معیار تسلط بر این درس: میتوانید سازوکار یک فید قیمت را توضیح دهید، TWAP و آستانهٔ انحراف را محاسبه کنید و ضعفهای اوراکلی یک پروتکل را پیش از استفاده تشخیص دهید.