لا تستطيع العقود الذكية الوصول إلى البيانات الخارجية من تلقاء نفسها. فهي لا تستطيع قراءة سوى البيانات الموجودة على سلسلتها الخاصّة. وهذا قيد تصميم أساسي لا خطأ. فإذا استطاعت العقود الذكية التواصل مع واجهات برمجة تطبيقات عشوائية، لصار تنفيذها غير حتمي، إذ قد تحصل عُقد مختلفة على استجابات مختلفة، مما يكسر التوافق.
تحلّ الأوراكل هذا بجلب البيانات الخارجية إلى السلسلة بطريقة يمكن للشبكة الاتفاق عليها. وللتمويل اللامركزي، أكثر البيانات الخارجية حرجًا هي أسعار الأصول. فحين يحتاج بروتوكول إقراض إلى معرفة هل مركز ما يعاني من نقص الضمان، يستعلم من أوراكل عن السعر الحالي. وحين تحسب منصّة عقود آجلة دائمة معدّلات التمويل، تستخدم أسعار الأوراكل. والأوراكل هي الأساس الذي يرتكز عليه معظم منطق التمويل اللامركزي.
Chainlink هي شبكة الأوراكل المهيمنة، تُؤمّن عشرات المليارات من الدولارات عبر مئات البروتوكولات. وتستخدم بنيتها شبكة لامركزية من مُشغّلي العقد الذين يجلبون الأسعار مستقلّين من مصادر بيانات متعدّدة، ثم يُجمّعونها على السلسلة. والتجميع يستخدم عادةً الوسيط، وهو مقاوم لتلاعب أي مصدر بيانات منفرد. والعقد مُحفَّزة عبر دفعات رمز LINK ومُعاقَبة على تقديم بيانات غير دقيقة.
تتّبع شبكة Pyth نهجًا مختلفًا، خاصّةً لتغذية الأسعار عالية التردّد. فبدلًا من أن تكون لعقد الأوراكل كشط واجهات برمجة تطبيقات علنية، تتلقّى Pyth بيانات الأسعار مباشرةً من مصادر الطرف الأول مثل المنصّات وصُنّاع السوق وشركات التداول. ويُقلّل هذا سلسلة توريد البيانات ويمكن أن يُوفّر تحديثات أسرع. ونموذج Pyth pull oracle يعني أيضًا أن المستهلكين يطلبون الأسعار حين يحتاجون إليها بدلًا من دفع الأسعار على السلسلة في فترات ثابتة.
تواتر تحديث أسعار الأوراكل معامل تصميم حاسم. فتغذية أسعار Chainlink القياسية تُحدَّث بناءً على إمّا عتبة انحراف (عادةً 0.5% إلى 1%) أو فترة نبض (عادةً ساعة واحدة). وهذا يعني أنه خلال فترات الحركة السعرية السريعة، يمكن للسعر على السلسلة أن يتأخّر عن السعر السوقي الحقيقي. ويُنشئ هذا التأخّر فرصًا لاستخراج MEV ويمكن أن يُسبّب تصفيات عند أسعار قديمة.
تسبّبت هجمات تلاعب الأوراكل في مئات الملايين من الخسائر. ونمط الهجوم الأساسي يتضمّن التلاعب بمصادر الأسعار التي تقرأ منها الأوراكل، ثم استخدام السعر المُتلاعَب به على السلسلة لاستخراج قيمة من بروتوكول. وكثيرًا ما تستخدم هجمات القروض السريعة هذا النهج: اقترض مبلغًا كبيرًا، تلاعب بسوق رقيق التداول لتحريك سعر الأوراكل، استغلّ السعر المُتلاعَب به في بروتوكول إقراض، ثم سدّد القرض، كل ذلك في معاملة واحدة.
تُوفّر أوراكل TWAP (السعر المتوسّط المُرجَّح بالوقت)، كتلك المبنيّة في Uniswap V3، مقاومة للتلاعب بمتوسّط الأسعار عبر الوقت. فالتلاعب بـ TWAP يتطلّب الحفاظ على سعر مُشوَّه لكامل فترة المتوسّط، وهو أمر مكلف. والمقايضة هي أن أسعار TWAP متأخّرة بطبيعتها، مما يجعلها غير ملائمة للتطبيقات التي تحتاج إلى تسعير في الوقت الفعلي.
يشير ثلاثي الأوراكل إلى أن تصاميم الأوراكل يجب أن تُقايض بين ثلاث خصائص: الطزاجة (كم البيانات حديثة)، والتكلفة (كم هي مكلفة للصيانة)، والأمان (كم هي مقاومة للتلاعب). فأوراكل الدفع ذات التحديثات المتكرّرة طازجة لكنها مكلفة. وأوراكل TWAP آمنة لكنها متأخّرة. وأوراكل السحب يمكن أن تكون طازجة وأرخص لكنها تتطلّب ثقة أكبر في مزوّدي البيانات.
للمتداولين ومستخدمي التمويل اللامركزي، لتصميم الأوراكل تداعيات عملية مباشرة. فإذا كنت تستخدم بروتوكول إقراض، فإن فهم آلية تحديث الأوراكل يُخبرك عن خطر التصفية في الفترات المتقلّبة. وإذا كنت تتداول عقودًا آجلة دائمة، فإن طزاجة الأوراكل تؤثّر على مدى قرب تتبّع سعر العقد للسوق الفورية. والتحقّق من الأوراكل التي يستخدمها بروتوكول وكيف تُهيَّأ خطوة عناية واجبة أساسية يتخطّاها معظم المستخدمين.