لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.
الإجابة المباشرة
يستخلص أوراكل متوسط السعر المرجح زمنيا قيمة مرجعية من مشاهدات تراكمية خلال فترة معلنة، ولا توجد له صيغة عامة واحدة. يجمع Uniswap v2 السعر الهامشي الخطي لكل اتجاه في المجمع، ولذلك تنتج فروق القيم عند طرفي الفترة متوسطات حسابية مرجحة زمنيا. أما Uniswap v3 فيجمع tick، وهو إحداثي لوغاريتمي للسعر، ولذلك يتحول متوسط tick الحسابي إلى متوسط هندسي للسعر النسبي.
لا تكون النتيجة ذات معنى إلا بعد تثبيت السلسلة والمجمع والتنفيذ وشريحة الرسوم وترتيب الرمزين واتجاه الأصل وعملة التسعير والمنازل العشرية وطرفي الفترة والزمن المنقضي والتاريخ المعبأ وطريقة التقريب. نجاح القراءة لا يثبت القيمة العادلة ولا عمق التنفيذ. تخفف النافذة الأطول أثرا عابرا لكنها تزيد التأخر، ولا تمنع التلاعب المستمر أو فجوات السيولة المركزة أو تحكم مقترح الكتل أو المنظم أو إعادة التنظيم أو حالة تتجاوز فيها القيمة القابلة للاستخراج تكلفة التلاعب.
حداثة سجل المشاهدات وحداثة السوق مفهومان منفصلان. فقد يحتفظ متوسط محسوب الآن عمدا بنظام سعري قديم، وقد يكون المجمع النشط ضعيف السيولة أو منفصلا عن الأسواق الخارجية. لذلك يحتاج المستهلك إلى فحوص التاريخ والسيولة والتباعد وحدود خاصة بكل إجراء وسلوك صريح في وضعي التدهور والإيقاف.
آلية العمل
- ثبت السلسلة والكتلة والمصنع وعنوان المجمع وإصدار البروتوكول وشريحة الرسوم و
token0وtoken1والمنازل العشرية واتجاه الأصل وعملة التسعير وإجراء المستهلك والنافذة والقيمة المعرضة للخطر. - حدد الكمية المتراكمة ووحداتها:
price0Cumulativeأوprice1Cumulativeالخطيان في v2، أوtickCumulativeفي v3، أو الإحصاء الموثق لبروتوكول آخر. لا تنقل العمليات الحسابية بين التنفيذات. - تحقق من الطوابع الزمنية للطرفين وإيجابية الزمن المنقضي وأقدم تاريخ مهيأ وسعة المشاهدات الحالية وقواعد الاستيفاء أو الحساب الافتراضي. إن
observationCardinalityNextسعة مستهدفة وليست تاريخا معبأ بالفعل. - في v2، اقسم تغير السعر التراكمي على الثواني المنقضية ووحد وحدات النقطة الثابتة ومنازل الرمزين. احسب كل اتجاه تسعير مستقلا؛ فمتوسط TWAP الحسابي العكسي لا يساوي عادة مقلوب المتوسط الأمامي.
- في v3، استدع واجهة المشاهدة الموثقة، واقسم تغير tick التراكمي على النافذة، وقرب خارج القسمة السالب غير الصحيح نحو سالب ما لا نهاية كما تفعل
OracleLibrary، ثم حول متوسط tick إلى سعر موحد باستخدامprice = 1.0001^tick. - قس السيولة الحالية داخل النطاق والسيولة التوافقية والسيولة واسعة النطاق وشريحة الرسوم وسيولة الأسواق الخارجية. اختبر مسارات كتلة واحدة وكتل متعددة والرسوم والمراجحة والترتيب والرقابة وخسارة فك المركز وإعادة التنظيم والتأخر والقيمة القابلة للاستخراج من المستهلك.
- قارن TWAP بالسعر الفوري والمراجع المستقلة ضمن حدود صريحة للحداثة والانحراف؛ وراقب التاريخ ونطاقات السيولة وترقيات المجمع وظروف السلسلة، وتدرب على نقص التاريخ والتباعد والإيقاف والبديل والتصفية والتعافي.
يخزن Uniswap v2 قيمتين تراكميتين لاتجاهي التسعير ويدفعهما مع مرور الوقت. ويخزن Uniswap v3 المشاهدات في مخزن دائري، ويمكنه الاستيفاء بين المشاهدات أو إنشاء قيمة تراكمية افتراضية للحظة الحالية. هذه الأطراف المنشأة صالحة حسابيا في البروتوكول، لكنها لا تثبت وقوع صفقة في تلك اللحظة. وزيادة السعة تتيح مشاهدات مستقبلية ولا تملأ تاريخا أقدم بأثر رجعي.
أمثلة محلولة
- السعر التراكمي في v2. إذا كان
C_start = 1,000,000 price-secondsوC_end = 1,360,000 price-secondsوelapsed = 3,600 seconds، فإنTWAP = (1,360,000 - 1,000,000) / 3,600 = 100 quote/base. ويعد الطرفان والاتجاه والقياس والطوابع الزمنية جزءا من النتيجة. - فخ المقلوب. يكون السعر الأمامي
100لمدة900 secondsثم400لمدة900 seconds، فيكون متوسطه الحسابي250. والسعران العكسيان هما0.01و0.0025، ومتوسطهما الحسابي0.00625الذي يساوي مقلوبه160لا250. لا تتبادل عمليتا أخذ المتوسط وأخذ المقلوب. - متوسط tick السالب. لنفترض
tickCumulativeDelta = -39,601خلال3,600 seconds. يقتطع القسمة الصحيحة الموقعة في Solidity الناتج إلى-11مع باق، لكن أداة v3 تقرب إلى أسفل لتعطيmeanTick = -12. ويكون السعر الهندسي النسبي1.0001^-12 = 0.998800779636. يؤدي خطأ الإشارة أو التقريب إلى تحيز منهجي في جهة التسعير. - التخفيف والتأخر. يبقى المجمع عند
100لمدة1,740 secondsثم عند400لمدة60 secondsضمن نافذة1,800-second. يكون المتوسط الحسابي بأسلوب v2 هو(100 * 1,740 + 400 * 60) / 1,800 = 110، والمتوسط الهندسي بأسلوب v3 هو100^(29/30) * 400^(1/30) = 104.7294122821. يختلف كلاهما عن السعر الفوري الحالي400وعن الآخر، ولا يحدد أي منهما وحده تكلفة التلاعب أو حجم التنفيذ.
المخاطر
- اختيار سلسلة أو مصنع أو مجمع أو شريحة رسوم أو تنفيذ أو حالة ترقية خاطئة.
- عكس اتجاه الأصل وعملة التسعير أو ترتيب
token0وtoken1. - خطأ في المنازل العشرية أو قياس النقطة الثابتة أو توحيد التسعير.
- معاملة سعر v2 الحسابي وسعر v3 الهندسي كإحصاء واحد.
- حساب متوسط TWAP الحسابي العكسي كمقلوب المتوسط الأمامي.
- استخدام طرفين تراكميين أو زمن منقض أو حد نافذة أو كتلة حالية خاطئة.
- إساءة معالجة الزمن الصفري أو السالب أو الملتف أو الخاص بتنفيذ معين.
- طلب تاريخ أقدم من أقدم مشاهدة مهيأة.
- الخلط بين
observationCardinalityNextالمعبأة وobservationCardinality. - اعتبار المشاهدات المستوفاة أو الافتراضية صفقات فعلية.
- تقريب متوسط tick السالب نحو الصفر بدلا من سالب ما لا نهاية.
- تحويل tick أو نطاق العدد الصحيح أو التدفق الزائد أو تقريب التسعير بصورة غير آمنة.
- ضعف السيولة النشطة داخل النطاق أو السيولة التوافقية قياسا إلى التعرض المحمي.
- غياب العمق واسع النطاق أو سحبه أو تجاهله في تحليل التلاعب.
- تجزؤ السيولة بين المجمعات وشرائح الرسوم والسلاسل أو الأسواق المترابطة.
- بقاء النافذة القصيرة حساسة للتلاعب في كتلة واحدة أو معاملة ذرية أو حركة عابرة.
- تأخر النافذة الطويلة عن إعادة التسعير الحقيقية أو فقدان الربط أو انتقال السيولة.
- تقليل ظروف تعدد الكتل أو المقترح أو المنظم أو الرقابة أو الازدحام أو MEV أو إعادة التنظيم لفرصة التصحيح أو زيادتها للتحكم.
- اعتبار TWAP قيمة عادلة حديثة أو سعرا قابلا للتنفيذ بأي حجم من دون فحوص التباعد والعمق.
- تجاوز تعرض المستهلك تكلفة التلاعب مع عدم أمان البديل أو قاطع الدائرة أو الإيقاف أو التصفية أو التعافي.
مفاهيم خاطئة شائعة
- “يعني TWAP دائما المتوسط الحسابي للأسعار.” يأخذ v3 متوسط tick ولذلك ينتج متوسطا هندسيا للسعر النسبي.
- “التسعير العكسي يساوي دائما واحدا مقسوما على TWAP الأمامي.” لا ينطبق هذا التناظر على الأسعار الخطية التي يؤخذ متوسطها بصورة مستقلة.
- “تجعل النافذة الأطول التلاعب مستحيلا.” إنها تستبدل حساسية التشوه العابر بالتأخر، ويمكن أن تتأثر بتحكم مستمر أو سيولة ضعيفة.
- “تؤدي زيادة السعة فورا إلى إنشاء تاريخ أطول.” إنها تزيد السعة المستقبلية فقط، ويجب تهيئة المشاهدات لاحقا.
- “تثبت قراءة الأوراكل الحديثة والناجحة سعرا سوقيا عادلا وقابلا للتنفيذ.” لا يثبت نجاح الواجهة الحداثة الاقتصادية أو العمق أو الاستقلالية أو سلامة تعرض المستهلك.
مواضيع ذات صلة
المصادر
- Uniswap v2 Core - Uniswap (تاريخ الاطلاع: 2026-08-13)
- Oracles - Uniswap Developers (تاريخ الاطلاع: 2026-08-13)
- Uniswap v3 Core - Uniswap (تاريخ الاطلاع: 2026-08-13)
- Price Oracles - Uniswap Developers (تاريخ الاطلاع: 2026-08-13)
- Oracle.sol - Uniswap v3 Core (تاريخ الاطلاع: 2026-08-13)
- OracleLibrary.sol - Uniswap v3 Periphery (تاريخ الاطلاع: 2026-08-13)
- Uniswap v3 TWAP Oracles in Proof of Stake - Uniswap Labs (تاريخ الاطلاع: 2026-08-13)
- SC03:2026 Price Oracle Manipulation - OWASP Smart Contract Security (تاريخ الاطلاع: 2026-08-13)