تشغيل مدقق
يغطي هذا الدليل كيفية إنشاء مدقق (validator) على شبكة QoreChain، وفهم نظام تصنيف المجمعات، وتسجيل مفتاح PQC للأمان المقاوم للحوسبة الكمية، ومراقبة عقدتك.
يستهدف هذا الدليل الشبكة الرئيسية qorechain-vladi (معرّف سلسلة EVM 9801)، الفعّالة منذ 7 يونيو 2026 وتعمل بإصدار السلسلة v3.1.95. يُنصح باستخدام الشبكة التجريبية qorechain-diana (معرّف سلسلة EVM 9800) للتدرب على إعدادك قبل الانتقال إلى الإنتاج الفعلي. استبدل قيمة --chain-id المناسبة لشبكتك المستهدفة.
المتطلبات الأساسية
- عقدة
qorechaindمتزامنة بالكامل (راجع الاتصال بالشبكة التجريبية) - حساب ممول بما لا يقل عن 100,000 QOR (100,000,000,000 uqor) للتفويض الذاتي الأولي — هذا الحد الأدنى مفروض على السلسلة، ويُرفض
create-validatorدونه - ترخيص
validator_operatorفعّال على حسابك — راجع الملاحظة أدناه؛ فبدونه يفشلcreate-validatorبرسالةErrUnauthorizedبغضّ النظر عن مقدار QOR الذي تودعه ذاتيًا - الإلمام بنموذج التخزين والتفويض
إنشاء مدقق
بوابة الترخيص: validator_operator
يخضع create-validator لفحصين مستقلين، كلاهما مفروض على السلسلة، وأنت بحاجة إلى كليهما — فالإيداع الذاتي الكبير وحده لا يكفي:
- حد أدنى للإيداع الذاتي قدره 100,000 QOR.
- ترخيص
validator_operatorفعّال على الحساب الذي يقدّم المعاملة.
قيمة expires_at في الترخيص هي ارتفاع كتلة (block height)، وليست تاريخًا أو مدة زمنية — القيمة 0 تعني بلا انتهاء صلاحية. إذا كان الترخيص مفقودًا أو منتهيًا، يفشل create-validator برسالة ErrUnauthorized بغضّ النظر عن مقدار الإيداع الذاتي؛ وهذا هو السبب الأكثر شيوعًا لفشل محاولة ممولة جيدًا دون تفسير واضح. توجد هذه البوابة تحديدًا لأن مسار تنفيذ EVM لا يمكنه رؤيتها أو فرضها (فوجود مُزيِّن (decorator) واحد في السلسلة هناك سيتيح تجاوزها بالكامل) — وهذا أحد أسباب بقاء التخزين والتحقق حصريًا على المسار الأصلي (Native).
qorechaind tx staking create-validator \
--amount 100000000000uqor \
--pubkey $(qorechaind comet show-validator) \
--moniker "my-validator" \
--commission-rate 0.10 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from mykey \
--gas auto \
--gas-adjustment 1.3 \
-y
| المعامل | الوصف |
|---|---|
--amount | مبلغ التفويض الذاتي — الحد الأدنى 100,000 QOR (100000000000uqor) |
--pubkey | المفتاح العام لإجماع المدقق (ed25519) |
--moniker | اسم مقروء يمثّل مدقّقك |
--commission-rate | معدل العمولة الأولي (مثال: 0.10 = 10%) |
--commission-max-rate | الحد الأقصى لمعدل العمولة (ثابت بعد الإنشاء) |
--commission-max-change-rate | الحد الأقصى للتغيير اليومي في معدل العمولة |
--min-self-delegation | الحد الأدنى من الرموز التي يجب على المشغّل تفويضها ذاتيًا |
بعد تأكيد المعاملة، تحقق من مدقّقك:
qorechaind query staking validator $(qorechaind keys show mykey --bech val -a)
تصنيف المجمعات
تستخدم QoreChain نظام تصنيف ثلاثي المجمعات تديره وحدة x/qca (تخصيص الإجماع الكمي). كل 1,000 كتلة، تتم إعادة تصنيف المدققين إلى واحد من ثلاثة مجمعات بناءً على سمعتهم وحصتهم:
| المجمع | المعايير | تخصيص الكتل |
|---|---|---|
| RPoS (إثبات الحصة القائم على السمعة) | السمعة >= المئين السبعين والحصة >= الوسيط | 40% من الكتل |
| DPoS (إثبات الحصة المفوَّض) | إجمالي التفويض >= 10,000 QOR | 35% من الكتل |
| PoS (إثبات الحصة) | جميع المدققين النشطين المتبقين | 25% من الكتل |
ضمن كل مجمع، يتم اختيار مقترحي الكتل باستخدام اختيار عشوائي مرجَّح يتناسب مع حصتهم الفعّالة. يضمن هذا التصنيف حصول المدققين ذوي السمعة العالية والتفويض المرتفع على تمثيل عادل، مع السماح في الوقت نفسه للمدققين الأصغر بالمشاركة.
الاستعلام عن تصنيف مجمعك
qorechaind query qca pool-classification $(qorechaind keys show mykey --bech val -a)
عبر JSON-RPC:
curl -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "qor_getPoolClassification",
"params": ["qorvaloper1..."],
"id": 1
}'
منحنى الربط (Bonding Curve)
يُحدَّد مقدار مكافأة التخزين للمدقق بواسطة منحنى ربط يدمج عوامل متعددة:
R = beta * S * (1 + alpha * log(1 + L)) * Q(r) * P(t)
| المتغير | الوصف |
|---|---|
R | مقدار المكافأة |
beta | معدل المكافأة الأساسي |
S | الحصة الفعّالة |
alpha | ثابت تحجيم الولاء |
L | مدة الولاء (زمن التخزين المستمر) |
Q(r) | عامل جودة السمعة، النطاق [0.75 - 1.25] |
P(t) | مضاعف مرحلة البروتوكول (يُعدَّل عبر دورة حياة الشبكة) |
أبرز النقاط:
- مكافأة مدة الولاء: يحصل المدققون الذين يخزّنون بشكل مستمر على مكافآت متزايدة عبر حد الولاء اللوغاريتمي. وهذا يحفّز الالتزام طويل الأمد.
- عامل جودة السمعة: يتراوح من 0.75 (سمعة ضعيفة) إلى 1.25 (سمعة ممتازة). تُحسب السمعة من وقت التشغيل، والمقترحات الناجحة، والمشاركة المجتمعية، وجودة التحقق من المعاملات.
- مضاعف مرحلة البروتوكول: يُعدَّل مع نضج الشبكة عبر مراحل مختلفة (البدء، النمو، النضج).
الخصم (Slashing)
عقوبات المخالفة الأساسية، القابلة للاستعلام حاليًا وقت كتابة هذا الدليل:
qorechaind query slashing params
| المعامل | القيمة |
|---|---|
| نافذة الكتل الموقَّعة | 10,000 كتلة (نحو 6 ساعات للتراكم) |
| الحد الأدنى للتوقيع ضمن النافذة | 95% (يُسجَن دون هذا الحد) |
| مدة السجن عند التوقف عن العمل | 600 ثانية (10 دقائق) |
| نسبة الخصم عند التوقف عن العمل | 1% من الحصة |
| نسبة الخصم عند التوقيع المزدوج | 5% من الحصة |
السجن هو مهلة ثابتة مدتها 10 دقائق بعقوبة ثابتة — وهو منفصل عن النموذج التصاعدي أدناه، الذي يضيف عواقب إضافية متصاعدة فوق المخالفات المتكررة على مدى أفق زمني أطول.
الخصم التصاعدي (Progressive Slashing)
تستخدم QoreChain نموذج خصم تصاعدي يصعّد العقوبات على المخالفين المتكررين مع السماح للمدققين بالتعافي بمرور الوقت:
penalty = base_rate * escalation^effective_count * severity
| المعامل | القيمة |
|---|---|
| الحد الأقصى للعقوبة لكل حدث | 33% من الحصة |
| عمر النصف للتحلل | 100,000 كتلة |
| شدة التوقف عن العمل | 1.0 |
| شدة التوقيع المزدوج | 2.0 |
| شدة هجوم العميل الخفيف | 3.0 |
-
تزيد كل مخالفة العدد الفعّال. تؤدي كل مخالفة (توقف عن العمل، توقيع مزدوج، إلخ) إلى زيادة العدد الفعّال للمدقق، مما يؤثر على العقوبات المستقبلية.
-
تتصاعد العقوبة أسّيًا. تتصاعد العقوبة بناءً على العدد الفعّال وفق الصيغة أعلاه، لذا يواجه المخالفون المتكررون عقوبات أكبر بكثير.
-
يتحلل العدد الفعّال بمرور الوقت. يتحلل العدد الفعّال بعمر نصف قدره 100,000 كتلة (~7 أيام عند كتل كل 6 ثوانٍ)، مما يسمح للمدققين بالتعافي بعد فترة من السلوك الجيد.
-
الأحداث الفردية مقابل المخالفات المتكررة. يؤدي حدث توقف عرضي واحد إلى عقوبة طفيفة، بينما تؤدي المخالفات المتكررة إلى عواقب متصاعدة أسّيًا.
تسجيل مفتاح PQC
سجّل مفتاحك العام لتشفير ما بعد الكم (PQC) — ML-DSA-87 — قبل التقدم بطلب ترخيص مدقق أو تشغيل create-validator. هذا الأمر ليس اختياريًا وليس تلقائيًا: تتطلب السلسلة توقيع PQC هجينًا على كل معاملة عبر مسار cosmos، وMsgCreateValidator ليس من أنواع الرسائل المستثناة، وعلى عكس الحساب العادي، الذي يسجّل مفتاحه تلقائيًا عند أول معاملة له، يجب على المدقق تشغيل هذا الأمر بنفسه، على عقدته الخاصة، مسبقًا.
qorechaind tx pqc register-key <pubkey-hex> hybrid \
--from mykey \
--gas 600000 \
-y
| المعامل | الوصف |
|---|---|
<pubkey-hex> | مفتاح عام من نوع ML-DSA-87 بحجم 2592 بايت بترميز hex |
hybrid | وضع التسجيل (هجين = كلاسيكي + PQC معًا) |
--gas صراحةًالمفتاح العام ML-DSA-87 بحجم 2,592 بايت، وكتابته على السلسلة تتجاوز حد الغاز الافتراضي البالغ 200,000. دون --gas 600000 (أو أعلى)، تفشل المعاملة برسالة خطأ غامضة out of gas in location: WritePerByte.
تحقق من التسجيل:
qorechaind query pqc key <account-address>
المراقبة
مقاييس Prometheus
تعرض QoreChain مقاييس Prometheus على المنفذ 26660:
http://localhost:26660/metrics
أبرز المقاييس التي يجب مراقبتها:
| المقياس | الوصف |
|---|---|
qorechain_missed_blocks_total | إجمالي الكتل التي فاتت مدقّقك |
qorechain_validator_uptime | نسبة وقت التشغيل خلال آخر N كتلة |
qorechain_reputation_score | درجة السمعة الحالية |
qorechain_pool_classification | تخصيص المجمع الحالي (0=PoS، 1=DPoS، 2=RPoS) |
qorechain_consecutive_signed | الكتل المتتالية الموقَّعة |
consensus_height | ارتفاع الكتلة الحالي |
consensus_rounds | جولات الإجماع للارتفاع الحالي |
الاستعلام عن درجة السمعة
qorechaind query reputation score $(qorechaind keys show mykey --bech val -a)
عبر JSON-RPC:
curl -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "qor_getReputationScore",
"params": ["qorvaloper1..."],
"id": 1
}'
فحوصات السلامة
# Node status
qorechaind status | jq '.sync_info'
# Validator signing info (uptime, missed blocks)
qorechaind query slashing signing-info $(qorechaind comet show-validator)
# Check if your validator is in the active set
qorechaind query staking validators --status bonded | grep "my-validator"
أفضل الممارسات التشغيلية
-
استخدم بنية عقد الحراسة (sentry nodes). شغّل مدقّقك خلف عقد حراسة لحمايته من هجمات DDoS. اكشف فقط عقد الحراسة للشبكة العامة.
-
أعدّ نظام تنبيهات. اضبط تنبيهات للكتل الفائتة، وانخفاض وقت التشغيل، وإعادة التشغيل غير المتوقعة. فوات بضع كتل أمر طبيعي؛ أما الفوات المستمر فسيؤدي إلى الخصم.
-
حافظ على وقت تشغيل مرتفع. يكافئ نظام السمعة استمرارية وقت التشغيل. يؤدي التوقف الممتد إلى تدهور عامل جودة سمعتك، مما يقلل المكافآت.
-
حافظ على تحديث البرمجيات. تابع إصدارات QoreChain وطبّق التحديثات فورًا. نسّق مع مجتمع المدققين عند ترقيات السلسلة.
-
أمّن مفاتيحك. استخدم وحدة أمان أجهزة (HSM) أو موقّع عن بُعد لمفتاح إجماع المدقق. لا تخزّن المفاتيح أبدًا على نفس الجهاز الذي تعمل عليه العقدة.
-
سجّل مفتاح PQC. احمِ مدقّقك مستقبلًا من التهديدات الكمية بتسجيل مفتاح ML-DSA-87.
-
راقب مجمعك. تابع تصنيف مجمعك كل 1,000 كتلة. يمكن أن يؤدي تحسين سمعتك إلى الانتقال من PoS إلى RPoS، مما يزيد بشكل كبير من فرص اقتراح الكتل.
مرجع أوامر المدقق
# Edit validator metadata
qorechaind tx staking edit-validator \
--moniker "new-name" \
--website "https://myvalidator.com" \
--details "Description of my validator" \
--from mykey -y
# Unjail after downtime slashing
qorechaind tx slashing unjail --from mykey -y
# Delegate additional stake
qorechaind tx staking delegate $(qorechaind keys show mykey --bech val -a) \
500000000uqor --from mykey -y
# Withdraw rewards
qorechaind tx distribution withdraw-rewards $(qorechaind keys show mykey --bech val -a) \
--commission --from mykey -y
التحقق من الشبكات المتصلة
اعتبارًا من إصدار السلسلة v3.1.80، يمكن لمدقق QoreChain أيضًا المساعدة في التحقق من الشبكات المتصلة عبر الجسر. هذا الأمر مقيّد بترخيص واختياري:
- امتلك الترخيص. يجب أن يمتلك المدقق ترخيصًا فعّالًا من نوع
validator_<chain>(أوqcb_bridge) للشبكة المستهدفة. يرفض المنسّق تشغيل عميل خارجي دون ذلك (فشل مغلق). - يوفّر التفعيل العميل تلقائيًا. عند تفعيل الترخيص، توفّر QoreChain عميل الشبكة المطابقة على عقدتك — بتنزيل العميل المثبَّت، وإنشاء إعداداته، وتشغيله تحت إشراف تنسيق QoreChain. لا يتم جلب أي شيء قبل التفعيل.
- زوّد مفاتيح وحصة الشبكة. مفاتيح المدقق/الحصة والتوقيع الخاصة بالشبكة الخارجية يوفّرها المشغّل لكل شبكة؛ توفّر QoreChain إطار عمل المشغّلات وبوابة الترخيص المفروضة، وليس حصتك في السلسلة الخارجية.
توجد مشغّلات لجميع شبكات الجسر البالغ عددها 37، مصنَّفة حسب طريقة مشاركة المدقق:
| الفئة | المشاركة | أمثلة |
|---|---|---|
| مدقق بلا إذن | التخزين والتشغيل | Solana, Ethereum, Avalanche, Sui, Aptos, Cardano, Tezos, Algorand, Starknet |
| محدود / بالانتخاب / بالقبول | التخزين، خاضع لحد أقصى أو انتخاب | BSC, Polygon, Polkadot, TRON, Sei, Injective, NEAR, Hedera |
| عقدة كاملة من الطبقة الثانية (L2) | تشغيل عقدة كاملة (بدون تخزين) | Optimism, Base, zkSync Era, Linea, Scroll, Arbitrum |
| بدون تخزين / قائمة ثقة | المراقبة / المشاركة بدون تخزين | Bitcoin, Filecoin, XRPL, Stellar |
تثبيت إصدارات العميل (client version pins) هو أفضل جهد ممكن؛ تحقق من إصدار العميل الرسمي (upstream) لشبكتك المستهدفة قبل أي تفعيل في بيئة الإنتاج.
الخطوات التالية
- البناء من المصدر — بناء الملف الثنائي
qorechaind - تطوير EVM — نشر عقود ذكية على QoreChain
- تجريد الحسابات — حسابات قابلة للبرمجة لعمليات مدقّقك