شيء انقرّ بينما كنت أقرأ عن كيفية عمل الإدارة فعليًا داخل @grvt_io Strategies.
كنت أفترض دائمًا أن السماح لشخص بإدارة رأس مالك يعني منحه السيطرة على المال نفسه. يقوم المدير باختيار الصفقات، والاحتفاظ بالأموال، ثم يُرجع حصتك في النهاية عندما تقرر المغادرة.
يفصل GRVT بين هذه الصلاحيات.
يحصل مدير الاستراتيجية على التحكم في تنفيذ التداول، لكن ليس على عمليات السحب. يمكنه أن يقرر كيف توضع مراكز الاستراتيجية رأس المال، لكن لا يمكنه الوصول إلى أموال المستثمرين أو تحويلها بعيدًا. يظل المستثمرون مالكين لحصص تمثل حصتهم من الاستراتيجية، بينما يبقى رأس المال داخل البنية التحتية الخاصة بـ GRVT.
شعرت أن هذا التمييز أكثر أهمية كلما جلست معه مدة أطول.
النظام لا يحاول استبعاد المدير من العملية. بل يحاول تضييق نطاق ما يُثق به المدير تحديدًا أن يفعله.
يمكنه إبداء الحكم.
لكن لا يمكنه حيازة الأموال.
ومع ذلك، فإن تقييد صلاحية السحب لا يجعل الاستثمار خاليًا من المخاطر. يمكن لمدير لا يستطيع الهرب بالأموال أن يظل قادرًا على تنفيذ صفقة سيئة للغاية باستخدامها. يمكن للعقود الذكية أن تحدد إلى أين يمكن أن يتحرك رأس المال، لكنها لا تستطيع ضمان أن القرارات التي تُتخذ داخل تلك الحدود ستكون جيدة.
ربما هذه هي النسخة الأكثر صدقًا من التمويل بلا ثقة.
ليس إزالة الثقة بالكامل، بل فصل المخاطر التي يمكن للشفرة منعها عن المخاطر التي لا يزال على المستثمرين تقييمها بأنفسهم.
إذًا ما الأهم: القضاء على مخاطر الحيازة، أم جعل الثقة المتبقية مستحيلة أن تُفهم خطأ؟
الأصول المُرمّزة: الجسر بين التمويل التقليدي وبلوك تشين
ماذا يحدث عندما تنتقل الأصول التقليدية إلى مسارات بلوك تشين؟
هنا تبدأ عملية الترمـيز.
غالبًا ما يُوصَف كلٌّ من التمويل المالي التقليدي والقطاع المالي المشفّر كعالمين منفصلين، لكن الأصول المُرمّزة تعمل على خلق صلة بينهما.
يمكن تمثيل أصل واقعي أو منتج مالي أو سلعة رقميًا على بلوك تشين.
قيمة تقليدية. بنية تحتية جديدة.
لماذا يكتسب هذا اهتمامًا متزايدًا؟
احتمال تسوية أسرع. شفافية أكبر. إتاحة مجزّأة. مشاركة أوسع، اعتمادًا على المنتج والمنطقة.
لكن الغلاف الرقمي لا يلغي المخاطر التقليدية.
لا تزال مخاطر المُصدر قائمة. وقد تختفي السيولة. ولا تزال اللوائح قد تكون غير واضحة. قد لا يكون الأصل قابلًا للاسترداد دائمًا.
قبل التعامل مع أي منتج مُرمّز، اسأل:
ماذا يمنحني هذا الرمز قانونيًا؟ هل يمكنني استرداده مقابل الأصل الحقيقي؟ من يحتفظ بالأصل الأساسي أو يتحقق منه؟ هل يخضع هذا الأمر للتنظيم في المكان الذي أعيش فيه؟ هل أبحث عن الأصل—أم أنني أتفاعل مع الضجيج؟
قد يغيّر الترميز طريقة إصدار الأصول التقليدية ونقلها وإتاحتها.
لكن بلوك تشين لا يجعل الأصل ذا قيمة تلقائيًا.
السؤال الحقيقي ليس فقط ما الذي يمثله الرمز.
بل ما إذا كان يمكن فعلًا الوثوق بالقيمة الكامنة خلفه.
توافر المنتجات يختلف حسب المنطقة. تأكد دائمًا من التفاصيل عبر المصادر الرسمية.
شيء كنت أعود إليه باستمرار لم يكن هو كيفية تقييم نيوتن للسياسات.
بل ما يحدث بعد كتابة السياسة بالفعل.
يركّز الكثير من الأنظمة على وضع قواعد أفضل. يبدو أن Newton Mainnet Beta مهتمّ أكثر بربط تلك القواعد بالنقطة التي يتم عندها السماح بالفعل بإجراء ما أو إيقافه.
هذه مشكلة مختلفة.
سياسة موجودة داخل التوثيق لا تغيّر شيئًا بذاتها. في نيوتن، يقوم المشغّلون بتقييم نية معاملة (transaction intent) مقابل سياسة Rego وينتجون توثيقًا (attestation) تشفيريًا. ثم يقوم عقد ذكي متكامل مع نيوتن بالتحقق من ذلك التوثيق قبل تنفيذ الإجراء.
يحدث التقييم خارج السلسلة (offchain).
تحدث الإنفاذ عند حدّ العقد الذكي (smart-contract boundary).
كانت هذه التفرقة هي الجزء الذي ظلّ عالقًا بذهني.
لا يتمثل التحوّل المثير للاهتمام ببساطة في إنشاء المزيد من القواعد. بل في منح هذه القواعد مكانًا ثابتًا داخل دورة حياة المعاملة بحيث تستطيع بالفعل التأثير في ما إذا كان الإجراء سيمضي أم لا.
وبطبيعة الحال، لا يجعل نيوتن السياسة عالميةً (universal) افتراضيًا. يجب على التطبيق ما زال دمج آلية الإنفاذ، والسياسة تكون فعّالة بقدر ما تكون القواعد والبيانات الكامنة خلفها.
لذلك، الجزء الذي لم أستقر عليه بالكامل هو ما إذا كانت أصعب تحديات التفويض (authorization) على السلسلة تتمثل في تصميم سياسات جيدة أم في ضمان إنفاذها بشكل متسق في كل مكان يتم دمج النظام فيه.
هل يؤدي نقل إنفاذ السياسة أقرب إلى التنفيذ إلى ضمانات أقوى، أم أنه يكشف فقط مدى صعوبة الإنفاذ المتسق منذ البداية؟
يحافظ نِيُوتن على ثبات العنوان، ولكن من يتحكم بالترقية؟
كنت أعتقد أن ترقية بروتوكول تفويض ستجبر في النهاية كل تطبيق يستخدمه على إعادة نشر عقده المحمي. كلما استكشفت @NewtonProtocol، بدا لي أكثر أن نِيُوتن قد صُمِّم بحيث يسمح لطبقة التفويض بالتطور دون أن يفرض على التطبيق نفسه تغيير عناوينه. عند استدعاء setPolicyAddress()، يتحقق عميل Newton PolicyClient مما إذا كانت سياسة الاستبدال قد تم إنشاؤها عبر إصدار مصنع (factory) ما زال يحقق متطلب الحد الأدنى للتوافق لدى TaskManager.
كان يجب أن تكون القاعدة، والبيانات الكامنة وراءها، والقرار، وكل شيء منها مرئيًا حتى يتمكن أي شخص من الوثوق بالنتيجة بشكل مستقل.
لكن عندما بدأت في تفكيك كيفية عمل <0>@NewtonProtocol Mainnet Beta</0>، لم يعد هذا الافتراض يبدو متماسكًا.
يُنشئ Newton Explorer سجلًا عامًا لمهام التفويض. يمكنه عرض نية المعاملة، والسياسة المستخدمة، ومعلماتها وكودها، وما إذا كانت نتيجة التقييم جاءت متوافقة أو غير متوافقة.
لكن هذا لا يعني أنه يجب أن تظهر كل مدخلات حساسة وراء التقييم علنًا بصيغة نص عادي.
يمكّن هيكل الخصوصية الموثّق لدى Newton المستخدمين أو مقدمي البيانات من تشفير المعلومات الحساسة قبل وصولها إلى عملية تقييم السياسة. يمكن للمشغّلين فك تشفير تلك المعلومات أثناء التقييم، بينما لا تظهر على السلسلة سوى المراجع أو التجزئات أو الالتزامات.
وتصف المواد الرسمية لدى Newton أيضًا البيئات التنفيذية الموثوقة كوسيلة لحماية البيانات الأساسية أثناء تقييم سياسة ما.
هذا غيّر طريقة تفكيري بشأن الشفافية.
Newton لا يحاول جعل كل جزء من المعلومات علنياً.
إنه يحاول جعل مسار التفويض قابلًا للتدقيق.
يمكن للجمهور التحقق من أن نية معاملة محددة تم فحصها مقابل سياسة محددة، وأن شبكة المشغّلين وصلت إلى نتيجة تقييم، وأن الشهادة الناتجة تم التحقق منها قبل التنفيذ.
لكن هذا ليس بالضبط الشيء نفسه مثل إثبات—بشكل مستقل—أن كل مدخل مخفي كان دقيقًا.
قد تعتمد المعاملة على معلومات هوية، أو درجة مخاطر محفظة خارجية، أو بيانات مؤسسية خاصة. إن إخفاء تلك المعلومات يحمي المستخدمين، لكنه أيضًا يضع ثقة في المشغّلين الذين يتعاملون مع البيانات المُشفّرة، وفي مقدميها.
the thing i keep chewing on.
يمكن لـ Newton جعل فرض السياسة مرئيًا دون جعل سياق التقييم الكامل علنيًا.
فهل يؤدي ذلك إلى شكل أقوى من المساءلة المُحافظة على الخصوصية؟
تجعل بنية نيوتن وكلاء الذكاء الاصطناعي يثبتون الإذن قبل تنفيذ المعاملات على السلسلة
قضيت وقتًا في مهمة CreatorPad في إعادة النظر في بنية @NewtonProtocol، لأن عبارة “تطبيقات ذكاء اصطناعي ذاتية آمنة في كل مكان” تبدو أنيقة حتى تسأل: ما الذي يمنع الذكاء الاصطناعي فعلاً من فعل شيء غبي؟ اتضح أن إجابة نيوتن ليست نموذجًا أفضل. إنها مسألة الفصل بين السلطات. ينشئ الوكيل نية معاملة، لكن لا يحصل على صلاحية غير مقيدة لتنفيذها. تحدد سياسة Rego الحدود أولاً: سقوف الإنفاق، والعقود المعتمدة، والوظائف المسموح بها، وحدود المعدّل، والوجهات—حتى عندما يتعين على الإنسان العودة للتدخل داخل الحلقة.
قضيت جزءًا من بعد الظهر في قراءة منهجية Mark Price الخاصة بـ @grvt_io لأنني كنت أفترض أن آخر صفقة هي التي تحدد بشكل أساسي الربح/الخسارة غير المحققة (unrealized PnL)، والهامش، والتصفية.
لكن هذا ليس ما تفعله GRVT.
تستخدم المنصة Mark Price منفصلًا للهامش والتصفية والـ unrealized PnL، و—إذا تم اختياره—لتفعيل TP/SL.
تحسبه GRVT على أنه الوسيط (median) لثلاثة مدخلات.
الأول يبدأ بسعر Block Scholes Index، المشتق من الأسعار المتوسطة (mid-prices) عبر بورصات سبوت مركزية كبيرة. تضيف GRVT تعديلًا بناءً على الفجوة بين سعر هذا الـ oracle وسعرها العادل الخاص بها (Fair Price)، مع تحديده بنسبة قصوى تبلغ 5%، ثم يتم تنعيمه عبر EMA لمدة 150 ثانية.
الثاني هو السعر العادل لـ GRVT: وسيط (median) أفضل عرض (best bid) وأفضل طلب (best ask) وأحدث صفقة (latest trade).
الثالث هو Mark Price الموروث من Block Scholes، المبني على الأسعار المتوسطة الموزونة من أسواق المشتقات الدائمة (perpetual) المركزية الكبيرة.
اقرأ ذلك مرتين لأنه يكشف عن اعتماد مهم.
تستخدم GRVT مطابقة خارج السلسلة (off-chain) مع تسوية داخل السلسلة (onchain) وإدارة هامش. لكن Mark Price الذي يقرر الهامش والتصفية لا يزال يتضمن معلومات من أسواق خارج GRVT.
أفهم لماذا.
الاعتماد فقط على أحدث صفقة من GRVT قد يجعل نظام المخاطر عرضة لطباعة واحدة غير طبيعية أو تلاعب عبر دفتر أوامر رقيق. الجمع بين البيانات الداخلية ومراجع أوسع من السبوت والدائمة يمكن أن يجعل السعر أصعب في التشويه.
لكن هذا ما علق في ذهني.
نقل الحيازة والتسوية إلى داخل السلسلة لا ينقل اكتشاف السعر بالكامل إلى داخل السلسلة.
يمكن للتاجر الاحتفاظ بالأصول داخل عقود ذكية ذاتية الحيازة (self-custodial) بينما تظل أهلية التصفية متأثرة بالواجهات المركزية.
هذا لا يعني تلقائيًا إضعاف النظام. قد ينتج سعر مرجعي أوسع تصفيات أكثر عدالة من الاعتماد فقط على دفتر أوامر GRVT
ومع ذلك، تمتد حدود التصفية إلى ما وراء العقود الذكية. فهي تعتمد أيضًا على عملية الـ oracle، وتحديثات ينشرها المدققون (validators)، ومنهجية Block Scholes، والأسواق الخارجية التي تغذي تلك الأسعار
هل يجعل استخدام أسعار مشتقة من CEX تصفيات GRVT أكثر أمانًا أم أكثر اعتمادًا؟
عندما بدأتُ أولاً بالنظر في التفويض البرمجي، افترضتُ أن تغيير قاعدة ما يعني تغيير العقد الذكي الذي يفرضها. كان ذلك يبدو لا مفر منه. إذا خفّضت خزانةٌ ما الحدّ الأقصى للتعرّض، أو أضافت عنواناً مقيَّداً، أو غيّرت درجة المخاطر المقبولة، أو أدخلت شرط امتثال جديد، فلابد أن العقد الذي يحمي الخزانة يحتاج إلى إعادة كتابته ونشره مرة أخرى. كلما تعمّقتُ في @NewtonProtocol Mainnet Beta، زاد إحساسي بأن هذا الافتراض بدأ يبدو معكوساً. يفصل نيوتن التطبيق المراد حمايته عن السياسة التي تحدد ما الذي يُسمح للتطبيق بفعله.
اعتقدت في البداية أن تغيير حدّ التفويض يعني إعادة كتابة السياسة التي تُطبِّقه.
كلما تعمّقت في @NewtonProtocol Mainnet Beta، بدا لي أكثر أن نيوتن يفصل منطق القرار عن التهيئة التي يقرأها هذا المنطق.
تُعرِّف سياسة Rego قواعد التفويض. يمكن تزويد القيم مثل حدود الإنفاق أو العناوين المحظورة أو قوائم السماح عبر data.params، بينما يحدِّد params_schema.json الحقول القابلة للتكوين المتوقعة وأنواع بياناتها.
غيّر ذلك طريقة تفكيري في تحديث السياسات.
لا تحتاج تطبيقًا بالضرورة إلى منطق Rego جديد في كل مرة يتغير فيها أحد حدود تشغيله. يمكن للقاعدة نفسها الاستمرار في التحقق مما إذا كانت المعاملة تبقى أقل من max_value، بينما يقوم مالك العقد بتحديث القيمة المُورَّدة لتلك القاعدة.
لكن التحديث ليس غير مرئي.
يرسل المالك المعلمات الجديدة عبر setPolicy(). ثم ينتج نيوتن policyId جديدًا، وتصبح أي معرفات سياسة تم تسجيلها سابقًا قديمة. يجب أن تتطابق الشهادات المستقبلية مع التهيئة الجديدة النشطة.
ما لفت انتباهي لم يكن مجرد المرونة.
بل المكان الذي تنتقل فيه حدود الأمان.
إن مراجعة كود Rego ليست سوى جزء من المهمة. يجب أيضًا على المطورين تحديد الحقول التي ينبغي أن تكون قابلة للتكوين، وما إذا كانت السياسة أو المخطط يجب أن يقيّدا القيم الممكنة، وكيف يتم التحكم بشكل آمن في سلطة صاحب PolicyClient.
قد يظل منطق Rego دون تغيير بينما يتغير حوله التشدد العملي للسياسة.
هل يجعل فصل منطق السياسة عن المعلمات القابلة للتعديل التفويض أكثر أمانًا وأسهل في الصيانة، أم يحوّل التحكم في تلك المعلمات إلى طبقة الحوكمة الأهم؟
قضيتُ بعض الوقت أفكر في ماهية ما يجب أن يُزيله التصفية.
تستخدم GRVT نموذج تصفية كاملة حاليًا، لكن النطاق يعتمد على وضع الهامش.
في الهامش المتقاطع، يقارن النظام بين حقوق الملكية في الحساب المتقاطع (Cross Account Equity) وبين إجمالي متطلبات الهامش المتقاطع للصيانة. بمجرد أن تنخفض حقوق الملكية تحت هذا الحد، تتم تصفية جميع المراكز المتقاربة (cross positions) ورصيد الهامش المتقاطع. تُنقل المراكز وحقوق الملكية المتبقية إلى صندوق التأمين، الذي يتولى عملية التصفية بعد ذلك.
أما في الهامش المعزول، فالنطاق أضيق. عندما ينخفض رصيد الهامش في ذلك المركز عن متطلباته للصيانة، تُصفّى بالكامل فقط تلك المركز المتأثر. يتم فقد الهامش المخصص له، بينما يبقى رصيد المحفظة الرئيسية وباقي المراكز دون تأثر.
في البداية، بدت تلك الفروق وكأنها حماية.
وهي حماية، لكن فقط قبل تجاوز العتبة.
يمكن لنظام التداول لدى GRVT تنفيذ التصفية فقط بعد أن يؤكد عقد ذكي أن الحساب أو المركز مؤهل. يساعد ذلك على منع عمليات التصفية غير المصرح بها. لكن بمجرد تفعيل التصفية، لا يقوم النظام بتقليل التعرض تدريجيًا. بل يُصفّي المركز المتأثر بالكامل أو حساب الهامش المتقاطع بالكامل.
هذه هي التوتر الذي لا أستطيع تجاهله.
هل تُنشئ التصفية الكاملة حدًّا أوضح للملاءة، أم أنها تحول تجاوز عتبة واحدة إلى نتيجة أشد قسوة مما قد تتطلبه تقليل المخاطر الجزئي؟
هل يحمي نموذج التصفية الكاملة لدى GRVT الملاءة بشكل أفضل، أم يجعل التصفية قاسية دون داع؟
آلية ترقية نيوتن الحقيقية ليست العقد الذكي. بل هي حدود السياسة
في البداية، افترضت أن تحديث قاعدة تفويض على <c-38/> Mainnet Beta سيكون مثل تغيير أي شيء آخر على السلسلة سيكتشف أحد المطورين أن حدّ المخاطر كان متساهلًا للغاية، أو أن متطلب الامتثال قد تغيّر، أو أن تهديدًا جديدًا يحتاج إلى الحظر. بعد ذلك، ستحتاج اتفاقية التطبيق إلى الترقية أو الترحيل أو إعادة النشر قبل أن يصبح القيد الجديد ذا تأثير فعلي. كان ذلك يبدو أمرًا لا مفر منه. كلما تعمقت أكثر في تصميم نيوتن، بدا لي أن البروتوكول يفصل نوعين من التغيير لا تزال أغلب التطبيقات تتعامل معهما على أنهما مشكلة واحدة.
اعتقدت في البداية أن التفويض القابل لإعادة الاستخدام يعني نسخ نفس كود السياسة من تطبيق إلى آخر.
كلما تعمقت أكثر في @NewtonProtocol Mainnet Beta، بدا لي أكثر أن نيوتن يحاول جعل البنية التحتية خلف السياسة قابلة لإعادة الاستخدام أيضًا.
يمكن لحزمة سياسة من نيوتن أن تجمع بين مُشغِّل بيانات (data oracle) تم نشره، وقالب Rego، ومخططات (schemas) مُنضبطة بالأنواع، وعنوان onchain لـ PolicyData. بدلًا من أن يعيد كل مطور بناء الاتصال بمزوّد مخاطر أو امتثال، يمكنهم البدء من نفس الحزمة المُنظمة ثم تهيئتها لتطبيقهم هم.
غيّر ذلك الطريقة التي أفكر بها بشأن المعايير الموحدة.
ما يزال المطور هو من يحدد العتبات والبارامترات والظروف التي تُنتج نتيجة تسمح أو ترفض. لكن لم يعد يتعين ابتكار تنسيق البيانات والمسار الذي يسلكه داخل السياسة من الصفر في كل مرة.
ما لفت انتباهي لم يكن مجرد تقليل العمل الهندسي.
بل إن الحزمة القابلة لإعادة الاستخدام تحمل افتراضات أيضًا. فهي تحدد ما هي المعلومات المتاحة، وكيف يتم تنظيم تلك المعلومات، وما هي قواعد الإحالة التي يُشجَّع المطورون على البدء بها.
يمكن أن يجعل التفويض أسهل للفحص لأن الجميع يعمل من خلال واجهة متسقة.
لكن يمكن أيضًا أن يجعل الإعداد الافتراضي يبدو أكثر أمانًا مما هو عليه فعليًا.
ما أعود إليه باستمرار هو ما إذا كان تغليف الـ oracle والمخطط وقالب السياسة معًا يجعل التفويض أكثر موثوقية، أم أنه يجعل الافتراضات الموروثة أصعب في ملاحظتها.
حد أمان قابل لإعادة الاستخدام، أم نقطة عمياء قابلة لإعادة الاستخدام؟
هل تجعل حزمة سياسة قابلة لإعادة الاستخدام التفويض أكثر أمانًا؟
قضيت بعض الوقت أفكر في متى يجب أن تتدخل ضوابط المخاطر.
يمكن أن يكون الأمر صحيحًا عند تقديمه، لكنه يصبح غير آمن قبل أن يصل إلى التنفيذ.
يأخذ GRVT ذلك في الاعتبار عبر التحقق من الهامش مرتين.
يجري فحص ما قبل الطلب مقارنةً بين حقوق الملكية في الحساب ومتطلبات الهامش الأولي للحساب. تضع هذه المتطلبات في الاعتبار أكبر مركز ممكن طويل أو قصير يمكن أن ينتج عن المراكز الحالية في الحساب والأوامر المفتوحة.
إذا كانت حقوق الملكية غير كافية، يتم رفض الأمر الجديد فورًا.
بعد ذلك، يجري GRVT فحصًا قبل التداول مباشرةً قبل تداول الأمر في دفتر الأوامر. إذا كانت حقوق الملكية قد انخفضت إلى ما دون الهامش الأولي المطلوب—أو إذا زادت متطلبات الهامش—يتم إلغاء الأمر المُدرج قبل التنفيذ.
في البداية، بدا ذلك متكررًا.
لكن الأمر ليس كذلك.
يمنع الفحص الأول النظام من قبول تعرض لا يمكن للحساب دعمه عند تقديم الأمر. أما الفحص الثاني فيقر بأن الأمر الذي كان آمنًا عند قبوله قد لا يعود آمنًا عندما يوشك على الامتلاء.
هذه هي النقطة التي أعود إليها باستمرار.
تقلل عمليتا التحقق من مخاطر التداول على أساس ظروف حساب قديمة، لكنها قد تجعل التنفيذ أقل يقينًا أيضًا عندما تتغير الأسعار وحقوق الملكية ومتطلبات الهامش بسرعة.
هل يعني التحقق المزدوج حد أمان أقوى، أم نقطة إضافية يمكن عندها أن تختفي الأوامر التي تم قبولها قبل التنفيذ؟
يتحقق GRVT من الهامش مرتين: مرة عند تقديم الأمر، ومرة أخرى مباشرةً قبل التنفيذ.
هل هذا يوفر حماية أفضل للمخاطر أم أنه يسبب قدرًا زائدًا من عدم اليقين في التنفيذ؟
أعود باستمرار إلى ما الذي يمكن أن تحميه فعليًا “تحذيرات” على السلسلة.
يعمل درع VaultKit الخاص بنيوتن عادةً بوضع “الفشل المغلق”. إذا رفضت سياسةٌ ما إجراء إدارة الخزنة، أو تعذّر على المشغّلين الوصول إلى النصاب (quorum)، أو كانت البوابة غير متاحة، أو فشل التحقق من الإتاحة (attestation validation)، فلن يقوم الدرع بإعادة توجيه الطلب. الاستثناء الطارئ هو تجاوزٌ يتم وضعه في قائمة المالك (owner-queued bypass) ويجب أن ينتظر حتى انقضاء التأخير المُكوَّن، كما يُصدر أحداثًا على السلسلة يمكن ملاحظتها قبل التنفيذ.
وهذا يخلق شفافية.
لكن لا يخلق استجابة تلقائية.
يضمن نيوتن أن مسار التجاوز (bypass) عام ومؤخَّر زمنيًا. لا تقول الوثائق إن شخصًا ما سيفسر الإجراء المكدس، أو يُنبه المودعين، أو يتدخل قبل انتهاء فترة الانتظار. لذلك تعتمد قيمة التحذير على ما إذا كانت أنظمة المراقبة، أو المخصّصون (allocators)، أو فرق المخاطر، أو المودعون يراقبون فعلًا العقد المعني.
كما أن نطاق الصلاحيات مهم أيضًا.
يتحكم الدرع في إجراءات المدير مثل عمليات إعادة التخصيص (reallocations) أو تغيير المعلمات. لا تمر الودائع والسحوبات العادية للمستخدمين عبره، ولا تزال أذونات دور الخزنة الأساسية هي التي تحدد أي الإجراءات المُعادة توجيهها يمكن أن تنجح. لذا فإن التجاوز ليس إذنًا لتنفيذ أي إجراء تعسفي. إنه طريقة ليمكّن مالك الدرع من تنفيذ إجراء إدارة خزنة مُرخَّص بخلاف التفويض المعتاد لسياسات VaultKit.
بمجرد استخدام هذا التجاوز، تنص الشروط القانونية لدى نيوتن على أن التحكم بالسياسة (Policy) وفحوصات مزود البيانات (Data Provider checks) والضوابط المرتبطة بـ VaultKit لا تنطبق على الإجراء. تنتقل المسؤولية إلى القيّم (curator) الذي ينفذه.
لذا فإن قائمة الانتظار (queue) هي آلية حقيقية للإنذار المبكر، لكنها ليست نظام حماية كاملًا.
إنها تُنشئ وقتًا ووضوحًا.
ما إذا تحولت هذه الأمور إلى حماية ذات معنى يعتمد على من يراقب، وما الذي يمكنه فهمه من المعاملة المكدسة، وما إذا كان قادرًا على الاستجابة قبل التنفيذ.
هل يوفّر المؤقت العام (public timelock) حماية جوهرية للمودعين، أم أنه يحمي الأشخاص الذين يراقبون الخزنة عن قرب بما يكفي لاستخدامه؟
كيف تعمل حَصّة NEWT وإعادة التحصين عبر EigenLayer وتوقيعات BLS معًا ضمن نموذج أمان نيوتن
في البداية تعاملت مع نموذج التَّحاصص (staking) الخاص بنيوتن باعتباره سلسلة واحدة متصلة: يقوم المستخدمون بإيداع NEWT، ويوقّع المشغّلون على القرارات، ويخسر المشغّلون السيئون هذا الإيداع. التصميم الرسمي أكثر طبقات من ذلك. يوجد حاليًا حجز NEWT (staking) عبر عقد تحاصص نيوتن. يقوم حاملو الرموز بإيداع التوكنات، ويصبحون مؤهلين للحصول على المكافآت، ويمرّون بمرحلة تهدئة لمدة 14 يومًا عند سحب (unstaking) التوكنات. لكن يتم تقديم دوره الأمني الأعمق تدريجيًا. يقول نيوتن إن الحامليْن سيفوّضون في النهاية NEWT إلى المُدقّقين ضمن نموذج إثبات الحصّة المُفوَّض (delegated proof-of-stake)، بدءًا من مُدقّقي المؤسسة (Foundation)، ثم أطراف ثالثة مُرخّصة، وأخيرًا مشاركة غير مُقيّدة (permissionless). كما يضع دليله إسقاط حصة المُدقّقين (validator slashing) في المرحلة التي يكون فيها عدة مُدقّقين قيد التشغيل.
قضيت بعض الوقت في التفكير في من يدفع فعليًا عندما لا يعود بإمكان صندوق التأمين امتصاص خسائر التصفية.
الإجابة الواضحة هي أن الصندوق نفسه هو من يدفع.
على GRVT، هذا هو الطبقة الأولى فقط.
عندما تدفع التصفيات غير المربحة صندوق التأمين إلى حقوق ملكية سالبة، يطبق GRVT اقتطاعًا لخسائر مُسَوَّاة (Socialized Loss Haircut) على عمليات السحب التي تتم أثناء بقاء العجز نشطًا.
لا يتم تحميل المستخدمين الذين لا يقومون بالسحب خلال تلك الفترة رسومًا في تلك اللحظة. لكن إذا قاموا بالسحب قبل أن يتعافى الصندوق، فسيظل الاقتطاع ينطبق.
ميكانيكيًا، أفهم منطق ذلك. إذا كانت المنصة تفتقر مؤقتًا إلى رأس مال كافٍ لتلبية كل مطالبة من العملاء بالكامل، فلا يمكن لعمليات السحب الصادرة أن تحصل على المبلغ كاملًا دون تعميق العجز.
ومع ذلك، تبدو النتيجة غير متساوية.
يمكن لمستخدمين اثنين الاحتفاظ برصيدين خلال نفس فترة العجز والتعرض لنتائج مختلفة. قد يحتاج أحدهما إلى السيولة فورًا ويقبل الاقتطاع. والآخر قد ينتظر حتى تتم تصفيات مربحة أو يتم إعادة رسملة صندوق التأمين عبر تحويل رأس مال، وبعدها تختفي الرسوم.
تُحافظ هذه القاعدة على الملاءة المالية، لكنها تُحمّل العبء المتحقق على من يحتاج إلى السحب بينما يوجد العجز—وليس تلقائيًا على كل حساب مكشوف على المنصة.
لا أستطيع أن أحدد إن كانت هذه سياسة انضباطية لاحتواء الخسائر أم أنها عقوبة سيولة ناتجة عن توقيت الأحداث.
هل ينبغي أن يتبع العجز عمليات السحب أثناء الضغط، أم يجب الاعتراف بالخسارة عبر كل حساب مكشوف مرة واحدة؟
نيوتن لا يسمح لوكلاء WASM بالوصول إلى عناوين IP الخاصة أو عناوين localhost أو عناوين الشبكات المحلية الأخرى. يمكنهم فقط الاتصال بعناوين URL العامة على الإنترنت.
ميزات شبكة نيون الرئيسية التي يجب أن يعرفها كل مستخدم على السلسلة
كان السوق هادئًا بما يكفي اليوم لدرجة أنني انتهيت إلى قراءة إعلان شبكة نيون الرئيسية بدلًا من التظاهر بأن شمعة مدتها خمس دقائق إضافية كانت ستغير أسبوعي. كنت أتوقع قائمة التحقق المعتادة للإطلاق. سلاسل أكثر، تكاملات أكثر، وربما لوحة تحكم. لكن الشيء الذي لفت انتباهي كان أقل وضوحًا. بيتا الشبكة الرئيسية في نيون ليست مجرد مكان آخر تحدث فيه المعاملات. إنها تقع قبل مرحلة التسوية وتقرر ما إذا كانت المعاملة المقترحة تفي بالقواعد المرفقة بها. البروتوكول يعمل على Base وEthereum، مع تركيز الإنتاج الأول حول خزائن DeFi.
قضيت بعض الوقت أفكر فيما الذي يثبته فعليًا تشغيل محاكاة مكتملة.
يتيح «Newton’s SDK» للمطورين تشغيل سياسة عبر «simulateTask» قبل إرسال مهمة حية على البلوكشين. يتم إرسال النية إلى «Newton Gateway»، حيث يشغّل المشغّل السياسة ويُرجع ما إذا كانت عملية التقييم اكتملت دون أخطاء، وما إذا كانت السياسة سمحت بالنية، مع سبب قابل للقراءة من قِبل الإنسان.
هذا الفرق مهم.
يمكن أن تنجح المحاكاة بينما لا تزال السياسة تُرجع «deny». يفصل «Newton» بين نجاح التقييم وبين الموافقة على السياسة عبر حقلي «success» و«result.allow».
في البداية، بدا «simulateTask» كمعاينة للتفويض النهائي.
هو كذلك، لكن على مستوى تقييم السياسة فقط.
يصف «Newton» «simulateTask» باعتبارها «dry run» (تشغيلًا تجريبيًا). لا يتم تقديم أي شيء على السلسلة، ولا تُنتج المحاكاة إثبات «BLS» الخاص بالإنتاج والذي يتحقق منه عقد ذكي قبل تنفيذ المعاملة الحقيقية.
يجيب الاختبار عن كيفية استجابة السياسة للنية والبيانات المتاحة أثناء تلك المحاكاة.
أما التفويض في الإنتاج فيذهب أبعد من ذلك.
يقوم «Gateway» بإنشاء مهمة على عقد «TaskManager». يقوم المشغلون بجلب السياسة وتقييمها ثم توقيع النتيجة بـ«BLS». يجمع المُجمِّع التواقيع حتى يتم الوصول إلى الحد الأدنى المطلوب (quorum)، ويتحقق العقد من إثبات «attestation» قبل تنفيذ المعاملة.
قد تُرجع السياسة نفسها «allow» أثناء المحاكاة والإنتاج، لكن لا تحمل تلك النتائج المعنى الأمني نفسه.
إحداهما تساعد المطورين على اختبار سلوك السياسة واكتشاف الأخطاء قبل الإطلاق. والأخرى تنتج دليلًا تشفيريًا بأن مشغّلي «Newton» قاموا بتقييم النية الحية والموافقة عليها.
المحاكاة النظيفة مفيدة.
لكنها لا تُثبت أن المهمة في الإنتاج ستصل إلى «quorum»، أو ستنتج إثباتًا صالحًا، أو ستنجح في كل فحوصات التحقق على السلسلة.
هل تجعل المحاكاة الناجحة تطبيقات «Newton» أكثر أمانًا، أم أنها تُعرّض لثقة زائفة قبل التفويض الحقيقي عبر «BLS»؟