شراء العملات المشفرة
الأسواق
العقود الفورية
العقود الآجلةBTC
مدخرات
مركز الأحداث
مركز المكافآت
المزيد
مهرجان صفر رسوم
Nonce دائم: ما المقصود بـNonce دائم؟Nonce الدائم قيمة مستمرة تُخزّن في حساب خاص على Solana، وتتيح للمعاملة أن تظل قابلة للاستخدام بعد انتهاء صلاحية تجزئة الكتلة الحديثة المعتادة.تتضمن معاملات Solana العادية تجزئةNonce دائم: ما المقصود بـNonce دائم؟Nonce الدائم قيمة مستمرة تُخزّن في حساب خاص على Solana، وتتيح للمعاملة أن تظل قابلة للاستخدام بعد انتهاء صلاحية تجزئة الكتلة الحديثة المعتادة.تتضمن معاملات Solana العادية تجزئة

Nonce دائم

2026/10/13 15:29
#Advanced
Humanity
H$0.05692-0.71%
PX
PX$0.0112+1.81%
Core DAO
CORE$0.01766+0.45%
Solana
SOL$104.47-0.04%

ما المقصود بـNonce دائم؟

Nonce الدائم قيمة مستمرة تُخزّن في حساب خاص على Solana، وتتيح للمعاملة أن تظل قابلة للاستخدام بعد انتهاء صلاحية تجزئة الكتلة الحديثة المعتادة.

تتضمن معاملات Solana العادية تجزئة كتلة حديثة تظل صالحة لمدة 150 خانة فقط.

لا يمكن عادةً إرسال معاملة لم تُعالج قبل انتهاء صلاحية تجزئة الكتلة الحديثة بنجاح باستخدام الرسالة الموقعة نفسها.

يستبدل Nonce الدائم تجزئة الكتلة قصيرة الأجل بقيمة مخزنة تظل قابلة للاستخدام إلى أن يُحدّث حساب Nonce أو تتغير قيمته بطريقة أخرى.

وهذا يجعل Nonce الدائم مفيدًا للتوقيع دون اتصال بالإنترنت، وإرسال المعاملات المتأخر، والموافقة متعددة الأطراف، وعمليات التخزين البارد، وسير العمل المجدول، والمؤسسات التي لا يستطيع الموقّعون فيها الموافقة على معاملة خلال فترة وجيزة.

توضح وثائق Solana الرسمية الخاصة بـNonce الدائم أن الآلية تزيل نافذة انتهاء الصلاحية المعتادة البالغة 150 خانة، باستخدام قيمة Nonce مخزنة في حساب على السلسلة.

لا تجعل Nonce الدائم المعاملة دائمة الصلاحية في جميع الظروف.

تصبح المعاملة غير صالحة إذا تغير Nonce المخزن أو أُغلق حساب Nonce أو تغيرت الصلاحية المطلوبة أو استهلكت معاملة أخرى قيمة Nonce نفسها بنجاح.

لماذا تنتهي صلاحية معاملات Solana عادةً؟

يتضمن حقلًا باسم

recent_blockhash
كلٌّ من معاملات Solana العادية.

تعمل تجزئة الكتلة كمرجع محدود المدة يثبت إنشاء المعاملة حديثًا.

وتساعد أيضًا على منع إعادة إرسال معاملة سبق تنفيذها مرارًا.

يقارن المدققون تجزئة الكتلة في المعاملة بقائمة تجزئات الكتل الحديثة على الشبكة.

يقبل مسار معالجة معاملات Solana الحالي تجزئة الكتلة العادية فقط عندما يكون عمرها ضمن الحد الأقصى لعمر المعالجة، وهو 150 خانة.

وبمجرد أن تصبح تجزئة الكتلة قديمة جدًا، يرفض المدققون المعاملة قبل تنفيذ تعليماتها.

تحمي آلية انتهاء الصلاحية الشبكة من إعادة التشغيل إلى أجل غير مسمى، كما تحد من المدة التي يجب أن يتعامل فيها المدققون مع معاملة عادية موقعة على أنها قابلة للتنفيذ.

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

لماذا نحتاج إلى Nonce دائم؟

لا يمكن إنشاء بعض معاملات العملات المشفرة والموافقة عليها وإرسالها خلال جلسة قصيرة عبر الإنترنت.

قد تشترط شركة الحصول على توقيعات من موظفين في عدة بلدان.

وقد تحتفظ الخزانة بمفاتيح التوقيع على حاسوب معزول لا يتصل بالإنترنت مباشرةً مطلقًا.

وقد تتطلب عملية عالية الأمان مراجعات تقنية ومالية ومراجعات امتثال قبل بث المعاملة.

وقد يتطلب سير عمل متعدد التوقيعات توقيع عدة أجهزة مادية للمعاملة نفسها في أوقات مختلفة.

وقد يُعِد تطبيق دفع المعاملات خلال فترة تشغيل ويرسلها لاحقًا.

يتطلب استخدام تجزئة كتلة حديثة عادية إعادة بناء الرسالة كاملة وتوقيعها كلما انتهت صلاحية التجزئة.

يتيح Nonce الدائم للأطراف توقيع رسالة معاملة واحدة ثابتة وإرسالها بعد انتهاء نافذة صلاحية تجزئة الكتلة العادية.

ما حساب Nonce؟

حساب Nonce هو حساب خاص مملوك لبرنامج النظام على Solana.

يخزن الحالة اللازمة لدعم معاملات Nonce الدائمة.

يحتوي حساب Nonce مهيأ على مفتاح عام للجهة المخولة وقيمة Nonce دائمة ومعدل الرسوم بوحدة lamports لكل توقيع المسجل عند آخر تحديث لـNonce.

تحدد الجهة المخولة الحساب المسموح له بتحديث Nonce أو تغيير الجهة المخولة أو السحب من حساب Nonce.

قيمة Nonce الدائمة تجزئة مشتقة من تجزئة كتلة حديثة ومخزنة للاستخدام لاحقًا.

وتحفظ القيمة المتعلقة بالرسوم المعلومات اللازمة لعملية احتساب رسوم المعاملة.

يجب أن يحتوي حساب Nonce على SOL كافٍ لاستيفاء شرط الإعفاء من الإيجار المطبق ما دام نشطًا.

ينبغي للتطبيقات الاستعلام من الشبكة عن الحد الأدنى الحالي للرصيد بدلًا من تثبيت مبلغ تقديري بصورة دائمة في الشيفرة.

الفرق بين Nonce الدائم وتجزيء الكتلة الحديثة

تُستحصل تجزئة كتلة حديثة من الشبكة قبل وقت قصير من توقيع معاملة عادية.

وتنتهي صلاحيتها بعد نافذة المعالجة المحدودة للشبكة.

أما Nonce الدائم فيُكتب في حساب على السلسلة ويظل متاحًا بعد أن تفقد تجزئة الكتلة التي اشتُق منها حداثتها.

لا تحتاج المعاملة العادية إلى إنشاء حساب Nonce أو تعديله.

لكن معاملة Nonce الدائم يجب أن تشير إلى حساب Nonce وتتضمن تعليمة محددة لتحديثه.

المعاملات العادية أبسط، وينبغي استخدامها عمومًا عندما يستطيع المستخدمون التوقيع والإرسال بسرعة.

يضيف Nonce الدائم متطلبات لإدارة الحساب والتوقيع وحجم المعاملة والرسوم والعمليات.

الفرق بين Nonce الدائم ورقم تسلسل الحساب

يُستخدم مصطلح Nonce بمعانٍ مختلفة عبر أنظمة العملات المشفرة.

تستخدم بعض البلوكتشينات القائمة على الحسابات رقم معاملة متزايدًا للحساب لترتيب المعاملات ومنع إعادة تشغيلها.

Nonce الدائم في Solana ليس عدّاد معاملات متزايدًا باستمرار ومرتبطًا بكل محفظة.

بل هو تجزئة مخزنة في حساب مخصص لبرنامج النظام.

وتُوضع القيمة في حقل

recent_blockhash
ضمن المعاملة، ثم تُستبدل عند تحديث Nonce.

ينبغي للمطورين عدم تطبيق افتراضات عدّاد المعاملات من بلوكتشين آخر على حسابات Nonce في Solana.

آلية عمل معاملة Nonce دائم

تبدأ العملية بإنشاء حساب Nonce وتهيئته.

يُعيّن المنشئ جهة مخولة للـNonce تتولى التحكم بعمليات Nonce المستقبلية.

يقرأ التطبيق قيمة Nonce الدائمة المخزنة في الحساب.

ثم ينشئ معاملة باستخدام تلك القيمة في حقل

recent_blockhash
ضمن رسالة المعاملة.

وتضع المعاملة تعليمة

AdvanceNonceAccount
في أول قائمة التعليمات.

توقّع الحسابات المطلوبة رسالة المعاملة المتسلسلة بالكامل.

يمكن إنشاء التوقيعات دون اتصال بالإنترنت، لأن قيمة Nonce المخزنة لا تنتهي صلاحيتها بعد 150 خانة.

تُنقل المعاملة الموقعة إلى نظام متصل بالإنترنت وتُرسل عندما تكون المؤسسة مستعدة.

يتحقق المدقق من صلاحية حساب Nonce، وتطابق القيمة المخزنة مع المعاملة، وتوقيع الجهة المخولة للـNonce.

يُحدّث Nonce قبل تنفيذ تعليمات المعاملة المتبقية.

تعليمة AdvanceNonceAccount

تطلب تعليمة

AdvanceNonceAccount
من برنامج النظام استبدال قيمة Nonce المخزنة بقيمة جديدة.

هذه التعليمة ضرورية للحماية من إعادة تشغيل معاملات Nonce الدائمة.

لا يتعرف وقت تشغيل المعاملة إلى معاملة Nonce دائمة إلا إذا كانت

AdvanceNonceAccount
أول تعليمة.

يجب تقديم حساب Nonce في موضع الحساب المطلوب، وأن يكون قابلًا للكتابة.

ويجب أن توقّع الجهة المخولة للـNonce المعاملة.

إذا وُضعت التعليمة في موضع لاحق ضمن المعاملة، فقد يعامل وقت التشغيل المعاملة باعتبارها معاملة عادية منتهية الصلاحية بدلًا من معاملة Nonce دائمة صالحة.

توضح قواعد اكتشاف Nonce الرسمية شرط وضع التعليمة أولًا.

لماذا يجب تحديث Nonce؟

يجب ألا تُستخدم قيمة Nonce الدائمة إلا مرة واحدة.

من دون تحديثها، قد يعيد مهاجم أو إجراء غير مقصود إرسال المعاملة الموقعة نفسها مرارًا.

يستبدل تحديث الحساب قيمة Nonce القديمة بقيمة جديدة مشتقة من حالة الشبكة الحالية.

تصبح عندئذ أي معاملة معلقة أخرى تستخدم القيمة السابقة غير صالحة.

وهذا يعني أنه لا ينبغي عادةً أن تعتمد عدة معاملات موقعة على قيمة Nonce مشتركة واحدة إذا كان متوقعًا تنفيذها جميعًا.

تُحدّث أول معاملة مقبولة الحساب وتبطل المعاملات الأخرى التي أُنشئت باستخدام القيمة القديمة.

ينبغي عمومًا استخدام حسابات Nonce منفصلة لسير العمل المؤجل المتوازي.

الجهة المخولة للـNonce

الجهة المخولة للـNonce هي المفتاح العام المصرح له بالتحكم بالعمليات المهمة المرتبطة بحساب Nonce.

يجب أن توقّع هذه الجهة المعاملة التي تُحدّث Nonce.

كما يجب أن توافق على تغيير الجهة المخولة.

وتلزم صلاحيتها عند سحب الأموال من حساب Nonce.

توثق واجهة حساب Nonce لبرنامج النظام الحالية متطلبات الصلاحية هذه.

ليس من الضروري أن تكون الجهة المخولة هي الحساب نفسه الذي يدفع رسوم المعاملة.

يمكن لفصل هاتين المسؤوليتين دعم السياسات الأمنية للمؤسسات.

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

دافع الرسوم مقابل الجهة المخولة للـNonce

دافع الرسوم هو الحساب الذي يدفع الرسوم الأساسية للمعاملة وأي رسوم أولوية.

أما الجهة المخولة للـNonce فتجيز استهلاك قيمة Nonce الدائمة المخزنة.

يمكن لحساب واحد أداء الدورين، لكنهما منفصلان من الناحية المنطقية.

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

يوقّع كل موقّع مطلوب رسالة المعاملة نفسها.

يؤدي تغيير دافع الرسوم عادةً إلى تغيير الرسالة، ومن ثم إبطال التوقيعات الموجودة، ما لم يستخدم سير العمل تنسيقًا مستقبليًا مصممًا خصيصًا للفصل بين هذه الخطوات.

التوقيع دون اتصال بالإنترنت

يبقي التوقيع دون اتصال المفاتيح الخاصة بعيدة عن الأجهزة المتصلة بالإنترنت.

يمكن لنظام متصل بالإنترنت جمع معلومات الحساب وإنشاء معاملة Nonce دائم غير موقعة.

تُنقل الرسالة المتسلسلة إلى جهاز توقيع غير متصل عبر وسيط خاضع للضبط أو عملية أخرى قابلة للتدقيق.

يتحقق الجهاز غير المتصل من المعاملة وينشئ التوقيع المطلوب.

ثم تُعاد المعاملة الموقعة إلى نظام متصل بالإنترنت لإرسالها.

يظل Nonce صالحًا خلال هذه العملية ما دام حساب Nonce لم يُحدّث أو يتغير.

يقلل التوقيع دون اتصال التعرض المباشر للشبكة، لكنه لا يحمي من معاملة صيغت على نحو ضار.

يجب على الموقّع التحقق من الوجهة والمبلغ وعناوين البرامج وسكّ التوكنات والجهات المخولة والرسوم وكل تعليمة مهمة قبل التوقيع.

الموافقة متعددة التوقيعات ومتعددة الأطراف

تفيد Nonces الدائمة عند اشتراط توقيع عدة أطراف للمعاملة نفسها.

قد تنتهي صلاحية تجزئة كتلة عادية أثناء انتقال الرسالة بين الموقّعين.

توفر القيمة المخزنة في Nonce لكل موقّع وقتًا أطول لفحص الرسالة نفسها والموافقة عليها.

يمكن تجميع مجموعة التوقيعات النهائية وبثها بعد استكمال كل الموافقات المطلوبة.

يجب أن تحافظ العملية على الرسالة المتسلسلة نفسها تمامًا، لأن تغيير أي تعليمة أو عنوان أو معلمة رسوم أو علامة حساب يبطل التوقيعات.

كما يجب أن يظل حساب Nonce دون تغيير طوال عملية الموافقة.

ينبغي للمؤسسات مراقبة حساب Nonce لاكتشاف أي تحديث أو تغيير غير متوقع في الجهة المخولة قبل الإرسال.

التنفيذ المؤجل

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

لا تنفذ البلوكتشين المعاملة تلقائيًا في تاريخ مستقبلي محدد لمجرد استخدام Nonce دائم.

ولا يزال على مستخدم أو خادم أو نظام آلي أو مرحّل إرسال المعاملة الموقعة.

لذلك، تحتاج التطبيقات التي تقدم مدفوعات مجدولة إلى مجدول خارج السلسلة أو تصميم جدولة على السلسلة، بالإضافة إلى Nonce الدائم.

ينبغي للنظام المُرسِل التحقق من بقاء Nonce الحالي قبل البث مباشرةً.

وينبغي له أيضًا التحقق من استمرار انطباق شروط العمل المقصودة.

قد تتغير حالة المعاملة قبل إرسالها

قد تظل معاملة Nonce الدائم موقعة بينما تتغير حالة البلوكشين المحيطة بها.

قد تزيد أرصدة الحسابات أو تنخفض.

وقد يُجمّد حساب توكن أو يُغلق.

وقد يُرقّى عقد ذكي.

وقد يتغير سعر أوراكل.

وقد يغير قرار حوكمة معلمات البرنامج.

وقد لا تعود حالة حساب المستلم كما كان متوقعًا.

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

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

الحماية من إعادة التشغيل

تمنع الحماية من إعادة التشغيل تنفيذ مجموعة التعليمات الموقعة نفسها مرارًا.

تعتمد معاملة Solana العادية جزئيًا على انتهاء صلاحية تجزئة الكتلة الحديثة وتتبع الشبكة للمعاملات المعالجة.

أما معاملة Nonce الدائم فتعتمد على القيمة المخزنة لمرة واحدة في حساب Nonce.

بمجرد أن يقبل المدقق هذه القيمة ويحدّثها، لا تعود الرسالة القديمة مطابقة للحساب.

لذلك، ستفشل إعادة إرسال المعاملة نفسها في التحقق من Nonce.

تعتمد هذه الحماية على وضع تعليمة التحديث على النحو الصحيح واشتراط توقيع الجهة المخولة الصحيحة للـNonce.

ماذا يحدث عند نجاح معاملة Nonce دائم؟

يتحقق المدقق من تطابق Nonce المخزن مع قيمة

recent_blockhash
في المعاملة.

ويتحقق من تهيئة حساب Nonce وملكيته لبرنامج النظام.

كما يتحقق من توقيع الجهة المخولة للـNonce على المعاملة.

يحدّث وقت التشغيل قيمة Nonce إلى قيمة جديدة.

ثم تُنفذ التعليمات المتبقية بالترتيب.

إذا نجحت كل التعليمات المطلوبة، تُعتمد تغييرات الحالة وNonce المحدّث.

تُخصم رسوم المعاملة من دافع الرسوم.

ولا يمكن تنفيذ المعاملة الموقعة القديمة مجددًا بعد استهلاك Nonce الخاص بها.

ماذا يحدث عند فشل التنفيذ؟

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

إذا اجتازت المعاملة التحقق من Nonce ودافع الرسوم، ثم فشلت تعليمة لاحقة، تُلغى تغييرات التعليمات العادية.

لكن يظل تحديث Nonce معتمدًا.

وتُحصّل رسوم المعاملة أيضًا.

توضح وثائق Solana الرسمية بشأن سلوك الفشل أن ذلك يمنع إعادة تشغيل المعاملة الموقعة نفسها إلى أن تنجح في نهاية المطاف.

لذلك، تستهلك معاملة Nonce دائم فاشلة قيمة Nonce الخاصة بها.

ويجب على المستخدم جلب Nonce الجديد وإعادة إنشاء المعاملة وجمع توقيعات جديدة قبل المحاولة مجددًا.

ماذا يحدث عند فشل التحقق؟

قد تفشل المعاملة قبل اعتبار Nonce صالحًا.

تشمل الأسباب المحتملة غياب حساب Nonce أو استهلاك Nonce مسبقًا أو عدم تطابق القيمة المخزنة مع المعاملة أو غياب توقيع الجهة المخولة.

عندما يفشل التحقق من Nonce في هذه المرحلة، تُسقط المعاملة من دون تنفيذ تعليماتها.

وفق السلوك الموثق الحالي، لا تُحصّل رسوم ولا يُعتمد أي تغيير للحالة في حالة فشل التحقق هذه.

ينبغي للتطبيق تحديد الخطأ بدقة بدلًا من إعادة بث المعاملة غير القابلة للاستخدام نفسها مرارًا.

مخاطر التأكيد وإعادة المحاولة

يجب أن يحدد التطبيق المُرسِل ما إذا عولجت معاملة Nonce الدائم بنجاح، أو عولجت مع خطأ في التنفيذ، أو لم تُقبل مطلقًا.

قد يؤدي إنشاء معاملة بديلة وإرسالها دون تحقق إلى تكرار إجراء تجاري عن غير قصد، إذا كانت المعاملة الأصلية قد نجحت بالفعل.

كما أن إعادة إرسال المعاملة الأصلية بلا تحقق لن تفيد بعد استهلاك Nonce الخاص بها.

ينبغي للتطبيقات الاستعلام عن حالة المعاملة وفحص حساب Nonce.

وعلى النظام التمييز بين نهائية المعاملة ونجاح تنفيذ تعليماتها.

فقد يتضمن سجل معاملة نهائية خطأً في التنفيذ.

ينبغي للأنظمة التشغيلية مطابقة التغييرات المتوقعة في الأرصدة والحسابات بدلًا من الاعتماد على وجود توقيع للمعاملة وحده.

رسوم المعاملات

تتطلب كل معاملة على Solana رسومًا تُدفع بعملة SOL.

توضح وثائق رسوم Solana الحالية رسومًا أساسية قدرها 5,000 lamports لكل توقيع، بالإضافة إلى رسوم أولوية اختيارية.

تتطلب معاملة Nonce دائم تعليمة تحديث Nonce ومراجع الحسابات ذات الصلة، لكنها لا تتجنب رسوم التوقيع العادية.

يزيد الموقّعون الإضافيون الرسوم الأساسية.

قد تستهلك المعاملة الفاشلة Nonce وتُحصّل رسومها بعد اجتيازها مرحلة التحقق المعنية.

ينبغي للتطبيقات الاحتفاظ بما يكفي من SOL في حساب دافع الرسوم، وتمويل حساب Nonce بما يكفي لاستيفاء الإعفاء من الإيجار.

رسوم الأولوية

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

لكنها لا تضمن إدراج المعاملة أو نجاح تنفيذها.

تخضع معاملات Nonce الدائم لمتطلب خاص لترتيب التعليمات عند تضمين تعليمات ميزانية الحوسبة.

يجب أن تظل تعليمة

AdvanceNonceAccount
في الموضع الأول.

ويجب ألا توضع تعليمات سعر وحدة الحوسبة وحدها قبلها.

تحذر إرشادات تكامل Solana الرسمية من أن وضع تعليمات ميزانية الحوسبة أولًا قد يمنع وقت التشغيل من اكتشاف معاملة Nonce الدائم على النحو الصحيح.

تمويل حساب Nonce والإعفاء من الإيجار

يحتوي حساب Nonce على بيانات، ولذلك يجب أن يحافظ على رصيد الشبكة المطلوب للإعفاء من الإيجار ما دام نشطًا.

ينبغي الحصول على الحد الأدنى الدقيق عبر استعلام الشبكة المناسب لحجم بيانات حساب Nonce.

لا يجوز أن يؤدي السحب الجزئي إلى إبقاء الحساب برصيد موجب يقل عن الحد الأدنى المطلوب للإعفاء من الإيجار.

ستفشل المعاملة التي تحاول إنشاء هذه الحالة.

يؤدي سحب الرصيد كاملًا بنجاح إلى إغلاق حساب Nonce.

توثق واجهة سحب Nonce الحالية قواعد الرصيد هذه.

إغلاق حساب Nonce

يمكن إغلاق حساب Nonce بسحب كامل رصيد SOL منه عبر تعليمة مصرح بها.

يجب أن توافق الجهة المخولة للـNonce على السحب.

يؤدي إغلاق الحساب إلى إبطال كل معاملة غير مرسلة تعتمد على Nonce المخزن فيه.

لذلك، ينبغي للمؤسسات التحقق من عدم وجود معاملات موقعة معلقة قبل سحب الرصيد كاملًا.

ينبغي أن تحدد السجلات حسابات Nonce النشطة، والمعاملات التي تستخدمها، والحسابات الآمنة للإغلاق.

تغيير الجهة المخولة للـNonce

يمكن للجهة المخولة الحالية تعيين جهة جديدة عبر تعليمة مصرح بها من برنامج النظام.

قد يكون تدوير الصلاحية مفيدًا عند مغادرة موظف أو نقل مفتاح أو تغيير سياسة الحفظ أو وقوع حادث أمني.

قد تصبح المعاملة المعلقة التي تتطلب الجهة المخولة القديمة غير صالحة بعد تغييرها.

ينبغي التحقق بعناية من الجهة المخولة الجديدة قبل إرسال التغيير.

قد يؤدي تعيين مفتاح عام غير صحيح أو يتعذر الوصول إليه إلى تعطيل الاستخدام المستقبلي لحساب Nonce.

ينبغي توثيق تغييرات الجهة المخولة وتنسيقها مع كل سير عمل معلق للتوقيع دون اتصال.

معاملة واحدة معلقة لكل قيمة Nonce

يمكن تقنيًا إعداد عدة معاملات باستخدام قيمة Nonce المخزنة نفسها.

لكن معاملة واحدة فقط من تلك المعاملات المتعارضة تستطيع استهلاك القيمة بنجاح.

تحدّث أول معاملة مقبولة Nonce وتجعل المعاملات الأخرى غير صالحة.

ينبغي لسير العمل الذي يتوقع تنفيذ عدة معاملات مؤجلة بصورة مستقلة إنشاء عدة حسابات Nonce.

يؤدي استخدام حساب واحد لعدة معاملات معلقة إلى تنافسها بدلًا من وضعها في قائمة انتظار.

لا يخزن حساب Nonce قائمة بالمعاملات المستقبلية.

Nonces الدائمة والتخزين البارد

يبقي التخزين البارد المفاتيح الخاصة المهمة بعيدة عن الأنظمة المتصلة بالإنترنت عادةً.

يتيح Nonce الدائم لموقّع بارد الموافقة على معاملة من دون سباق مع انتهاء صلاحية تجزئة الكتلة العادية.

ينبغي التعامل مع نظام إنشاء المعاملة المتصل بالإنترنت على أنه غير موثوق، لأنه قد يُعد معاملة ترسل الأصول أو تغيّر الجهات المخولة.

يجب أن تفك البيئة الباردة ترميز المعاملة كاملة وتعرض معناها قبل التوقيع.

ينبغي للمؤسسات التحقق من عناوين البرامج وصلاحيات الحسابات وإعدادات الرسوم وسكّ التوكنات وعناوين المستلمين ومبالغ المعاملات.

كما يتطلب نقل المعاملات المتسلسلة عبر وسائط قابلة للإزالة ضوابط للبرمجيات الخبيثة وإجراءات للتحقق من سلامة الملفات.

Nonces الدائمة وعمليات الخزانة

قد تستخدم خزائن العملات المشفرة Nonces دائمة لعمليات السحب التي تتطلب عدة مستويات من الموافقة.

يمكن إعداد معاملة بعد تقديم طلب داخلي وتوقيعها من موظفين مخولين في مواقع مختلفة.

ويمكن للمشغّل النهائي إرسالها بعد التأكد من اكتمال كل الموافقات.

ينبغي أن تربط إجراءات الخزانة القوية كل حساب Nonce بطلب معاملة موثق واحد.

وينبغي أن تمنع المؤسسة أي قسم من تحديث حساب Nonce أو إغلاقه على نحو غير متوقع.

كما ينبغي تحديد الإجراء المتبع عند فشل المعاملة بعد استهلاك Nonce.

Nonces الدائمة والمدفوعات المجدولة

يمكن أن يدعم Nonce الدائم دفعة مجدولة عبر الحفاظ على معاملة موقعة حتى موعد إرسالها المحدد.

لكنه لا يفرض الجدول الزمني على السلسلة بمفرده.

قد يرسل المرحّل المعاملة قبل الموعد المقصود ما لم تمنع آلية أخرى التنفيذ المبكر.

ينبغي للموقّعين ألا يسلموا معاملة Nonce دائمة مخولة بالكامل إلى طرف غير موثوق عندما يكون توقيت التنفيذ حساسًا.

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

ينبغي أن يراعي التصميم المختار ما يحدث إذا أصبح المجدول غير متاح.

Nonces الدائمة ومعاملات العقود الذكية

يمكن استخدام Nonce دائم للمعاملات التي تستدعي برامج Solana، وليس لتحويلات SOL البسيطة وحدها.

يضيف التنفيذ المؤجل للعقود الذكية مخاطر إضافية مرتبطة بالحالة.

قد يتغير سعر المبادلة بين التوقيع والإرسال.

وقد يصبح مركز الإقراض غير آمن.

وقد يُعدّل حساب يتوقعه البرنامج أو يُغلق.

وقد ينفذ برنامج قابل للترقية شيفرة مختلفة عند تنفيذ المعاملة.

ينبغي للتطبيقات استخدام حد أدنى صريح للمخرجات وحد أقصى للمدخلات وحالات حساب متوقعة ووسائل حماية أخرى متى كانت متاحة.

ينبغي للمستخدمين تجنب توقيع معاملة دائمة مفتوحة المدة يقدمها تطبيق غير موثوق.

Nonces الدائمة ومحاكاة المعاملات

تقدّر المحاكاة كيفية تصرف المعاملة وفق حالة محددة مرصودة للبلوكشين.

لا يضمن نجاح المحاكاة نجاح معاملة Nonce الدائم لاحقًا.

قد تتغير الحسابات المعنية ومنطق البرنامج قبل الإرسال.

وقد يُستهلك Nonce أيضًا بين المحاكاة والتنفيذ.

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

ولا ينبغي أن تحل نتائج المحاكاة محل التحقق من الرسالة الموقعة الفعلية.

المخاطر الأمنية

تشمل المخاطر الرئيسية لـNonce الدائم اختراق المفتاح والتحديث غير المصرح به لـNonce والترتيب غير الصحيح للتعليمات وتقادم حالة الحساب والتنفيذ المؤجل غير الآمن وسوء التعامل مع حالة المعاملة.

قد يؤدي سرقة مفتاح الجهة المخولة للـNonce إلى إبطال المعاملات المعلقة أو التصريح بتغييرات في الحساب.

وقد يستخدم مُنشئ معاملات ضار فترة الصلاحية الطويلة للحصول على توقيع لإجراء سينفذ في ظل ظروف مستقبلية مختلفة.

وقد يستهلك مشغّل Nonce عن طريق الخطأ عند وقوع معاملة فاشلة.

وقد ينشئ نظام إعادة المحاولة عمليات تجارية مكررة إذا لم يتحقق من نتيجة المعاملة الأصلية على نحو صحيح.

يعتمد الأمن على التشفير والعملية التشغيلية المحيطة به معًا.

مراقبة حساب Nonce

ينبغي للتطبيق قراءة حساب Nonce قبل إنشاء معاملة.

وينبغي له تسجيل عنوان الحساب والجهة المخولة وNonce المخزن والمعاملة المقصودة وحالة الموافقة.

كما ينبغي إعادة التحقق من Nonce قبل الإرسال.

تشير القيمة غير المتوقعة إلى أن المعاملة المعلقة لم تعد صالحة.

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

ينبغي للمؤسسات إطلاق تنبيهات عند تحديث Nonce أو تغيير الجهة المخولة أو سحب الرصيد أو إغلاق الحساب.

ينبغي أن تستخدم المراقبة مستوى التزام مناسبًا وأن تراعي النهائية.

الحالة الحالية للبروتوكول

لا تزال وثائق نظام معاملات Solana الحالي تدعم Nonces الدائمة.

لكن صفحة Nonce الدائم الرسمية تحذر من احتمال إلغاء هذه الآلية في إصدار مستقبلي.

ناقش نقاش لتحسين Solana تنسيق معاملات بديلًا قد يحافظ على سير عمل Nonce دون اتصال مع تقليل المعالجة الخاصة للمدققين.

لا يعني وجود نقاش أو مقترح حدوث تغيير مُفعّل على الشبكة.

ينبغي للمطورين الذين يستخدمون Nonces الدائمة متابعة المواصفات الرسمية وإصدارات العملاء وإشعارات التفعيل وإرشادات الترحيل.

ينبغي للأنظمة المؤسسية طويلة الأجل ألا تفترض بقاء تنسيق المعاملات الحالي دون تغيير إلى الأبد.

كيف ينبغي للمطورين تنفيذ Nonces الدائمة؟

ينبغي للمطورين استخدام واجهات Solana SDK وبرنامج النظام المُحدّثة بدلًا من ترميز حالة حساب Nonce يدويًا.

ينبغي للتطبيق الاستعلام عن حساب Nonce والتحقق من مالكه وحالة تهيئته والجهة المخولة وNonce الحالي.

يجب وضع Nonce المخزن في حقل

recent_blockhash
للمعاملة.

يجب أن تكون

AdvanceNonceAccount
أول تعليمة.

يجب على الجهة المخولة للـNonce وكل موقّع مطلوب آخر توقيع الرسالة نفسها تمامًا.

ينبغي للنظام تخزين المعاملة المتسلسلة وتوقيعاتها من دون تعديلها.

ينبغي للتطبيق قبل الإرسال التأكد من استمرار احتواء الحساب على Nonce والجهة المخولة المتوقعين.

وبعد الإرسال، ينبغي فحص حالة المعاملة وأخطاء التنفيذ وتحديث Nonce والرسوم وتغييرات الحساب المتوقعة.

كيف يستخدم المستخدمون Nonces الدائمة بأمان؟

ينبغي للمستخدمين تفضيل معاملة بتجزئة كتلة حديثة عادية عندما لا تكون الحاجة إلى التوقيع المؤجل قائمة.

ينبغي استخدام Nonce دائم عبر برنامج يحدد بوضوح حساب Nonce والجهة المخولة له.

ينبغي للموقّعين غير المتصلين التحقق من كل تعليمة بدلًا من الموافقة على رسالة متسلسلة يتعذر قراءتها.

ينبغي إلغاء المعاملات المعلقة بتحديث Nonce عمدًا عند الحاجة إلى الإلغاء.

ينبغي للمستخدمين فهم أن الإلغاء يستهلك القيمة القديمة ويبطل كل معاملة أُنشئت باستخدامها.

ينبغي نسخ مفاتيح الجهات المخولة للـNonce احتياطيًا وحمايتها بما يتناسب مع قيمة الحساب ودوره التشغيلي.

وينبغي التحقق من نجاح التنفيذ بدلًا من افتراض أن تحديث Nonce يعني نجاح التحويل المقصود.

أخطاء شائعة عند استخدام Nonces الدائمة

من الأخطاء الشائعة التعامل مع Nonce الدائم بوصفه رقم معاملة متزايدًا للمحفظة.

ومن الأخطاء الأخرى وضع تعليمة ميزانية الحوسبة قبل

AdvanceNonceAccount
.

والخطأ الثالث إعداد عدة معاملات باستخدام Nonce واحد وتوقع تنفيذها جميعًا.

والخطأ الرابع افتراض أن Nonce الدائم يجدول التنفيذ المستقبلي تلقائيًا.

والخطأ الخامس تجاهل التغيرات في حالة البلوكشين بين التوقيع والإرسال.

والخطأ السادس افتراض أن المعاملة الفاشلة تترك Nonce متاحًا لمحاولة أخرى.

والخطأ السابع إغلاق حساب Nonce أو تغيير الجهة المخولة له مع بقاء معاملات موقعة معلقة.

والخطأ الثامن إعادة إرسال المعاملات أو إنشاؤها من جديد من دون التحقق من حالة المعاملة الأصلية.

والخطأ التاسع تثبيت رصيد الإعفاء من الإيجار المطلوب لحساب Nonce في الشيفرة.

والخطأ العاشر افتراض أن سلوك Nonce الدائم الحالي لن يتغير في إصدارات Solana المستقبلية.

الأسئلة الشائعة

ما Nonce الدائم في Solana؟

Nonce الدائم تجزئة مستمرة مخزنة في حساب تابع لبرنامج النظام، وتُستخدم بدلًا من تجزئة كتلة حديثة قصيرة الأجل.

لماذا تنتهي صلاحية معاملات Solana العادية؟

لأنها تتضمن تجزئة كتلة حديثة لا تُقبل إلا ضمن نافذة عمر المعالجة البالغة 150 خانة على الشبكة.

هل تنتهي صلاحية Nonce الدائم بعد 150 خانة؟

لا، يظل قابلًا للاستخدام بعد تلك النافذة إلى أن يُحدّث حساب Nonce أو يُغلق أو يتغير على نحو يبطل المعاملة.

هل يجعل Nonce الدائم المعاملة صالحة إلى الأبد؟

لا، تصبح المعاملة غير صالحة عند استهلاك Nonce المخزن أو عند عدم استيفاء شروط الحساب والجهة المخولة المطلوبة.

ما حساب Nonce؟

هو حساب مملوك لبرنامج النظام يخزن الجهة المخولة للـNonce وقيمة Nonce الدائمة وحالة مرتبطة بالرسوم.

من يتحكم بحساب Nonce؟

توافق الجهة المخولة المعيّنة للـNonce على تحديثه وتغيير الجهات المخولة والسحب.

هل يجب أن تدفع الجهة المخولة للـNonce رسوم المعاملة؟

لا، يمكن أن تكون الجهة المخولة للـNonce ودافع الرسوم حسابين منفصلين يوقعان المعاملة.

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

يجب أن تكون تعليمة

AdvanceNonceAccount
أول تعليمة في معاملة Nonce دائم.

هل يمكن أن تأتي تعليمات ميزانية الحوسبة أولًا؟

لا، يجب ألا توضع قبل

AdvanceNonceAccount
في معاملة Nonce دائم.

هل يمكن توقيع معاملة Nonce دائم دون اتصال بالإنترنت؟

نعم، فالتوقيع دون اتصال أحد الاستخدامات الرئيسية لهذه الآلية.

هل يجدول Nonce الدائم دفعة؟

لا، يجب على نظام آخر إرسال المعاملة الموقعة في الموعد المقصود.

هل يمكن لعدة معاملات استخدام Nonce واحد؟

يمكن إعداد عدة معاملات، لكن أول معاملة مقبولة فقط تستطيع استهلاك Nonce بنجاح.

كيف يمكن تنفيذ عدة معاملات مؤجلة بصورة مستقلة؟

ينبغي عمومًا استخدام حسابات Nonce منفصلة وقيم Nonce مخزنة منفصلة لها.

ماذا يحدث بعد استخدام Nonce؟

يخزن حساب Nonce قيمة جديدة، وتصبح المعاملات الموقعة بالقيمة القديمة غير صالحة.

ماذا يحدث إذا فشلت تعليمة لاحقة؟

تُلغى تغييرات الحالة العادية، لكن يظل Nonce محدّثًا وتُحصّل رسوم المعاملة.

هل يمكن إعادة إرسال معاملة Nonce دائم فاشلة؟

لا، ليس بعد استهلاك Nonce، إذ يجب إعادة إنشاء المعاملة وتوقيعها باستخدام القيمة الجديدة.

كيف يمكن إلغاء معاملة Nonce دائم معلقة؟

يمكن للجهة المخولة تحديث Nonce عبر معاملة صالحة أخرى، ما يجعل المعاملة القديمة الموقعة غير قابلة للاستخدام.

هل يمكن لتغيير الجهة المخولة إبطال معاملة معلقة؟

نعم، قد تفشل معاملة موقعة وفق الجهة المخولة السابقة بعد تغيير صلاحية الحساب.

هل يحتاج حساب Nonce إلى SOL؟

نعم، يجب أن يحافظ على رصيد الإعفاء من الإيجار المطبق ما دام نشطًا.

هل يمكن سحب الأموال من حساب Nonce؟

نعم، لكن يجب أن يحافظ السحب الجزئي على رصيد الإعفاء من الإيجار، بينما يؤدي سحب الرصيد كاملًا إلى إغلاق الحساب.

هل Nonce الدائم توكن من العملات المشفرة؟

لا، بل هو حالة معاملة مخزنة في حساب تابع لبرنامج النظام على Solana.

هل Nonce الدائم سري؟

لا، فحساب Nonce وقيمته المخزنة قابلان للقراءة علنًا على السلسلة.

هل تتيح معرفة Nonce لشخص ما سرقة الأموال؟

لا، فما زالت المعاملة تتطلب توقيعات صالحة من الجهة المخولة للـNonce وكل موقّع آخر مطلوب.

هل يستطيع مهاجم إبطال معاملة موقعة؟

يستطيع المهاجم الذي يسيطر على الجهة المخولة للـNonce تحديث حساب Nonce أو تغييره وإبطال المعاملات المعلقة.

هل تضمن المحاكاة الناجحة التنفيذ لاحقًا؟

لا، فقد تتغير حالة الحساب والبرامج والأرصدة والأسعار وNonce نفسه قبل الإرسال.

هل Nonces الدائمة أغلى من المعاملات العادية؟

تتطلب حالة حساب إضافية وتعليمة تحديث، فيما تظل رسوم التوقيع والأولوية العادية سارية.

هل Nonces الدائمة مدعومة حاليًا؟

نعم، لكن الوثائق الرسمية تحذر من احتمال إلغاء الآلية الحالية في إصدار مستقبلي.

الخلاصة

يسمح Nonce الدائم لمعاملة Solana بالبقاء قابلة للاستخدام بعد نافذة تجزئة الكتلة الحديثة العادية البالغة 150 خانة.

تعمل الآلية من خلال حساب Nonce مملوك لبرنامج النظام، ويحتوي على جهة مخولة وتجزئة مخزنة وحالة مرتبطة بالرسوم.

يستبدل Nonce المخزن تجزئة الكتلة الحديثة العادية في رسالة المعاملة الموقعة.

يجب أن تضع المعاملة

AdvanceNonceAccount
أولًا، وأن تتضمن توقيع الجهة المخولة للـNonce.

بمجرد قبول المعاملة، يُحدّث Nonce ولا يمكن إعادة تشغيل الرسالة القديمة الموقعة.

إذا فشلت تعليمة لاحقة، تُلغى تغييرات الحالة المقصودة، لكن يُستهلك Nonce وتُحصّل الرسوم.

تفيد Nonces الدائمة خصوصًا في التوقيع عبر أجهزة معزولة عن الشبكة وموافقات الخزانة والتفويض متعدد الأطراف وتأخير الإرسال.

لكنها لا تجدول المعاملات تلقائيًا ولا تحمي الموقّعين من التعليمات الضارة أو تغير حالة البلوكشين.

يتطلب التنفيذ الآمن مراقبة Nonce والحفاظ على الرسالة كما هي تمامًا وعرض المعاملة بوضوح والتحقق الموثوق من حالتها وإدارة الجهات المخولة بعناية.

بما أن التصميم الحالي قد يتغير في إصدار مستقبلي من Solana، ينبغي للمطورين متابعة إرشادات البروتوكول الرسمية والاستعداد لترحيل الأنظمة التشغيلية عند الحاجة.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?