39 / 691CBTX

معاملة كوينبيس

معاملة Coinbase هي المعاملة الأولى الإلزامية لكل كتلة بيتكوين. يحتوي على مدخل خاص واحد لا يستهلك UTXO الأقدم، ويسمح للقائم بالتعدين بالمطالبة على الأكثر بمكون المكافأة الصادر حديثًا بمبلغ معين بالإضافة إلى الرسوم في الكتلة، وينتج مخرجات لا تنضج لـ 100 كتلة أخرى.

Coinbase هو نوع من المعاملات يتم بالتراضي، وليس شركة Coinbase أو دفع منتظم. جنبًا إلى جنب مع الكتلة، تتحقق العقدة من نقطة الخروج الصفرية والارتفاع وفقًا لـ BIP34 وسقف المكافأة والمركز الصفري والنضج والتزام SegWit المحتمل. لا يتم قبوله في mempool بشكل منفصل.

يجب أن تحتوي الكتلة على معاملة واحدة على الأقل ويمكن أن تكون قاعدة العملات هي الأولى فقط. يتعرف عليه Bitcoin Core من خلال بنيته الدقيقة: مدخل واحد بـ 32 صفر بايت في تجزئة المخرج السابق وفهرس 0xffffffff. الإدخال لا يفتح UTXO موجود، لذلك لا يحتوي على توقيع عادي أو قيمة مسبقة. لا يزال من الممكن أن تحتوي المعاملة على مخرجات متعددة وإصدار عادي بالإضافة إلى وقت تأمين وtxid مخصص. [مرجع مطور البيتكوين - إدخال Coinbase] [مرجع مطور البيتكوين - سلسلة الكتل] [Bitcoin Core -معاملة.h (IsCoinBase)]

لا يمكن أن يتجاوز مجموع مخرجات Coinbase GetBlockSubsidy لهذا المبلغ بالإضافة إلى رسوم جميع المعاملات الصالحة الأخرى في الكتلة. فقط مكون المكافأة الصادر حديثًا هو الذي ينشئ ساتوشي جديدًا؛ رسوم تحويل ساتوشي الموجودة مسبقا. يمكن للقائم بالتعدين أن يطالب بمبلغ أقل ويختفي الفارق إلى الأبد، لكن ساتوشي واحد فوق الحد يبطل الكتلة بأكملها. لا يحدد الإجماع الانقسام بين المجمع أو عمال المناجم أو البرامج النصية المتعددة. [بيتكوين كور - validation.cpp] [بيتكوين كور - miner.cpp]

اعتبارًا من BIP34، يجب أن تبدأ قاعدة عملات scriptSig بارتفاع الكتلة الحالي كرقم CScript مشفر بالحد الأدنى. يبلغ حجم البرنامج النصي بأكمله من 2 إلى 100 بايت. قد يحمل الباقي رقمًا إضافيًا، أو علامة تجمع، أو التزام تعدين مدمج، ولكنه ليس خارج القواعد: سيؤدي الارتفاع أو الطول غير الصحيح إلى إبطال الكتلة، وقد تستهلك أكواد تشغيل التوقيع المضمنة حد sigop. [مرجع مطور البيتكوين - مدخلات Coinbase] [BIP 34 - ارتفاع الكتلة في قاعدة العملات]

يقوم ASIC بتغيير الرقم الموجود في الرأس، ولكن مساحة 32 بت تنفد بسرعة. وبالتالي، يقوم برنامج التعدين بتحويل النون الإضافي إلى قاعدة عملات معدنية؛ سيؤدي هذا إلى تغيير txid، ومعاملة جذر Merkle، وبالتالي رأس الكتلة، بحيث تحصل على مساحة تجزئة جديدة. تعمل بروتوكولات التجمع على تقسيم هذه المساحة بين العمال بحيث لا تتعارض أسهمهم. الرقم الإضافي هو قطعة تنسيق، وليس انبعاثًا إضافيًا. [Bitcoin Core - miner.cpp] [BIP 22 - getblocktemplate] [Stratum V2 - مواصفات بروتوكول التعدين]

تستخدم مخرجات Coinbase نصوص قفل مشتركة ويمكن تقسيمها بين عناوين أو سياسات متعددة. يمكن للمجمع الدفع إلى عنوان التحصيل، أو تقسيم الإيرادات على الفور، أو حجز المخرجات للمشغل. ومع ذلك، تتحقق العقدة من المبالغ والبرامج النصية، وليس العقود أو المالكين الفعليين. إن عتبات الدفع، وPPS، وFPPS، وPPLNS وعمليات السحب اللاحقة هي قواعد تجمع غير تابعة للبروتوكول. [بيتكوين كور - miner.cpp] [BIP 22 - getblocktemplate]

إذا كانت الكتلة تحتوي على معاملة شاهدة، فإن BIP141 يتطلب التزام شاهد قاعدة العملة في مخرج واحد: OP_RETURN بدءًا من 6a24aa21a9ed والتزام 32 بايت. يحتوي شاهد إدخال Coinbase على قيمة محجوزة واحدة تبلغ 32 بايت. إذا كان هناك المزيد من المخرجات المطابقة، فإن الإجماع يأخذ أعلى مؤشر. يربط هذا الإخراج جذر Merkle الشاهد؛ ليست مكافأة لعمال المناجم. [BIP 141 — التزام الشهود المنفصل]

يتم تمييز مخرجات قاعدة العملات بعلامة خاصة في مجموعة UTXO ولا يمكن إنفاقها إلا عندما يصل فرق ارتفاع الإنفاق وإنشاء الكتل إلى COINBASE_MATURITY، اليوم 100. لذلك، يمكن إنفاق المكافأة من الارتفاع H لأول مرة في الكتلة H+100. قد تظهر المحفظة اختلافًا واضحًا في تأكيد واحد لأن كتلة الإنشاء يتم احتسابها أولاً. النضج ليس النهاية. [بيتكوين كور — توافق الآراء (COINBASE_MATURITY)]

إذا خرجت الكتلة الملغومة من السلسلة النشطة مع معظم العمل أثناء إعادة التنظيم، فسوف تختفي مخرجات قاعدة العملات الخاصة بها من مجموعة UTXO النشطة. قد تكون المعاملات اللاحقة التي أنفقت المكافأة الناضجة بالفعل غير صالحة أيضًا. يؤدي التأخير بمقدار 100 كتلة إلى الحد من الضرر الناتج عن عمليات إعادة التنظيم القصيرة، ولكنه لا يضمن عدم قابلية التغيير. يجب أن يقوم المجمع بمراقبة السلسلة النشطة والنضج والتزاماته تجاه القائمين بالتعدين بشكل منفصل. [بيتكوين الأساسية - validation.cpp] [بيتكوين الأساسية - توافق الآراء.h (COINBASE_MATURITY)]

تتطلب العقدة الكاملة قاعدة عملات معدنية في الموضع صفر أثناء التحقق من الصحة، وترفض قاعدة عملات إضافية، وتتحقق من طول scriptSig وارتفاع BIP34، وتحسب رسوم المعاملات الأخرى وترفض المكافأة فوق الإصدار الجديد بالإضافة إلى الرسوم. كما أنه يتحقق من نطاقات القيمة والوزن والتزام الشهود والاستحقاق اللاحق للإنفاق. لا تنتمي قاعدة العملات المنفصلة التي لا تحتوي على سياق الارتفاع والكتلة إلى مجموعة الذاكرة. [بيتكوين الأساسية -معاملة.h (IsCoinBase)] [بيتكوين الأساسية - validation.cpp] [BIP 141 - التزام الشهود المنفصل]

في الكتل المبكرة، كان من الممكن إنشاء نفس قاعدة العملات txid لأن الارتفاع لم يكن إلزاميًا بعد. يمنع BIP30 الكتابة فوق المخرجات غير المنفقة للمعاملة القديمة، ويجعل BIP34 قواعد العملات الحديثة عادةً ذات ارتفاع فريد. يعد Genesis استثناءً تاريخيًا: فقاعدة العملات الخاصة به موجودة في كتلة متسلسلة، لكن رمز التهيئة لا يضع مخرجاته أبدًا في قاعدة بيانات UTXO القابلة للاستهلاك. لذلك، لا يمكن إنفاق الـ 50 BTC الشهيرة. [BIP 30 - المعاملات المكررة] [BIP 34 - ارتفاع الكتلة في قاعدة العملات] [Bitcoin Core - chainparams.cpp (إنشاء التكوين)]

للحصول على صورة أوضح، اقرأ هذا المدخل مع الكتلة, مكافأة إصدار الكتلة, رسوم المعاملات, تعدين بيتكوين, Block Template, Bitcoin. تشير إلى هذا المدخل أيضًا مكافأة إصدار الكتلة, تأكيد, Reorg, Stale Block.

DOC · 001Bitcoin Developer Reference — Coinbase inputتوثيق ↗DOC · 002Bitcoin Developer Reference — Block chainتوثيق ↗DOC · 003Bitcoin Core — transaction.h (IsCoinBase)توثيق ↗DOC · 004Bitcoin Core — validation.cppتوثيق ↗DOC · 005Bitcoin Core — consensus.h (COINBASE_MATURITY)توثيق ↗DOC · 006Bitcoin Core — miner.cppتوثيق ↗DOC · 007BIP 22 — getblocktemplateمواصفة ↗DOC · 008BIP 30 — Duplicate transactionsمواصفة ↗DOC · 009BIP 34 — Block height in coinbaseمواصفة ↗DOC · 010BIP 141 — Segregated Witness commitmentمواصفة ↗DOC · 011Bitcoin Core — chainparams.cpp (genesis construction)توثيق ↗DOC · 012Stratum V2 — Mining Protocol specificationمواصفة ↗
تمت المراجعة في 1 أغسطس 2026المصادر أولًا · ليست نصيحة استثمارية