انتقل للمحتوىBlockAssay

التجميد والملكية والسلطة

P08-L04 · P08 · P08-M01

حدد الضوابط ذات الامتياز ومنها الوكلاء وسلطة الترقية

ILLUSTRATIVE · needs_review

المتطلبات السابقة: P08-L03

أهداف التعلم

  • ارسم طبقات الرصيد والقيود والتطبيق والترقية.
  • قيّم ادعاءات الملكية الضيقة مقابل الضوابط المتبقية.
  • حدد الأدلة المطلوبة للعتبة وإسناد الحدث وعدم قابلية التغيير.

النسخة المصدرية ⁦EN⁩ · ⁦P08-L04⁩ · المدة المقدرة ⁦45⁩ دقيقة · ⁦needs_review⁩

أهمية الموضوع

قد تتعايش شارة «تُنازل عن الملكية» مع دور إيقاف فعال أو متحكم ترقية. وقد تتعايش سلطة إصدار مزالة مع سلطة تجميد. قد تصح كل عبارة بينما يخطئ الاستنتاج الواسع «لا أحد يتحكم».

يعلم هذا الدرس خريطة تحكم بطبقات. ستربط كل امتياز بكائنه وحائزه الحالي وشرطه ومسار إدارته المحتمل. النتيجة سجل أدلة، لا درجة سلامة أو اتهام.

الشرح

عرّف الكائن المتحكم فيه

لا تستخدم مالكًا دون اسم كائنه. مالك البرنامج لحساب بيانات ⁦Solana⁩ وسلطة حساب رمز ومالك ⁦EVM Ownable⁩ ومالك مركز ⁦NFT⁩ حقول متمايزة. تتشابه أسماؤها لكنها تحكم آليات مختلفة. اكتب الحقل والكائن مع القيمة.

افصل تحكم رصيد الرمز وقيود حساب الإصدار وأدوار التطبيق وسلطة تغيير الشفرة. لا تمحو نتيجة عن طبقة إذنًا بأخرى. مثلًا، قد يفتقر حساب إصدار إلى سلطة إصدار بينما يبقى تطبيق يتعامل بالرمز قابلًا للترقية. راجع دور التطبيق منفصلًا بدل افتراض حكمه ⁦Token Program⁩ القياسي نفسه.

خريطة التحكم رسم قدرات، لا رسم هويات بشرية. قد تكون سلطة معددة حساب مستخدم أو عنوانًا بوساطة برنامج. لا تثبت تسميات حساب عامة من يملك المفاتيح أو اشتراك حسابات متعددة في متحكم.

افهم التجميد كقيد حالة

تحفظ آلية تجميد ⁦Solana⁩ مالك حساب الرمز وحساب إصداره ورصيده مع منع عمليات التلقي والتحويل والحرق الموثقة حتى فك التجميد [⁦S08-FREEZE⁩]. ليست حذف رصيد أو تحويلًا لسلطة التجميد.

يجب تسجيل الحالة والسلطة منفصلتين. قد توجد سلطة تجميد بينما الحساب حاليًا غير مجمد. وبالمقابل، لا تخبرك ملاحظة حالة مجمدة أن إنسانًا بعينه سببها. اطلب العملية الناجحة وتخويلها إذا كان الإسناد مهمًا.

يزيل الإلغاء دور سلطة مختارًا، لا مجموعة سلطات عالمية [⁦S08-SET⁩]. لا تفترض تغيير إلغاء دور إصدار حالة التجميد. تحتاج الحسابات المجمدة الموجودة ومسارات الاستعادة/فك التجميد الممكنة فحصها الخاص؛ وتجنب وصف إلغاء ضيق دليلًا أن كل حساب قابل للتحويل.

افحص أدوار التطبيق خارج ⁦Ownable⁩

يعطل تنازل ⁦OpenZeppelin Ownable⁩ الدوال المحمية بفحص مالكه، بينما الأذونات القائمة على أدوار نمط منفصل [⁦S08-ACCESS⁩]. جمع رمز منشور النمطين سؤال شفرة وحالة. إذا بقي دور إيقاف، فلا يزيله تنازل المالك وحده.

ابنِ جدول ملكية وإيقاف ومنح/إلغاء أدوار وترقيات. سجّل لكل صف الفحص الفعلي والسلطة الحالية ومسار الإدارة وعدم اليقين. اسم الدور وصفي فقط حتى يُربط بعملية يمكن الوصول إليها. ليست «⁦PAUSER⁩» ببيانات وصفية دليل دالة إيقاف.

قد يعتمد تحكم على قفل زمني أو توقيعات متعددة. تحقق من العقد والعتبة والتأخير وشروط التجاوز المعنية بدل قبول شارة. التأخير شرط وقت، لا اختفاء تحكم. تصف عتبة توقيعات متعددة توقيعات، لا بشرًا مستقلين بالضرورة.

تتبع تحكم الوكيل والتنفيذ

للوكلاء على نمط ⁦ERC-1967⁩ ميّز رابط التنفيذ أو المنارة من حقل المسؤول الاختياري. تحل المنارة المنطق للوكلاء المرتبطين؛ وقد يقع تخويل نمط ⁦UUPS⁩ في منطق التنفيذ، فحقل مسؤول فارغ وحده ليس استنتاجًا كاملًا [⁦S08-PROXY⁩; ⁦S08-UUPS⁩].

قد يثبت عنوان الوكيل الذي يتعامل معه المستخدم حين تتغير قواعده. ثبّت التنفيذ بالسياق المراجع ثم افحص مسار تغييره. لا تدقق صفحة تنفيذ متحققًا منها وتترك رابط الوكيل دون فحص. قد يبطل تنفيذ لاحق افتراضات سلوك سابقة.

لا يعلم هذا الدرس تنفيذ ترقيات. يعلم وصف مسار التخويل المقدم للقراءة فقط. إذا غابت قواعد المتحكم الداخلية، فسمّها مجهولة حتى إن عُرف عنوان السلطة الخارجي.

ميّز ترقيات برنامج ⁦Solana⁩ من أدوار حساب الإصدار

في ⁦Solana loader-v3⁩ تعتمد ترقيات البرنامج على سلطة ترقية البرنامج؛ وتجعل إزالتها ذلك البرنامج غير قابل للتغيير [⁦S08-DEPLOY⁩]. ليس هذا حقل سلطة إصدار حساب الإصدار. ينطبق على البرنامج وآلية المحمل المراجعين، لا كل عقد متصل أو خدمة خارج السلسلة.

لا يُوصف حساب إصدار يحكمه ⁦Token Program⁩ قياسي عشوائيًا قابلًا لترقية مستقلة لمجرد استخدام تطبيق مخصص له. سمّ البرنامج المخصص واشرح صلته. في البيانات ⁦PROGRAM-X⁩ تطبيق مساعد، لا ⁦Token Program⁩ المالك لـ ⁦MINT-F.⁩

عدم قابلية التغيير محدود بكائن الشفرة. لا يثبت مستخدمين نزهاء أو بيانات وصفية ثابتة أو سيولة كافية أو نظمًا محيطة آمنة. كذلك تثبت سلطة ترقية فعالة قدرة بشروط، لا أن الشفرة ستتغير بخبث.

أبلغ نتيجة بطبقات

تسمي عبارة قابلة للدفاع السياق والحدود: «عند ⁦S0⁩ تُنازل عن حقل المالك، بينما يبقى ⁦PAUSER⁩ مسندًا ومتحكم ترقية الوكيل مقدمًا لكن عتبته الداخلية مجهولة». يفيد هذا أكثر من تسمية قاطعة «لامركزي».

اسأل هل يفند صف متبقٍ واحد ادعاءً. تناقض «لا ضوابط ذات امتياز» قدرة حية مثبتة واحدة. قد يبقى ادعاء ضيق مثل «دور مالك ⁦Ownable⁩ غائب» مسنودًا حتى بفشل العبارة الواسعة. احفظ كليهما.

المصطلحات الأساسية

  • حالة التجميد: قيد عمليات على حساب رمز.
  • مالك ⁦Ownable:⁩ سلطة بنمط فحص مالك محدد.
  • حائز الدور: حساب يستوفي فحص عضوية محددًا.
  • متحكم الترقية: سلطة تحكم مسار تغيير شفرة.
  • المنارة: آلية ربط منطق الوكيل.
  • القفل الزمني: شرط يفرض تأخيرًا على عمليات محددة.

مثال تاريخي

⁦ILLUSTRATIVE⁩ — ⁦FIX-P08-04.⁩ كائنات خيالية منفصلة عند ⁦S0.⁩

السجلالكائنالتحكم/الحالة المقدمان
⁦F1⁩⁦SIM-SOL-A / MINT-F⁩سلطة الإصدار غائبة؛ سلطة التجميد ⁦F⁩
⁦F2⁩⁦ACCOUNT-U⁩ من ⁦MINT-F⁩غير مجمد، الرصيد ⁦100⁩
⁦F3⁩⁦ACCOUNT-V⁩ من ⁦MINT-F⁩مجمد، الرصيد ⁦50⁩؛ لم يقدم إسناد حدث
⁦P1⁩⁦SIM-EVM-A / PROXY-Q⁩يفوض إلى ⁦LOGIC-Q⁩ عند ⁦S0⁩
⁦P2⁩حالة تطبيق ⁦PROXY-Q⁩مالك ⁦Ownable⁩ غائب؛ ⁦PAUSER=P⁩؛ مسؤول الدور ⁦G⁩
⁦P3⁩مسار ترقية ⁦PROXY-Q⁩المتحكم ⁦C⁩؛ عتبة/تأخير ⁦C⁩ غير متاحين
⁦X1⁩⁦SIM-SOL-A / PROGRAM-X⁩تطبيق ⁦loader-v3⁩ مساعد؛ سلطة الترقية ⁦U⁩

ليس ⁦PROGRAM-X⁩ البرنامج ⁦Token Program⁩ الحاكم لـ ⁦MINT-F.⁩ لا تقدم البيانات آثار الشفرة الرابطة بين التطبيق المساعد وحساب الإصدار.

ما تثبته الأدلة

⁦OBSERVED⁩ في البيانات: تبقى ⁦F⁩ وتُجمد ⁦V⁩ وتبقى ⁦P/G⁩ وتُقدم ⁦C/U⁩ كسلطات ترقية.

⁦INFERRED:⁩ تناقض هذه القدرات المنفصلة «أزيلت كل الضوابط». المالك المتنازل عنه عبارة أضيق مسنودة عن ⁦P2.⁩

ما لا تثبته الأدلة

⁦UNKNOWN:⁩ قواعد ⁦C⁩ الداخلية والمتحكمون البشر ومن جمد ⁦V⁩ وآثار تطبيق ⁦PROGRAM-X⁩ بعينها.

⁦INSUFFICIENT EVIDENCE:⁩ لا يعني التجميد إتلاف رصيد ⁦V.⁩ لا يثبت مالك غائب غياب الأدوار أو الترقيات. لا تثبت ⁦U⁩ أن ⁦Token Program⁩ القياسي تتحكم فيه ⁦U.⁩

الأخطاء الشائعة

استخدام مالك دون كائنه وخلط رصيد مجمد بصفر وافتراض استبعاد حقل مسؤول وكيل فارغ كل الترقيات وتفسير تسمية توقيعات متعددة كتحكم مستقل متحقق منه ودمج سلطة برنامج مساعد بسلطة حساب الإصدار.

تمرين عملي

أنشئ أربع طبقات تحكم: حالة الحساب وأدوار حساب الإصدار وأدوار تطبيق ⁦EVM⁩ ومسارات تغيير التنفيذ. أعد كتابة «تُنازل عن كل الملكية فكل شيء ثابت». عدّد الأدلة التالية المطلوبة لـ ⁦C⁩ و ⁦V.⁩

عرض التصحيح المشروح

التصحيح المحلول والتعليل المتوقع

حالة الحساب: ⁦U⁩ غير مجمدة بمقدار ⁦100⁩؛ و ⁦V⁩ مجمدة بمقدار ⁦50.⁩ أدوار حساب الإصدار: سلطة الإصدار غائبة والتجميد ⁦F⁩ موجود. تطبيق ⁦EVM:⁩ المالك غائب و ⁦PAUSER P⁩ موجود ومسؤول الدور ⁦G.⁩ تغيرات الشفرة: متحكم ⁦PROXY-Q⁩ هو ⁦C⁩ ولـ ⁦PROGRAM-X⁩ المساعد ⁦U⁩، بنطاقات منفصلة.

إعادة كتابة محدودة: «عند ⁦S0⁩ يغيب دور مالك ⁦Ownable⁩ لـ ⁦PROXY-Q⁩، لكن تظل إدارة الإيقاف/الأدوار وتحكم الترقية مقدمين. تحتفظ ⁦MINT-F⁩ بالدور ⁦F⁩ وتُجمد ⁦V⁩ دون حدث مسند. لدى ⁦PROGRAM-X⁩ سلطة ترقية منفصلة؛ وآثاره على هذا الأصل غير محسومة».

لـ ⁦C⁩ اطلب شفرة/إعداد المتحكم والموقعين/العتبة أو التأخير ومسارات التجاوز المنطبقة. لـ ⁦V⁩ اطلب حدث تجميد ناجحًا والسياق وأدلة التخويل. احفظ ⁦50⁩؛ لا تسجّل حرقًا.

التقييم من عشر درجات: خريطة أربع طبقات (أربع)، وإعادة كتابة ضيقة (ثلاث)، وطلبات أدلة ⁦C/V⁩(اثنتان)، وفصل البرنامج/حساب الإصدار (واحدة).

قائمة التحقق

  • سمّ كائن كل حقل مالك.
  • افصل السلطة عن الحالة الحالية.
  • افحص الأدوار بعد تنازل الملكية.
  • حل المنطق ومسارات الترقية بالسياق نفسه.
  • تحقق من العتبات/التأخيرات بدل التسميات.
  • حدّ عدم قابلية التغيير بالكائن المراجع.

الملخص

التحكم طبقات. يثبت دور مزال حقيقة ضيقة؛ وتحتاج الأدوار الفعالة ومسارات تغيير الشفرة مراجعة منفصلة.

الملخص

التجميد قيد، لا حذف. تنازل المالك ليس تنازل كل التحكم. سلطات الوكيل والبرنامج وحساب الإصدار متمايزة.

مواصفات العناصر البصرية

خريطة أذونات بأربعة مسارات مع مواضع ⁦F1–F3,P1–P3,X1⁩؛ أظهر الرصيد المجمد ⁦50⁩ دون تغيير. ارسم ⁦PROXY-Q→LOGIC-Q⁩ ومتحكم ⁦C⁩ منفصلًا؛ واعزل ⁦PROGRAM-X/U⁩ عن ⁦MINT-F.⁩ سمّ إعداد ⁦C⁩ مجهولًا.

ضوابط بطبقات توضيحية؛ غياب المالك ادعاء ضيق.

استخدم ⁦SVG/HTML⁩ حتميًا أو رسومًا ببدائل نصية، وكحليًا داكنًا/أسود مع سماوي وأزرق كهربائي وبنفسجي باعتدال. سمّ كل كمية وعدم يقين. عند ⁦390px⁩ رتّب اللوحات رأسيًا؛ يبقى تحقق ⁦768px/⁩سطح المكتب و ⁦RTL⁩ العربي عملًا مستقبليًا للأصول. أبق المعرّفات ⁦LTR⁩ والمحاور الواقعية/اتجاهات الروابط دون تغيير. استخدم علامة ⁦BlockAssay⁩ الرسمية المقدمة وحدها إذا أُضيفت العلامة التجارية. كلا السجلين مواصفات، لا أصول مسلّمة.

الأدوات

استخدم ⁦RADAR⁩ لغرض الدرس التعليمي المحدود فقط إذا تحقق دعم الشبكة والهوية الدقيقة والحقول والمصدر والسياق. لا يقرر هذا المحتوى نقطة نهاية وقت تشغيل أو قدرة مزود. استخدم البيانات المضمنة دون اتصال ودون وصول مدفوع. تبقى البيانات المفقودة مجهولة؛ ولا حاجة لاتصال محفظة أو توقيع معاملة أو إطلاق رمز أو تداول مباشر. لا يغير التقدم في ⁦Academy⁩ والمدفوعات والإحالات أدلة ⁦Radar⁩ أبدًا. يحفظ ⁦Diagnostic Passport⁩ الملاحظات والحدود، لا توقع سعر أو شهادة سلامة.

المصادر وحدود الادعاءات

تدعم الوثائق الآليات، لا قيم البيانات الخيالية. جميع الأمثلة وسجلات التمارين مادة ⁦ILLUSTRATIVE⁩ أصلية مجمدة في هذا الملف. ⁦S0/S1⁩ تسميات سياق اصطناعية؛ ⁦observedAt⁩ هي ⁦null⁩ إذ لم يُجمع قياس لسجل مباشر أو تاريخي. أعد مراجعة الوثائق والسلوك المنشور الفعلي قبل أي نشر أو تكامل.

الدرس التالي

⁦P08-L05⁩ بعد التمرين المحلول ومراجعة الاختبار.

مواصفات العناصر البصرية

P08-L04-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

أي تحكم يبقى في كل طبقة؟

ضوابط بطبقات توضيحية؛ غياب المالك ادعاء ضيق.

خريطة أذونات بأربعة مسارات مع مواضع ⁦F1–F3,P1–P3,X1⁩؛ أظهر الرصيد المجمد ⁦50⁩ دون تغيير. ارسم ⁦PROXY-Q→LOGIC-Q⁩ ومتحكم ⁦C⁩ منفصلًا؛ واعزل ⁦PROGRAM-X/U⁩ عن ⁦MINT-F.⁩ سمّ إعداد ⁦C⁩ مجهولًا.

تبقى سلطة تجميد حساب الإصدار؛ يغيب مالك ⁦EVM⁩ لكن تبقى ⁦P,G,C⁩؛ ولبرنامج مساعد منفصل ⁦U.⁩

لوحات متراصة عند ⁦390px⁩ مع مكافئ نصي؛ تحقق لاحقًا من ⁦768px⁩ وسطح المكتب

تسميات وتنقل ⁦RTL⁩؛ المعرّفات معزولة ⁦LTR⁩؛ احفظ المحاور العددية وترتيب الأحداث واتجاه الروابط الواقعي.

FIX-P08-04

P08-L04-V02

SPECIFICATION_ONLY · ILLUSTRATIVE

أي ادعاء مسنود أو مشروط أو مجهول أو غير مسنود؟

حدود أدلة توضيحية؛ لا حكم سلامة أو استثمار.

أربعة صفوف مسماة ⁦OBSERVED/INFERRED/UNKNOWN/INSUFFICIENT EVIDENCE⁩ مرتبطة بادعاءات هذا الدرس ومعرّفات سجلاته. الملاحظات سجلات خيالية مقدمة، لا قياسات مباشرة.

أربعة صفوف لحالات الأدلة مع مواضع السجلات وخطوات التحقق التالية.

لوحات متراصة عند ⁦390px⁩ مع مكافئ نصي؛ تحقق لاحقًا من ⁦768px⁩ وسطح المكتب

تسميات وتنقل ⁦RTL⁩؛ المعرّفات معزولة ⁦LTR⁩؛ احفظ المحاور العددية وترتيب الأحداث واتجاه الروابط الواقعي.

FIX-P08-04

المصادر وحدود الادعاءات

S08-FREEZE · official_documentation_or_standard

تجميد حساب ⁦Solana⁩

الادعاء المدعوم
قيود حالة حساب متمايزة عن المقدار أو الملكية.
حدود التحقق
فُحصت الصفحة الأولية لدعم الآلية تحريريًا؛ ولم يُقَس أصل منشور أو مجموعة بيانات سجل بصورة مستقلة.
تاريخ التحقق
2026-09-30
فتح المصدر الأساسي
https://solana.com/docs/tokens/basics/freeze-account

S08-SET · official_documentation_or_standard

ضبط السلطة في ⁦Solana⁩

الادعاء المدعوم
تغيرات وإلغاء خاصة بالدور؛ لا حكم سلامة شامل.
حدود التحقق
فُحصت الصفحة الأولية لدعم الآلية تحريريًا؛ ولم يُقَس أصل منشور أو مجموعة بيانات سجل بصورة مستقلة.
تاريخ التحقق
2026-09-30
فتح المصدر الأساسي
https://solana.com/docs/tokens/basics/set-authority

S08-ACCESS · official_documentation_or_standard

التحكم بالوصول ⁦OpenZeppelin 5.x⁩

الادعاء المدعوم
أنماط امتياز ⁦Ownable⁩ وقائمة على أدوار؛ افحص التخويل المنشور الفعلي.
حدود التحقق
فُحصت الصفحة الأولية لدعم الآلية تحريريًا؛ ولم يُقَس أصل منشور أو مجموعة بيانات سجل بصورة مستقلة.
تاريخ التحقق
2026-09-30
فتح المصدر الأساسي
https://docs.openzeppelin.com/contracts/5.x/access-control

S08-PROXY · official_documentation_or_standard

حقول تخزين الوكيل ⁦ERC-1967⁩

الادعاء المدعوم
حقول التنفيذ والمنارة والمسؤول الاختياري؛ فحص خاص بالآلية.
حدود التحقق
فُحصت الصفحة الأولية لدعم الآلية تحريريًا؛ ولم يُقَس أصل منشور أو مجموعة بيانات سجل بصورة مستقلة.
تاريخ التحقق
2026-09-30
فتح المصدر الأساسي
https://eips.ethereum.org/EIPS/eip-1967

S08-DEPLOY · official_documentation_or_standard

نشر برامج ⁦Solana⁩

الادعاء المدعوم
سلطة ترقية برنامج ⁦Loader-v3⁩؛ لا دور إصدار رمز.
حدود التحقق
فُحصت الصفحة الأولية لدعم الآلية تحريريًا؛ ولم يُقَس أصل منشور أو مجموعة بيانات سجل بصورة مستقلة.
تاريخ التحقق
2026-09-30
فتح المصدر الأساسي
https://solana.com/docs/core/programs/program-deployment

S08-UUPS · official_documentation

وكيل ⁦OpenZeppelin 5.x⁩

الادعاء المدعوم
آليات ترقية ⁦Transparent⁩ والمنارة و ⁦UUPS⁩ القائم في التنفيذ؛ يحتاج التخويل الفعلي فحصًا.
حدود التحقق
فُحصت الوثائق الأولية؛ ولم يُراجع وكيل منشور.
تاريخ التحقق
2026-09-30
فتح المصدر الأساسي
https://docs.openzeppelin.com/contracts/5.x/api/proxy

منشأ مجموعة البيانات

id: FIX-P08-04

dataStatus: ILLUSTRATIVE

observedAt: null

source: Original frozen educational fixture embedded in lesson

timeBasis: Synthetic S0/S1 snapshots, not UTC observations or real blocks

identifiers: Deliberately invalid fictional network, asset and account labels; never use as transaction targets

scope: Fictional freeze-state, application-role and upgrade-control records on separate objects.

اختبر تعليلك

P08-L04-Q1 · ما رصيد ⁦V⁩ المقدم وهي مجمدة؟
P08-L04-Q2 · ماذا يتبع من مالك ⁦Ownable⁩ غائب و ⁦PAUSER=P⁩؟
P08-L04-Q3 · لدى ⁦C⁩ تسمية توقيعات متعددة دون إعداد. ما المثبت؟
P08-L04-Q4 · ماذا تحدد ⁦U⁩ لدى ⁦PROGRAM-X⁩؟
P08-L04-Q5 · حقل مسؤول ⁦ERC-1967⁩ فارغ. ما التالي؟