شراء العملات المشفرة
الأسواق
العقود الفورية
العقود الآجلةBTC
مدخرات
مركز الأحداث
مركز المكافآت
المزيد
مهرجان صفر رسوم
Nonce: ما هو Nonce؟Nonce هو قيمة فريدة يُفترض استخدامها مرة واحدة ضمن سياق تشفيري أو متعلق بالبلوكشين أو بالعقود الذكية.في مجال الكريبتو، يُفهم المصطلح عادةً على أنه اختصار لعبارة «number used once»، أي «رقمNonce: ما هو Nonce؟Nonce هو قيمة فريدة يُفترض استخدامها مرة واحدة ضمن سياق تشفيري أو متعلق بالبلوكشين أو بالعقود الذكية.في مجال الكريبتو، يُفهم المصطلح عادةً على أنه اختصار لعبارة «number used once»، أي «رقم

Nonce

2026/10/13 16:35
#Intermediate
Humanity
H$0.05603-2.92%
PX
PX$0.0116+5.45%
DeFi
DEFI$0.0001411-3.94%
AINFT
NFT$0.0000002369-0.87%

ما هو Nonce؟

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

في مجال الكريبتو، يُفهم المصطلح عادةً على أنه اختصار لعبارة «number used once»، أي «رقم يُستخدم مرة واحدة».

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

يتوقف المعنى الدقيق على الموضع الذي يظهر فيه Nonce.

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

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

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

وفي توقيع ECDSA، قد يكون Nonce قيمة سرية خاصة بكل توقيع، وقد يؤدي ضعف توليده إلى كشف المفتاح الخاص.

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

الفكرة المشتركة الأهم هي التفرد.

تنبع فائدة Nonce من جعل الإجراء أو محاولة التجزئة أو الرسالة أو المعاملة أو التوقيع مختلفًا عن غيره.

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

أهم النقاط حول Nonce

    • Nonce قيمة يُقصد استخدامها مرة واحدة ضمن سياق محدد.

    • تستخدم حسابات Ethereum قيم Nonce لترتيب المعاملات ومنع إعادة إرسالها.

    • يغيّر معدّنو Bitcoin قيمة Nonce في ترويسة الكتلة أثناء البحث عن تجزئة لإثبات العمل تستوفي الهدف.

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

    • يستخدم تصريح ERC-2612 قيم Nonce الخاصة بالمالك لمنع إعادة استخدام توقيع الموافقة نفسه على التوكن.

    • تستخدم الحسابات الذكية في ERC-4337 نموذجًا أكثر مرونة لقيم Nonce في مسارات تجريد الحساب.

    • يضيف EIP-155 حماية من إعادة الإرسال عبر مُعرّف السلسلة، وهي تعمل إلى جانب Nonce المعاملة.

    • ما زالت الرسائل المنظمة وفق EIP-712 تحتاج إلى فحوصات Nonce على مستوى التطبيق، لأن البيانات المكتوبة لا تمنع تلقائيًا كل هجمات إعادة الإرسال.

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

    • ينبغي ألا يغيّر المستخدمون قيم Nonce في محافظهم يدويًا إلا إذا فهموا المعاملات المعلّقة وآلية الاستبدال.

أهمية Nonce في العملات المشفرة

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

يمكن لأي شخص يرى توقيعًا رقميًا صالحًا نسخه كما هو.

ويمكن لعدد كبير من العُقد إعادة بث المعاملة.

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

كما يستطيع المعدّن تجربة العديد من مُدخلات التجزئة أثناء البحث عن كتلة صالحة.

ويمكن للمحفظة إنشاء معاملات كثيرة من العنوان نفسه، لذا يجب ترتيبها ترتيبًا صحيحًا.

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

من دونها، ستواجه أنظمة الكريبتو صعوبة في التمييز بين إجراء جديد وآخر قديم منسوخ.

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

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

وقد يعاد إرسال معاملة على سلسلة مختلفة.

وقد تكشف محفظة التوقيع مفتاحها الخاص بسبب ضعف في قيمة Nonce التشفيرية.

قيم Nonce صغيرة، لكنها تحمي كميات كبيرة جدًا من الأصول الرقمية.

Nonce حساب Ethereum

Nonce حساب Ethereum هو عدّاد مرتبط بالحساب.

توضح وثائق الحسابات في Ethereum أن الحساب يتضمن حقل Nonce، وأنه لا يمكن تنفيذ سوى معاملة واحدة لكل حساب باستخدام قيمة Nonce معينة.

في الحساب المملوك خارجيًا، يحصي Nonce المعاملات المرسلة من الحساب.

أما في حساب العقد، فيرتبط Nonce بالعقود التي ينشئها حساب العقد.

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

بعد تنفيذ هذه المعاملة، ينبغي أن تستخدم المعاملة التالية Nonce بقيمة 26.

يمنع هذا العدّاد البسيط تنفيذ المعاملة نفسها مرتين.

كما يحدد ترتيبًا لمعاملات العنوان نفسه.

لا يمكن عادةً معالجة معاملة تحمل Nonce بقيمة 27 قبل التعامل مع المعاملة التي تحمل القيمة 26.

ولهذا قد تؤدي معاملة واحدة عالقة إلى تعطيل المعاملات اللاحقة من المحفظة نفسها.

Nonce معاملة Ethereum

Nonce معاملة Ethereum جزء من بيانات المعاملة التي توقّعها المحفظة.

وتصف وثائق المعاملات في Ethereum قيمة Nonce بأنها عدّاد متسلسل متزايد يحدد رقم المعاملة الصادرة من الحساب.

تساعد قيمة Nonce المعاملة على إنشاء هاش فريد لها.

كما تحدد للشبكة موضع المعاملة في تسلسل معاملات المُرسِل.

إذا استخدمت معاملتان معلّقتان من الحساب نفسه قيمة Nonce واحدة، فستتنافسان على الموضع نفسه.

ولا يمكن تنفيذ سوى واحدة منهما.

هذه هي الفكرة الأساسية وراء تسريع معاملة Ethereum أو إلغائها.

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

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

هذه الآلية مفيدة، لكنها قد تربك المستخدمين الذين يغيّرون قيم Nonce يدويًا من دون فهم قائمة المعاملات المعلّقة.

Nonce التعدين في Bitcoin

يختلف Nonce التعدين في Bitcoin عن Nonce حساب Ethereum.

يوضح مرجع سلسلة كتل Bitcoin أن Nonce ترويسة الكتلة هو رقم اعتباطي من 32 بت يغيّره المعدّنون لتعديل هاش ترويسة الكتلة.

يعيد المعدّنون تجزئة بيانات ترويسة الكتلة مرارًا مع تغيير Nonce وحقول أخرى قابلة للتعديل.

والهدف هو العثور على هاش يقل عن الحد المستهدف الحالي أو يساويه.

إذا اختبر المعدّن جميع قيم Nonce الممكنة ذات 32 بت من دون العثور على كتلة صالحة، فيمكنه تحديث الوقت أو تغيير معاملة coinbase، ما يؤدي إلى تغيير جذر Merkle.

وهذا يمنح المعدّن مُدخلات إضافية للتجزئة كي يختبرها.

لا يرتب Nonce التعدين معاملات المستخدمين.

ولا يمنع هجوم إعادة الإرسال على المحفظة.

بل هو متغير يُستخدم في البحث عن إثبات العمل.

لذلك قد تعني كلمة «nonce» أشياء مختلفة جدًا بحسب السلسلة والسياق.

Nonce في إثبات العمل

في تعدين إثبات العمل، يساعد Nonce المعدّنين على إنشاء محاولات تجزئة مختلفة كثيرة.

تنتج دالة التجزئة التشفيرية مخرجًا مختلفًا جدًا عند تغيير المُدخل ولو قليلًا.

يؤدي تغيير Nonce إلى تغيير مُدخل ترويسة الكتلة.

ويؤدي تغيير المُدخل إلى تغيير الهاش.

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

لا تكون Nonce سرية في هذا السياق.

بمجرد العثور على كتلة، يستطيع الجميع رؤية Nonce والتحقق من الهاش.

ينبع الأمان من حجم العمل اللازم للعثور على هاش صالح، لا من إخفاء Nonce.

وهذا يختلف عن Nonce التوقيع، التي يجب أن تظل سرية عادةً.

قيم Nonce التعدين أدوات عامة للبحث عن إثبات العمل.

Nonce للحماية من إعادة الإرسال

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

يحدث هجوم إعادة الإرسال عندما ينسخ شخص إجراءً موقّعًا صالحًا ويعيد إرساله.

تمنع Nonce ذلك بجعل كل إجراء موقّع صالحًا للاستخدام مرة واحدة فقط.

عند تنفيذ الإجراء، تُستهلك Nonce أو تزداد قيمتها أو تُعلَّم بأنها مستخدمة.

إذا حاول شخص إعادة إرسال الإجراء الموقّع نفسه، فسيفشل التحقق من Nonce.

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

يثبت التوقيع الصالح أن مفتاحًا ما وافق على إجراء معين.

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

يلزم إجراء الفحصين معًا لضمان تفويض آمن في الكريبتو.

تحوّل الحماية من إعادة الإرسال التوقيع المنسوخ من تهديد خطير إلى نسخة مكررة مرفوضة.

Nonce ومعرّف السلسلة في EIP-155

يضيف EIP-155 طبقة أخرى من الحماية من إعادة الإرسال، وذلك بإدراج مُعرّف السلسلة ضمن بيانات معاملة Ethereum الموقّعة.

يوضح مواصفات EIP-155 أن هذا التغيير يسمح باستخدام المعاملة على سلسلة واحدة دون أن تعمل على سلسلة أخرى تستخدم مُعرّفًا مختلفًا.

وهذا مهم لأن العديد من السلاسل المتوافقة مع EVM قد تتشارك تنسيقات عناوين وهياكل معاملات متشابهة.

تمنع Nonce المعاملة تنفيذ معاملة الحساب نفسها مرتين على السلسلة نفسها.

ويساعد مُعرّف السلسلة على منع إعادة إرسال المعاملة الموقّعة نفسها على سلسلة أخرى.

كلتا الفكرتين مهمتان.

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

تقلل التوقيعات المرتبطة بالسلسلة من هذا الخطر.

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

فقد تكون Nonce قابلة للنقل بين سياقات مختلفة إذا لم تُربط بالنطاق الصحيح.

Nonce في البيانات المكتوبة وفق EIP-712

EIP-712 معيار لتوقيع البيانات المنظمة والمكتوبة الأنواع.

تنص مواصفات EIP-712 على أن المعيار لا يوفر حماية من إعادة الإرسال بحد ذاته.

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

يمكن أن تتضمن الرسالة المكتوبة Nonce.

ويجب على العقد التحقق منها.

كما يجب أن يعلّم العقد Nonce بأنها مستخدمة أو يزيد قيمتها بعد التنفيذ الناجح.

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

يحسّن EIP-712 سهولة قراءة البيانات وفصل النطاقات، لكنه لا يغني عن تصميم Nonce بعناية.

ينبغي أن يتضمن التوقيع الآمن للبيانات المكتوبة Nonce وموعدًا نهائيًا ومُعرّف السلسلة والعقد الذي يتحقق من التوقيع والإجراء المحدد المصرح به.

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

Nonce في تصريح ERC-2612

يتيح تصريح ERC-2612 لمالك التوكن الموافقة على إنفاقه عبر رسالة موقّعة بدلًا من إرسال معاملة موافقة مباشرة على السلسلة.

يتضمن معيار ERC-2612 دالة nonces، وينص على أن خريطة Nonce مخصصة للحماية من إعادة الإرسال.

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

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

كما يتضمن ERC-2612 موعدًا نهائيًا لانتهاء صلاحية الموافقة الموقّعة.

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

من دون موعد نهائي، قد يظل التوقيع القديم صالحًا مدة أطول مما يتوقعه المستخدم.

ومن دون Nonce، يمكن تقديم توقيع الموافقة نفسه مرارًا.

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

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

Nonce في تجريد الحساب ضمن ERC-4337

يستخدم تجريد الحساب في ERC-4337 عملية UserOperation بدلًا من معاملة Ethereum عادية صادرة عن حساب مملوك خارجيًا.

تحدد مواصفات ERC-4337 قيمة Nonce الخاصة بـ UserOperation على أنها مُعامل لمكافحة إعادة الإرسال.

وتنص أيضًا على ضرورة اعتماد التوقيعات على مُعرّف السلسلة وعنوان EntryPoint لمنع إعادة الإرسال بين السلاسل أو عبر نقاط EntryPoint متعددة.

يدعم ERC-4337 نموذج Nonce شبه مجرد.

ويمكن تقسيم Nonce إلى مفتاح وتسلسل.

وهذا يتيح للحسابات الذكية استخدام مسارات Nonce متعددة.

فقد تستخدم المحفظة مسارًا للمعاملات العادية وآخر للإجراءات الإدارية أو عمليات الاسترداد.

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

لكنه أكثر تعقيدًا أيضًا لمطوري المحافظ ومستخدميها.

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

مسارات Nonce

مسار Nonce هو تسلسل مستقل لقيم Nonce ضمن تصميم أكبر للحساب أو الحساب الذكي.

تسمح مسارات Nonce بتنفيذ فئات مختلفة من الإجراءات بالتوازي.

على سبيل المثال، قد تستخدم المحفظة مسارًا للإنفاق اليومي وآخر لعمليات الاسترداد.

وقد تستخدم محفظة ألعاب مسارًا للتحركات المتكررة منخفضة القيمة وآخر لتحويلات الأصول عالية القيمة.

وقد تستخدم محفظة اشتراكات مسارًا للدفعات المتكررة وآخر للمعاملات التي يديرها المستخدم.

تكمن الفائدة في أن تعطل إجراء واحد لا يحجب جميع الإجراءات الأخرى.

أما الخطر فيتمثل في احتمال عدم فهم المستخدم للمسار الذي يفوضه.

على المطورين ضمان استمرار الحماية القوية من إعادة الإرسال في كل مسار.

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

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

قيم Nonce التسلسلية

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

وهذا هو النموذج الأكثر شيوعًا لمعاملات الحسابات العادية.

يسهل تدقيق قيم Nonce التسلسلية لأنها تنشئ ترتيبًا واضحًا.

كما تمنع تنفيذ معاملتين من الحساب نفسه تحملان قيمة Nonce واحدة كلتيهما.

لكن قد تعطل معاملة معلّقة سابقة المعاملات اللاحقة.

وقد يؤدي ذلك إلى مشكلات المعاملات العالقة.

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

تتميز قيم Nonce التسلسلية بالموثوقية والبساطة وانتشار الاستخدام.

لكنها أقل مرونة في الأنظمة التي تحتاج إلى تنفيذ إجراءات مستقلة كثيرة في الوقت نفسه.

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

قيم Nonce العشوائية

Nonce العشوائية قيمة فريدة تُنشأ باستخدام العشوائية بدلًا من عدّاد بسيط.

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

يمكن للعقد الذكي تخزين خريطة لقيم Nonce العشوائية المستخدمة.

وعند استخدام تفويض موقّع، يعلّم العقد تلك القيمة العشوائية بأنها استُهلكت.

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

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

لكن من سلبياتها متطلبات التخزين وجودة العشوائية.

قد يحتاج العقد إلى تخزين عدد كبير من قيم Nonce المستخدمة.

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

توفر قيم Nonce العشوائية مرونة، لكن يجب تتبعها بعناية.

قيم Nonce في العقود الذكية

Nonce العقد الذكي هي أي نظام Nonce يعرّفه عقد ذكي ويخزنه.

قد تكون عدّادًا لكل مستخدم.

وقد تكون خريطة لمعرّفات الرسائل المستخدمة.

وقد تكون رقم فهرس مطالبة في إيردروب.

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

وقد تكون هاش طلب في سوق.

وقد تكون رقمًا تسلسليًا لرسالة جسر.

تُعد قيم Nonce في العقود الذكية ضرورية لأن قيم Nonce العادية للحسابات لا تحمي كل توقيع خارج السلسلة أو إجراء على مستوى العقد.

إذا قبل العقد توقيعًا، فعليه تحديد ما إذا كان ذلك التوقيع قد استُخدم من قبل.

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

Nonce في رسائل تسجيل الدخول بالمحفظة

غالبًا ما تستخدم رسائل تسجيل الدخول بالمحفظة قيم Nonce حتى عندما لا تحدث معاملة على السلسلة.

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

ينبغي للموقع إنشاء Nonce تحدٍّ جديدة لكل محاولة تسجيل دخول.

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

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

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

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

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

تُعد قيم Nonce لتسجيل الدخول بالمحفظة جزءًا من أمان الحساب.

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

Nonce في توقيعات ECDSA

يستخدم توقيع ECDSA قيمة سرية لكل رسالة تُسمى غالبًا Nonce أو Nonce التوقيع.

يختلف هذا النوع عن Nonce الخاصة بمعاملة الحساب.

ويجب أن يكون سريًا وفريدًا لكل توقيع.

يحدد RFC 6979 طريقة حتمية لإنشاء توقيعات DSA وECDSA تتجنب الاعتماد على توليد عشوائية جديدة لكل توقيع.

وينص معيار التوقيعات الرقمية FIPS 186-5 الصادر عن NIST على أن ECDSA يستخدم رقمًا سريًا خاصًا بكل رسالة أثناء إنشاء التوقيع.

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

يسلط بحث حديث حول مخاطر تصادم Nonce في ECDSA ضمن نشاط البلوكشين الفعلي الضوء على العواقب الكارثية المحتملة للتوليد غير السليم لقيم Nonce.

وهذا أحد أخطر معاني Nonce في أمن الكريبتو.

قد تؤدي القيمة السيئة لـ Nonce الحساب إلى فشل المعاملة أو بقائها عالقة.

أما القيمة السيئة لـ Nonce توقيع ECDSA فقد تكشف المحفظة بأكملها.

Nonce في التشفير

تستخدم بعض أنظمة التشفير قيم Nonce أيضًا.

في التشفير الموثق، قد تساعد Nonce على جعل مخرجات التشفير فريدة حتى عند استخدام المفتاح نفسه لرسائل عديدة.

يحدد RFC 5116 واجهة للتشفير الموثق مع البيانات المرتبطة ويناقش خوارزميات AEAD التي تستخدم قيم Nonce.

قد تستخدم محافظ الكريبتو والنسخ الاحتياطية المشفرة وأنظمة المراسلة الآمنة وبرامج حفظ الأصول قيم Nonce للتشفير داخليًا.

هذه القيم ليست مثل Nonce معاملات البلوكشين.

فهي جزء من حماية الرسائل تشفيريًا.

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

لا يدير المستخدمون هذه القيم يدويًا عادةً.

بل يجب على المطورين ومكتبات المحافظ التعامل معها بصورة صحيحة.

يتعامل البرنامج الآمن للكريبتو مع توليد Nonce باعتباره تفصيلًا بالغ الأهمية للأمان.

Nonce مقابل Salt

ترتبط Nonce وSalt بمفهومين متقاربين، لكنهما ليسا الشيء نفسه.

يُقصد بـ Nonce عادةً أن تكون فريدة لاستخدام واحد ضمن بروتوكول أو سياق توقيع.

أما Salt فعادةً ما تكون بيانات عشوائية أو فريدة تُضاف إلى تجزئة أو عملية كلمة مرور أو التزام أو عملية اشتقاق عنوان لجعل المخرجات مختلفة.

في الكريبتو، قد تُستخدم Salt عند نشر العقود بصورة حتمية أو اشتقاق الالتزامات.

وقد تُستخدم Nonce لترتيب المعاملات أو منع إعادة الإرسال.

يمكن لكلتا القيمتين إضافة التفرد.

ويكمن الفرق في الدور الأمني الذي تؤديه كل منهما.

غالبًا ما تمنع Salt الحساب المسبق أو تضيف التفرد إلى القيم المشتقة.

أما Nonce فغالبًا ما تمنع إعادة الاستخدام أو تضيف حداثة إلى إجراءات البروتوكول.

ينبغي للمطورين تسمية هذه القيم وتوثيقها بوضوح لتجنب الأخطاء الأمنية.

Nonce مقابل هاش المعاملة

Nonce ليست هي هاش المعاملة.

Nonce مُدخل يضمَّن في معاملة أو رسالة بروتوكول.

أما هاش المعاملة فهو معرّف ينتج عن تجزئة بيانات المعاملة الموقّعة.

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

قد تستخدم المحفظة Nonce قبل تعدين المعاملة.

ويعرض مستكشف البلوكشين عادةً هاش المعاملة بعد بثها أو إدراجها.

تحدد Nonce موضع المعاملة في تسلسل معاملات المُرسِل.

ويساعد هاش المعاملة المستخدمين على العثور على سجل المعاملة والتحقق منه.

كلاهما مهم، لكن لكل منهما غرض مختلف.

قد يؤدي الخلط بينهما إلى صعوبة استكشاف مشكلات المعاملات وإصلاحها.

Nonce مقابل رسوم الغاز

Nonce ليست رسوم الغاز.

تقيس رسوم الغاز العمل الحاسوبي وتكلفة تنفيذ المعاملة.

أما Nonce فتحدد ترتيب المعاملة أو تفردها.

قد تكون للمعاملة Nonce صحيحة، لكن رسوم الغاز أو الرسوم المدفوعة قد تكون منخفضة جدًا.

وقد تتوفر للمعاملة رسوم غاز كافية، لكن Nonce تكون خاطئة.

وتؤدي هاتان المشكلتان إلى إخفاقات مختلفة.

قد تسبب مشكلة الغاز فشل التنفيذ أو انخفاض أولوية إدراج المعاملة.

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

غالبًا ما يرى المستخدمون الإعدادين معًا في أدوات المحافظ المتقدمة.

ينبغي ألا يغيّروا أيًا منهما من دون تفكير.

Nonce وإنشاء عنوان العقد

قد تؤثر قيم Nonce أيضًا في عناوين العقود.

في الأنظمة الشبيهة بـ Ethereum، يُشتق عنوان العقد المنشأ باستخدام عملية الإنشاء التقليدية من عنوان المنشئ وNonce الخاصة به.

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

على المطورين فهم ذلك عند نشر العقود أو اختبار عمليات النشر أو توقع العناوين.

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

وقد تغيّر معاملة معلّقة ترتيب النشر.

وقد تؤدي أخطاء Nonce اليدوية إلى نشر العقود على عناوين غير متوقعة.

يمكن لأساليب النشر الحتمية استخدام آليات أخرى، لكن إدارة Nonce تظل مهمة في عمليات النشر العادية.

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

قد يؤدي عنوان نشر خاطئ إلى إرباك المستخدمين وتعطيل عمليات التكامل.

Nonce والمعاملات العالقة

غالبًا ما تعلق المعاملة عندما تظل معاملة ذات رسوم منخفضة معلّقة.

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

ويرجع ذلك إلى أن قيم Nonce التسلسلية تقتضي معالجة الخانات ذات القيم الأقل أولًا.

قد تعرض المحفظة المعاملات اللاحقة على أنها معلّقة حتى إذا كانت رسومها مرتفعة.

وقد تكون المشكلة الفعلية معاملة أقدم ذات Nonce أقل.

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

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

لكن يجب تنفيذ هذه الإجراءات بحذر.

قد يؤدي استبدال Nonce الخاطئة إلى إلغاء إجراء ما زال المستخدم يرغب في تنفيذه أو تجاوزه.

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

Nonce واستبدال المعاملات

يستخدم استبدال المعاملة Nonce نفسها لاستبدال معاملة معلّقة.

تتنافس المعاملة البديلة مع الأصلية على خانة Nonce نفسها.

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

وهذا مفيد عندما يريد المستخدم زيادة رسوم معاملة بطيئة.

كما يفيد عندما يريد المستخدم إلغاء معاملة معلّقة قبل تأكيدها.

لا يعني الاستبدال أن البلوكشين يحذف معاملة مؤكدة.

ولا يعمل إلا عندما تظل المعاملة السابقة معلّقة.

بعد تأكيد المعاملة، تُستهلك Nonce.

وعندئذ لا يستطيع المستخدم إعادة استخدام Nonce نفسها لمعاملة أخرى.

ولهذا يكون التوقيت مهمًا عند إدارة المعاملات المعلّقة.

Nonce والجسور

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

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

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

ينبغي أن تتضمن رسالة الجسر الآمنة السلسلة المصدر وسلسلة الوجهة والعقد المصدر والعقد الوجهة والمُرسِل والمستلم والمبلغ وNonce أو معرّف الرسالة الفريد.

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

وإذا أعاد شخص إرسال الرسالة نفسها، فينبغي للعقد رفضها.

يكتسب تصميم Nonce في الجسور أهمية خاصة لأن الجسور تصل بين أنظمة إجماع مختلفة.

قد يؤدي إخفاق الحماية من إعادة الإرسال في جسر إلى مخاطر نظامية تمتد عبر السلاسل.

ينبغي للمستخدمين التعامل مع أمان الجسر على نحو منفصل عن أمان التوكن نفسه.

فقد يكون التوكن سليمًا بينما يكون نظام رسائل الجسر غير آمن.

Nonce والحوكمة

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

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

ينبغي ألا يكون التفويض الموقّع قابلًا لإعادة الاستخدام إلى الأبد، إلا إذا سمح التصميم بذلك بوضوح.

ينبغي ألا يُنفذ المقترح مرتين، إلا إذا كان العقد يدعم التنفيذ المتكرر عمدًا.

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

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

قد يكون تكرار إجراء حوكمة أخطر من فشل عملية دفع.

إذ قد يغيّر قواعد بروتوكول كامل.

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

ويراجع المصوتون الجيدون الإجراء الذي يوقعونه قبل الموافقة عليه.

Nonce ومطالبات الإيردروب

غالبًا ما تستخدم حملات الإيردروب وأنظمة المكافآت وسائل حماية شبيهة بـ Nonce لمنع تكرار المطالبات.

قد يخزن العقد ما إذا كان عنوان ما قد طالب بالمكافأة بالفعل.

وقد يخزن ما إذا استُخدم فهرس مطالبة Merkle من قبل.

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

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

تربط أنظمة المطالبات الجيدة المطالبة بالمستخدم الصحيح والحملة والسلسلة والتوكن والمبلغ والمدة الزمنية.

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

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

تمنع الحماية باستخدام Nonce تكرار الاستخدام، لكنها لا تجعل الاستخدام الأول الضار آمنًا.

وتظل وضوح واجهة المحفظة مهمًا.

Nonce وDeFi

يستخدم DeFi قيم Nonce بطرق كثيرة غير ظاهرة.

تستخدم تصاريح التوكن قيم Nonce للموافقات الموقّعة.

وتستخدم المعاملات الوصفية قيم Nonce للإجراءات التي لا تتطلب رسوم غاز من المستخدم.

وقد تستخدم بروتوكولات الإقراض قيم Nonce للتفويضات الموقّعة أو موافقات الائتمان.

وقد تستخدم أنظمة الأوامر اللامركزية قيم Nonce أو هاشات الأوامر لمنع تنفيذ الأمر المكتمل مرة أخرى.

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

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

قد تكلف أخطاء Nonce في DeFi أموالًا بسرعة.

وقد يتحول توقيع موافقة قديم إلى خطر يهدد أصول المحفظة.

وقد يؤدي عدم تحديث حالة Nonce إلى جعل العقد قابلًا لإعادة الإرسال.

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

Nonce وNFTs

تستخدم أنظمة NFT قيم Nonce أيضًا في قوائم السوق والمزايدات والتصاريح والمطالبات والتحويلات المعتمدة على التوقيع.

قد يوقّع البائع طلبًا خارج السلسلة لبيع NFT.

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

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

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

وإذا أمكن إعادة إرسال توقيع عرض الشراء بعد تغير الظروف، فقد يشتري مقدم العرض شيئًا لم يعد يرغب فيه.

ينبغي أن تتضمن توقيعات NFT عنوان المجموعة ورقم التوكن والسعر والعملة وشروط المشتري أو البائع ووقت انتهاء الصلاحية ومُعرّف السلسلة وNonce.

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

كما ينبغي لهم إلغاء القوائم القديمة عند الحاجة.

يُعد أمان Nonce جزءًا من أمان الأسواق.

Nonce وأمان المفتاح الخاص

قد تؤثر جودة Nonce مباشرةً في أمان المفتاح الخاص ضمن خوارزميات التوقيع.

وهذا مهم خصوصًا في الأنظمة القائمة على ECDSA.

إذا استُخدمت Nonce توقيع ECDSA نفسها لرسالتين مختلفتين، فقد يصبح استرداد المفتاح الخاص ممكنًا.

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

ولهذا يعتمد مطورو المحافظ على مكتبات تشفير خضعت للمراجعة.

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

قد يكون خطأ Nonce المعاملة ظاهرًا وقابلًا للإصلاح.

أما خطأ Nonce التوقيع فقد يكشف المفتاح الخاص بصمت.

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

لا مجال للاختصارات في توليد Nonce التشفيرية.

الأنواع الشائعة لقيم Nonce في الكريبتو

    • ترتب Nonce الحساب معاملات حساب البلوكشين.

    • تُضمَّن Nonce المعاملة في بيانات المعاملة الموقّعة لجعلها فريدة.

    • يعدّل معدّنو إثبات العمل Nonce التعدين بحثًا عن هاش صالح للكتلة.

    • تمنع Nonce التصريح استخدام موافقة توكن موقّعة أكثر من مرة.

    • تمنع Nonce العقد الذكي تكرار تنفيذ التفويضات على مستوى العقد.

    • تمنع Nonce رسالة الجسر معالجة الرسالة نفسها عبر السلاسل مرتين.

    • تنشئ Nonce تسجيل الدخول تحديًا جديدًا لمصادقة المحفظة.

    • Nonce التوقيع قيمة سرية خاصة بكل رسالة، تستخدمها بعض خوارزميات التوقيع الرقمي.

    • تساعد Nonce التشفير على جعل الرسائل المشفرة فريدة عند استخدام المفتاح نفسه.

    • مسار Nonce تسلسل مستقل لقيم Nonce تستخدمه بعض تصميمات الحسابات الذكية.

أخطاء شائعة في استخدام Nonce

من الأخطاء الشائعة الاعتقاد بأن جميع قيم Nonce لها المعنى نفسه.

ومنها أيضًا تعديل Nonce المعاملة يدويًا من دون التحقق من المعاملات المعلّقة.

والخطأ الثالث هو توقيع بيانات مكتوبة لا تتضمن Nonce.

والخطأ الرابع هو التحقق من توقيع عقد ذكي مع نسيان تعليم Nonce بأنها مستخدمة.

والخطأ الخامس هو استخدام Nonce من دون مُعرّف سلسلة أو من دون فصل نطاق العقد الذي يتحقق من التوقيع.

والخطأ السادس هو التعامل مع EIP-712 على أنه يوفر حماية تلقائية من إعادة الإرسال.

والخطأ السابع هو استخدام عشوائية ضعيفة لقيم Nonce العشوائية.

والخطأ الثامن هو إعادة استخدام قيم Nonce توقيع ECDSA أو كشفها.

والخطأ التاسع هو افتراض أن Nonce تمنع التصيد الاحتيالي.

والخطأ العاشر هو نسيان نقل حالة Nonce عند ترقية العقود.

أفضل الممارسات للمطورين

حدّد الغرض من Nonce قبل كتابة الشيفرة.

استخدم قيم Nonce تسلسلية عندما يكون الترتيب الصارم مطلوبًا.

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

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

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

علّم قيم Nonce بأنها مستخدمة عند نجاح التنفيذ.

اختبر محاولات إعادة الإرسال في اختبارات الوحدات واختبارات التكامل.

استخدم مكتبات تشفير خضعت للمراجعة للتوقيعات وقيم Nonce التشفير.

تجنب التوليد المخصص لقيم Nonce في ECDSA ما لم يستند إلى معايير خضعت لمراجعة جيدة.

وثّق سلوك Nonce بوضوح ليفهمه مطورو المحافظ والفهارس والمدققون والمستخدمون.

أفضل الممارسات للمستخدمين

دع محفظتك تدير قيم Nonce للمعاملات العادية ما لم تكن تفهم ترتيب المعاملات المعلّقة.

تحقق مما إذا كانت المعاملة عالقة قبل إرسال معاملات جديدة كثيرة من المحفظة نفسها.

استخدم ميزتي التسريع أو الإلغاء بحذر عند استبدال معاملة.

اقرأ رسائل تصاريح التوكن قبل توقيعها.

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

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

لا تفترض أن توقيع الرسالة آمن لمجرد أنه لا ينقل الأموال فورًا.

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

احمِ محافظ الأجهزة ووسائل الاسترداد عند حفظ أرصدة ذات قيمة.

تذكّر أن الحماية باستخدام Nonce قد تمنع إعادة الاستخدام، لكنها لا تجعل التوقيع الضار غير مؤذٍ.

متى تكون Nonce الأهم؟

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

وتكتسب أهميتها عند إرسال معاملات البلوكشين العادية.

كما تهم عند الموافقة على إنفاق التوكنات عبر التصاريح.

وتهم عند توقيع أوامر السوق.

وتهم عند إرسال رسائل الجسور.

وتهم عند الإدلاء بالأصوات أو توقيع تفويضات الحوكمة.

وتهم عند المطالبة بالإيردروب أو المكافآت.

وتهم عند تسجيل الدخول باستخدام توقيع المحفظة.

وتهم عند إنشاء توقيعات ECDSA.

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

Nonce في جملة واحدة

Nonce قيمة فريدة تُستخدم مرة واحدة ضمن سياق متعلق بالبلوكشين أو التشفير أو العقود الذكية، لدعم ترتيب المعاملات وتعدين إثبات العمل والحماية من إعادة الإرسال وأمان التوقيعات والتشفير وسلامة عمل المحافظ.

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

ما معنى Nonce في الكريبتو؟

تعني Nonce قيمة فريدة تُستخدم مرة واحدة ضمن سياق محدد في الكريبتو، مثل عدّاد المعاملات أو حقل التعدين أو معرّف رسالة موقّعة أو قيمة للتوقيع التشفيري.

ما هي Nonce في Ethereum؟

Nonce في Ethereum هي عدّاد يساعد على ترتيب معاملات الحساب ويمنع تنفيذ معاملتين تحملان Nonce المعاملة نفسها.

ما هي Nonce في Bitcoin؟

Nonce في Bitcoin حقل ضمن ترويسة الكتلة يغيّره المعدّنون أثناء البحث عن هاش لإثبات العمل يستوفي هدف الشبكة.

لماذا تستخدم المحافظ قيم Nonce؟

تستخدم المحافظ قيم Nonce لإنشاء تسلسلات معاملات صالحة ومنع إعادة الإرسال واستبدال المعاملات المعلّقة وتتبع المعاملة التالية.

هل يمكنني تغيير Nonce يدويًا؟

نعم، تتيح بعض المحافظ تعديل Nonce يدويًا، لكن ينبغي للمستخدمين فعل ذلك فقط إذا فهموا المعاملات المعلّقة وقواعد الاستبدال.

ماذا يحدث إذا استخدمت معاملتان Nonce نفسها؟

لا يمكن تنفيذ سوى معاملة واحدة تحمل المُرسِل نفسه وNonce نفسها، لذا تتنافسان على الخانة نفسها.

لماذا علقت معاملتي بسبب Nonce؟

قد تُحجب معاملة لاحقة إذا ظلت معاملة سابقة ذات Nonce أقل معلّقة.

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

تمنع Nonce هجمات إعادة الإرسال بجعل الإجراء الموقّع صالحًا للاستخدام مرة واحدة، وتمكين النظام من رفض Nonce نفسها بعد استهلاكها.

هل يتعامل EIP-712 تلقائيًا مع قيم Nonce؟

لا. ينظم EIP-712 البيانات المكتوبة، لكن يجب على المطورين تضمين فحوصات Nonce وتطبيقها في العقد أو التطبيق.

ما هي Nonce التصريح؟

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

ما هي Nonce التوقيع؟

Nonce التوقيع قيمة سرية خاصة بكل رسالة تستخدمها بعض خوارزميات التوقيع، وقد يؤدي التعامل غير السليم معها إلى كشف المفتاح الخاص.

هل تكون Nonce سرية دائمًا؟

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

الخاتمة

Nonce كلمة صغيرة لها معانٍ مهمة متعددة في العملات المشفرة.

وفي جوهرها، تتعلق Nonce بالتفرد.

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

في Ethereum، ترتب قيم Nonce الحساب المعاملات وتمنع تنفيذ المعاملة نفسها مرتين.

وفي تعدين Bitcoin، تمنح Nonce ترويسة الكتلة المعدّنين متغيرًا يغيّرونه أثناء البحث عن هاش صالح لإثبات العمل.

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

وفي تجريد الحساب، تتيح نماذج Nonce الأكثر مرونة للمحافظ الذكية دعم مسارات عمل متوازية ومنطق تفويض متقدم.

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

ترتبط هذه المعاني بالمبدأ نفسه، لكنها لا تعمل بالآليات نفسها.

Nonce التعدين عامة وتُختبر مرارًا.

وNonce الحساب عامة وتسلسلية.

وقد تكون Nonce العقد عدّادًا مخزنًا أو خريطة للرسائل المستخدمة.

وتحمي Nonce التصريح الموافقة الموقّعة.

أما Nonce التوقيع فيجب أن تكون سرية وأن تُولّد بأمان.

ولهذا يكون السياق مهمًا كلما ظهر المصطلح.

والدرس العملي الأهم للمستخدمين هو ترك المحافظ تدير التسلسل العادي للمعاملات، ما لم تكن هناك حاجة فعلية إلى التدخل اليدوي.

ينبغي للمستخدمين توخي الحذر مع المعاملات العالقة ومعاملات التسريع ومحاولات الإلغاء وإعدادات Nonce اليدوية.

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

أما أهم درس للمطورين فهو تصميم الحماية من إعادة الإرسال صراحةً.

ينبغي أن يتضمن كل توقيع يمكنه نقل قيمة أو تغيير حالة مهمة Nonce ونطاقًا وموعدًا نهائيًا عند الحاجة وتفاصيل واضحة للإجراء.

ويجب على العقود التحقق من Nonce واستهلاكها على نحو صحيح.

ينبغي للمحافظ عرض ما يفوضه المستخدم بلغة واضحة.

وينبغي للشيفرة التشفيرية استخدام مكتبات خضعت للمراجعة وأساليب آمنة لتوليد Nonce.

قد تبدو أخطاء Nonce صغيرة أثناء التطوير، لكنها تصبح خطيرة بعد النشر.

فقد يتيح غياب فحص Nonce تكرار المطالبات أو الموافقات.

وقد تحجب Nonce حساب خاطئة المعاملات.

وقد تكشف Nonce ضعيفة في ECDSA مفتاحًا خاصًا.

وقد يسمح غياب مُعرّف السلسلة بإعادة الإرسال بين السلاسل.

وقد تؤدي رسالة جسر من دون تتبع سليم لـ Nonce إلى معالجتها مرتين.

لذلك، ليست سلامة Nonce تفصيلًا تقنيًا اختياريًا.

بل هي جزء من الأساس الذي يتيح انتقال أصول الكريبتو وتنفيذ العقود وبحث المعدّنين وتوقيع المحافظ، ويمنح المستخدمين الثقة بأن الموافقة الواحدة تعني تنفيذ الإجراء المقصود مرة واحدة.
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?