لتجنب الفشل في نقطة واحدة، اعتمدت بعض خدمات آلة أوراكل تصميمًا موزعًا. على سبيل المثال، تجميع منصة آلة أوراكل المعروفة 31 مصدرًا للأسعار لتقديم خدمة أسعار BTC بالدولار للمستخدمين.
يمكن عرض كود مصدر العقد لهذا المجمع على مستعرض بلوكتشين إيثريوم. من خلال استدعاء طريقة transmitters في العقد، يمكن عرض جميع آلات أوراكل خارج السلسلة المضمنة في هذا المجمع.
يمكن لكل آلة أوراكل خارج السلسلة تقديم بيانات الأسعار من خلال استدعاء طريقة transmit استجابةً لطلبات المستخدمين في المجمع. هذه الآلات الأوراكل الخارجية هي حسابات مملوكة خارجيًا (EOA)، وهي لا توفر بيانات الأسعار لمجمع BTC/USD فحسب، بل قد توفر أيضًا بيانات الأسعار لمجمعات أخرى ( مثل ETH/USD).
تكون عملية معالجة العقود على السلسلة على النحو التالي:
أولاً، قم بقراءة حالة العقد الحالي وإجراء سلسلة من الفحوصات.
بعد اجتياز الفحص، قم ببعض الأعمال التحضيرية.
بعد ذلك، استخدم ecrecover() للتحقق من صحة بيانات التوقيع لكل توقيع، والتحقق مما إذا كانت قيمة الهاش تتطابق مع الهاش الذي تم إنشاؤه بواسطة _report. في الوقت نفسه، تحقق من أن دور الموقع هو Signer، ويجب أيضًا التحقق من تكرار التوقيع.
أخيرًا، تحقق مما إذا كانت القيم الملاحظة مرتبة بالترتيب. اختر الوسيط median من القيم الملاحظة المرتبة، وتأكد من أن median لا يتجاوز الحدين العلوي والسفلي. إذا لم يكن هناك مشكلة، قم بتسجيل إجابة آلة أوراكل هذه في s_transmissions. بالإضافة إلى ذلك، يجب التحقق من الإجابة.
هنا، بعد سلسلة من الاستدعاءات، سيتم استدعاء طريقة validate لعقد آلة أوراكل بسعر معين، والشيء المهم هو مقارنة انحراف السعر الذي تقدمه الآلتان على الجانبين لمعرفة ما إذا كان ضمن نطاق مقبول.
! Chainlink (الجزء 2) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-855e7db6fb0607a91a3fa63b51fcc2c9.webp)
سجل التغذية
لزيادة المرونة وتقليل تكاليف الحوكمة، أطلقت بعض المنصات سجل التغذية. يمكن فهمه على أنه مجمع لأسعار التغذية، حيث تم تجميع العديد من أسعار التغذية. مع ذلك، لا يحتاج المستخدمون إلى إعداد أسعار التغذية بأنفسهم، بل يمكنهم قراءة بيانات الأسعار مباشرة من سجل التغذية.
! Chainlink (الجزء 2) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-28d519adb5b491a0596a00eed45731eb.webp)
آلية تسعير
عادة ما يتم الحصول على سعر آلة أوراكل من خلال تجميع البيانات عبر عدة مستويات، والتي تشمل بشكل رئيسي تجميع مصادر البيانات، وتجميع مشغلي العقد، وتجميع شبكة آلة أوراكل.
تأتي بيانات الأسعار الأصلية بشكل رئيسي من منصات التداول المركزية واللامركزية الكبيرة. تقوم بعض خدمات تجميع البيانات المتخصصة بجمع البيانات الأصلية للأسعار من هذه المنصات، وتقوم بمعالجتها وتجميعها، مثل إجراء حسابات وزنية بناءً على حجم التداول والسيولة والفروق الزمنية. هذه هي مرحلة التجميع الأولى لمصادر البيانات.
الطبقة الثانية هي تجميع مشغلي العقد. كل مشغل عقد مسؤول عن تشغيل البرنامج الأساسي، والحصول على بيانات الأسعار من عدة مزودي خدمات تجميع بيانات مستقلين، وأخذ القيمة المتوسطة، واستبعاد القيم الشاذة وأوقات توقف واجهة برمجة التطبيقات.
الطبقة الأخيرة هي تجميع الشبكة الكاملة للآلة أوراكل، والطريقة الشائعة هي أخذ القيمة المتوسطة للبيانات عندما يصل عدد العقد المستجيبة إلى القيمة المحددة.
تحديث الأسعار عادة ما يحتاج إلى استيفاء أحد معايير التTrigger، إما عتبة الانحراف أو عتبة نبض القلب. قد تختلف قيم هذين المعنيين من مصادر الأسعار المختلفة.
بشكل عام، فإن بعض منصات آلة أوراكل المعروفة توفر إمكانية الوصول السهل والأمان العالي، ولكن بسبب وجود انحراف في آلية تحديث الأسعار، فإن التحديثات تكون بطيئة، مما يجعلها مناسبة للتطبيقات التي لا تكون حساسة جداً لتحديث الأسعار. هذه هي أيضًا حدودها، حيث لا يمكن استخدامها في جميع السيناريوهات.
! Chainlink الجزء 2 من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-cec5b2c5581a3e9abce8f2d60b1980b1.webp)
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 21
أعجبني
21
8
مشاركة
تعليق
0/400
CryptoFortuneTeller
· منذ 12 س
هل 31 مصدر كافٍ؟ أشعر ببعض القلق.
شاهد النسخة الأصليةرد0
CountdownToBroke
· منذ 13 س
هل يمكن حقًا أن تتجنب اقتطاف القسائم؟
شاهد النسخة الأصليةرد0
WealthCoffee
· 08-02 23:24
التوزيع مثير للاهتمام أخيرًا لا داعي لمراقبة تعابير وجه الآخرين
شاهد النسخة الأصليةرد0
HashBrownies
· 08-02 07:13
31 مصدر بيانات، أشعر أن العدد ليس كافياً~
شاهد النسخة الأصليةرد0
RektDetective
· 08-02 07:08
شاهدت المؤسسات تخلع سراويلها طوال اليوم، هل رأيت ما يكفي أم لا؟
شاهد النسخة الأصليةرد0
GasFeeCrier
· 08-02 07:00
يا إلهي، أشعر بالدوار، غاز الأمير الصغير
شاهد النسخة الأصليةرد0
NFTArchaeologis
· 08-02 06:57
داخل السلسلة كود القراءة يبدو أنيقاً مثل الكلمات المختمرة
نظام آلة أوراكل للأسعار الموزعة: تجميع متعدد المستويات وتحسين سجل التغذية
نظام آلة أوراكل للأسعار الموزعة
لتجنب الفشل في نقطة واحدة، اعتمدت بعض خدمات آلة أوراكل تصميمًا موزعًا. على سبيل المثال، تجميع منصة آلة أوراكل المعروفة 31 مصدرًا للأسعار لتقديم خدمة أسعار BTC بالدولار للمستخدمين.
يمكن عرض كود مصدر العقد لهذا المجمع على مستعرض بلوكتشين إيثريوم. من خلال استدعاء طريقة transmitters في العقد، يمكن عرض جميع آلات أوراكل خارج السلسلة المضمنة في هذا المجمع.
يمكن لكل آلة أوراكل خارج السلسلة تقديم بيانات الأسعار من خلال استدعاء طريقة transmit استجابةً لطلبات المستخدمين في المجمع. هذه الآلات الأوراكل الخارجية هي حسابات مملوكة خارجيًا (EOA)، وهي لا توفر بيانات الأسعار لمجمع BTC/USD فحسب، بل قد توفر أيضًا بيانات الأسعار لمجمعات أخرى ( مثل ETH/USD).
تكون عملية معالجة العقود على السلسلة على النحو التالي:
أولاً، قم بقراءة حالة العقد الحالي وإجراء سلسلة من الفحوصات.
بعد اجتياز الفحص، قم ببعض الأعمال التحضيرية.
بعد ذلك، استخدم ecrecover() للتحقق من صحة بيانات التوقيع لكل توقيع، والتحقق مما إذا كانت قيمة الهاش تتطابق مع الهاش الذي تم إنشاؤه بواسطة _report. في الوقت نفسه، تحقق من أن دور الموقع هو Signer، ويجب أيضًا التحقق من تكرار التوقيع.
أخيرًا، تحقق مما إذا كانت القيم الملاحظة مرتبة بالترتيب. اختر الوسيط median من القيم الملاحظة المرتبة، وتأكد من أن median لا يتجاوز الحدين العلوي والسفلي. إذا لم يكن هناك مشكلة، قم بتسجيل إجابة آلة أوراكل هذه في s_transmissions. بالإضافة إلى ذلك، يجب التحقق من الإجابة.
هنا، بعد سلسلة من الاستدعاءات، سيتم استدعاء طريقة validate لعقد آلة أوراكل بسعر معين، والشيء المهم هو مقارنة انحراف السعر الذي تقدمه الآلتان على الجانبين لمعرفة ما إذا كان ضمن نطاق مقبول.
! Chainlink (الجزء 2) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-855e7db6fb0607a91a3fa63b51fcc2c9.webp)
سجل التغذية
لزيادة المرونة وتقليل تكاليف الحوكمة، أطلقت بعض المنصات سجل التغذية. يمكن فهمه على أنه مجمع لأسعار التغذية، حيث تم تجميع العديد من أسعار التغذية. مع ذلك، لا يحتاج المستخدمون إلى إعداد أسعار التغذية بأنفسهم، بل يمكنهم قراءة بيانات الأسعار مباشرة من سجل التغذية.
! Chainlink (الجزء 2) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-28d519adb5b491a0596a00eed45731eb.webp)
آلية تسعير
عادة ما يتم الحصول على سعر آلة أوراكل من خلال تجميع البيانات عبر عدة مستويات، والتي تشمل بشكل رئيسي تجميع مصادر البيانات، وتجميع مشغلي العقد، وتجميع شبكة آلة أوراكل.
تأتي بيانات الأسعار الأصلية بشكل رئيسي من منصات التداول المركزية واللامركزية الكبيرة. تقوم بعض خدمات تجميع البيانات المتخصصة بجمع البيانات الأصلية للأسعار من هذه المنصات، وتقوم بمعالجتها وتجميعها، مثل إجراء حسابات وزنية بناءً على حجم التداول والسيولة والفروق الزمنية. هذه هي مرحلة التجميع الأولى لمصادر البيانات.
الطبقة الثانية هي تجميع مشغلي العقد. كل مشغل عقد مسؤول عن تشغيل البرنامج الأساسي، والحصول على بيانات الأسعار من عدة مزودي خدمات تجميع بيانات مستقلين، وأخذ القيمة المتوسطة، واستبعاد القيم الشاذة وأوقات توقف واجهة برمجة التطبيقات.
الطبقة الأخيرة هي تجميع الشبكة الكاملة للآلة أوراكل، والطريقة الشائعة هي أخذ القيمة المتوسطة للبيانات عندما يصل عدد العقد المستجيبة إلى القيمة المحددة.
تحديث الأسعار عادة ما يحتاج إلى استيفاء أحد معايير التTrigger، إما عتبة الانحراف أو عتبة نبض القلب. قد تختلف قيم هذين المعنيين من مصادر الأسعار المختلفة.
بشكل عام، فإن بعض منصات آلة أوراكل المعروفة توفر إمكانية الوصول السهل والأمان العالي، ولكن بسبب وجود انحراف في آلية تحديث الأسعار، فإن التحديثات تكون بطيئة، مما يجعلها مناسبة للتطبيقات التي لا تكون حساسة جداً لتحديث الأسعار. هذه هي أيضًا حدودها، حيث لا يمكن استخدامها في جميع السيناريوهات.
! Chainlink الجزء 2 من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-cec5b2c5581a3e9abce8f2d60b1980b1.webp)