Extranonce بيانات قابلة للتغيير تُدرج عادةً في مُدخل معاملة coinbase. يوفّر تغييرها مدخلات جديدة لجذر Merkle وتجزئة الترويسة دون توسيع حقل nonce ذي 32 بت فيها.
حقل nonce ذو 32 بت ويتيح 2^32 قيمة لترويسة ثابتة في بقية أجزائها. لا يمدّد Extranonce هذا الحقل. بل يغيّر بيانات أخرى ليتمكن المعدّن من بناء ترويسة أخرى وتجربة قيم nonce مجددًا. [Bitcoin Developer Guide — Mining and nonce space]
يغيّر تعديل extranonce في coinbase تسلسلها البايتّي وTXID الخاص بها؛ ثم يُعاد حساب الفرع المعني من شجرة Merkle وجذر Merkle في الترويسة. لا يلزم تغيير بقية المعاملات، لكن لا يمكن الإبقاء على الجذر القديم دون إعادة حساب. [Bitcoin Developer Guide — Mining and nonce space]
يتيح بايتان حُرّان بالكامل 2^16 بديلًا. وفي نموذج يضم nonce ذا 32 بت وبقية البيانات ثابتة، ينتج 2^48 تركيبًا للمدخلات. هذا فضاء لمحاولات مختلفة، لا عدد كتل مكتشفة ولا ضمان نجاح بعد استنفاده. [Bitcoin Developer Guide — Mining and nonce space]
يفرض BIP 34 ارتفاع الكتلة مرمّزًا بصورة صحيحة في بداية scriptSig لـcoinbase. ينطبق حد 100 بايت على scriptSig كاملًا، لا على extranonce وحده. يجب ألا تطمس المنطقة الحرة الارتفاع أو تخالف تنسيق المعاملة. [BIP 34 — Height in coinbase] [Bitcoin Developer Reference — Coinbase input]
يقسّم Stratum V2 قيمة extended extranonce إلى بادئ upstream ثابت وجزء محجوز محليًا ومساحة downstream. يمنع التقسيم البحث المتداخل المهدَر. لا يصبح extranonce_prefix المخصّص تلقائيًا مساحة يحق للمعدّن الطرفي تغييرها بحرية. [Stratum V2 — Extended extranonce and jobs]
في SubmitSharesExtended تُجمع coinbase بترتيب coinbase_tx_prefix ثم extranonce_prefix ثم extranonce ثم coinbase_tx_suffix. يجب أن تكون بايتات extranonce المرسلة بالطول المتفق عليه. العدد نفسه بترميز أقصر من البايتات لا ينتج بالضرورة المعاملة نفسها. [Stratum V2 — Extended extranonce and jobs]
يستخدم Standard Job في Stratum V2 جذر Merkle ثابتًا؛ وتتغير الأجزاء المسموحة فقط من version وnonce وnTime. لذا لا يرسل الجهاز القياسي extranonce بنفسه كما تفعل قناة extended. يمكن لعقدة أعلى أن تعدّل coinbase عند تحضير مهمة جديدة. [Stratum V2 — Extended extranonce and jobs]
ينطبق SetExtranoncePrefix في Stratum V2 على المهام المرسلة بعد الرسالة في القناة المحددة. يجب أن تبقى النتيجة مرتبطة بـjob_id الصحيح والمساحة المخصّصة. لا يغني أحدث بادئ عن سجل المهمة التي أنتجت نتيجة أقدم. [Stratum V2 — Extended extranonce and jobs]
للحصول على صورة أوضح، اقرأ هذا المدخل مع Nonce, شجرة Merkle, Mining Share, Block Template. تشير إلى هذا المدخل أيضًا ASIC Miner, Block Template, getblocktemplate.