38 / 6912X

الإنفاق المزدوج

تستخدم محاولة الإنفاق المزدوج معاملتين أو أكثر من معاملات Bitcoin المتضاربة التي تنفق واحدة على الأقل من نفس UTXO على تواريخ غير متوافقة بشكل متبادل. لا تقرأ العقد أي رصيد مرتين: فهي تتحقق من الإدخال مقابل UTXO الخاص بها ويقرر عرض الذاكرة وإثبات العمل أي سجل صالح سيبقى.

يمكن ملاحظة التعارض حتى قبل التسوية، لكن الإنفاق المزدوج الناجح يحدث فقط عندما تنفق الضحية قيمة لمعاملة واحدة ويفوز الآخر في السلسلة المستلمة. ولذلك، فإن استبدال دفعة المحفظة أو زيادة الرسوم غير المقصودة أو التعارض غير الناجح لا يعد احتيالًا تلقائيًا. إن السباق بدون conf والكتابة فوق الكتل الملتزمة لهما تكاليف ومخاطر مختلفة بشكل أساسي.

يشير كل إدخال إلى الإخراج السابق باستخدام txid والفهرس. هناك معاملتان متعارضتان عندما يشير مدخل واحد على الأقل إلى نفس نقطة الخروج غير المنفقة، لكن لا يمكنهما الدفع في نفس الوقت. عند التحقق من صحة كتلة، تتحقق العقدة من وجود الإدخال وأنه لم يتم إنفاقه مسبقًا في السجل المحدد أو في أي مكان آخر في نفس الكتلة. يبقى فرع واحد فقط في مجموعة UTXO الصالحة؛ لا ينتج الهجوم نسخة من ساتوشي، بل يحاول جعل المستلم يتصرف على الفرع الذي يخسر. [مستند معلومات البيتكوين - المعاملات وخادم الطابع الزمني والحسابات] [دليل مطور البيتكوين - المعاملات] [Bitcoin Core - validation.cpp]

لا يوجد تجمع مذكرات عالمي أو ترتيب إجماعي للمعاملات غير الملتزم بها قبل التعدين. يمكن للأقران أولاً رؤية تعارضات مختلفة بسبب الترويج أو الهيكل أو سياسة الرسوم أو حالة الحزمة أو عزل الكسوف. تعتبر سياسة المشاهدة لأول مرة بمثابة سياسة ترحيل، وليست التزامًا على القائمين بالتعدين لتأكيد الخيار الأول. يثبت txid الموجود على الواجهة الخلفية للتاجر فقط أن مرشحًا موقعًا واحدًا قد وصل، وليس أن الشبكة بأكملها قد شاهدته أو فازت بالكتلة. [دليل مطور البيتكوين - معالجة الدفع] [Bitcoin Core - بدائل Mempool]

يسمح الاستبدال برسوم للعقدة باستبدال تعارضات mempool التي تفي بقواعد الرسوم ومكافحة DoS؛ لقد كانت سياسة RBF الكاملة هي السياسة الافتراضية في Bitcoin Core منذ الإصدار 28. يمكن للمرسل زيادة رسوم الدفع المتوقفة بشكل شرعي والحفاظ على مخرجات المستلم، أو إعادة توجيه القيمة. في كلتا الحالتين، يرى الإجماع مرشحين مشتركين ويقبل البديل في سجل التعدين الصحيح. إشارة RBF، أو الاستبدال، أو النتوء وحده لا يثبت الاحتيال؛ مرة أخرى، المعاملة بدون إشارة ليست آمنة للتكوين الصفري. [Bitcoin Core - بدائل Mempool] [BIP 125 - الاشتراك في الاستبدال الكامل برسوم]

في هجوم السباق، يرسل الدافع معاملة واحدة إلى التاجر والصراع إلى عمال المناجم أو أقرانهم الآخرين، بحيث يصدر التاجر سلعًا غير قابلة للإرجاع قبل أن تحدد الكتلة خيارًا واحدًا. تعتمد النتيجة على الترويج وعرض الشبكة للتاجر واختيار عمال المناجم ووقت النقل. سيؤدي المزيد من المستمعين المستقلين إلى تحسين الاكتشاف، لكنهم لن يخلقوا نهائية حتمية. أسماء السباق وFinney وVector76 هي نماذج سيناريو، وليست صفائف المعاملات أو قواعد الإجماع المختلفة. [دليل مطوري البيتكوين - معالجة الدفع] [كرم وآخرون. — سوء السلوك في البيتكوين]

يعثر مهاجم من طراز Finney يتمتع بالقدرة على التعدين بشكل خاص أولاً على الكتلة التي تحتوي على التعارض ويعيد القيمة إليه، ثم يدفع للتاجر مبلغ صفر-conf بنفس UTXO، وينشر الكتلة المخفية بعد استلام البضائع. لا تنجح الخطة إلا إذا ظلت الكتلة قابلة للاستخدام وتقبلها الشبكة قبل أن تحبط كتلة منافسة نزيهة الإعداد؛ يخاطر المهاجم بكل من مكافأة الكتلة وتكاليف التعدين. يؤدي انتظار إدراج معاملة التاجر في الكتلة التي تم التحقق منها إلى إنهاء التسلسل الكلاسيكي، ولكنه لا يزيل مخاطر إعادة التنظيم اللاحقة. [ورقة عمل البيتكوين - المعاملات وخادم الطابع الزمني والحسابات] [Karame et al. — سوء السلوك في البيتكوين]

بمجرد التأكيد، لم يعد بإمكان التعارض دفع الدفعة خارج مجمع الذاكرة: يجب على الفرع الصالح البديل تخطي الدفع، وتضمين الإنفاق الثاني، والحصول على المزيد من العمل التسلسلي أكثر من السلسلة النشطة للمستلم. يمكن أن تحدث عملية إعادة التنظيم حتى بدون حدوث احتيال في عمليات كتل شبه متزامنة أو حادث برمجي أو شبكي؛ إن الإنفاق المزدوج الناجح ضد الضحية لا يؤدي إلا إلى اكتساب القيمة من خلال الفوز في الصراع. يمكن لـ Bitcoin Core إظهار التأكيدات السلبية وتضارب المحفظة لمعاملة المحفظة المفقودة. [Bitcoin Core - التحقق من الصحة] [Bitcoin Core - validation.cpp] [Bitcoin Core RPC - gettransaction]

تحدد حصة معدل التجزئة للمهاجم وعمق التأكيد والقيمة التي يمكن الحصول عليها السباق العشوائي للعمل الخاص والصادق. أقل من 50% لا يعني أن الفرصة معدومة؛ تزيد الأغلبية الدائمة بشكل كبير من إمكانية اللحاق بالركب، ولكنها لا تسمح للقائمين بالتعدين بتزوير التوقيعات، أو إنفاق UTXO الأجنبي، أو تجاوز الإصدار، أو إجبار العقد الكاملة على قبول كتلة غير صالحة. تشمل التكاليف قوة التجزئة والطاقة والمكافآت الصادقة المفقودة ومخاطر الخسارة والسيولة والتعرض؛ ويمكن أن يشمل الدخل أيضًا مراكز السوق، وبالتالي فإن مجرد سعر استئجار الآلات ليس كافيًا. [المستند التقني الخاص بالبيتكوين - المعاملات وخادم الطابع الزمني والحسابات] [روزنفيلد - تحليل الإنفاق المزدوج القائم على التجزئة] [غاراي وكياياس وليوناردوس - البروتوكول الأساسي للبيتكوين]

كل التزام إضافي يجبر الفرع البديل على إعادة المزيد من الأعمال المتراكمة، وبالنظر إلى الافتراضات، يقلل من احتمالية النجاح. لا يوجد رقم آمن عالمي: القهوة والسيارة والودائع في البورصة والسحب غير القابل للاسترداد تظهر لها قيمة ودوافع وإمكانية تصحيح مختلفة. التأكيدات الستة التي يتم الاستشهاد بها كثيرًا هي اتفاقية وليست إجماعًا. يجب أن تراقب السياسة أيضًا توزيع معدل التجزئة، وعمليات إعادة التنظيم غير العادية، والثقة في الواجهة الخلفية، ومخاطر الكسوف، وإمكانية عكس عمليات التسليم. [دليل مطوري البيتكوين - معالجة الدفع] [روزنفيلد - تحليل الإنفاق المزدوج القائم على معدل الهاش]

يمكن للواجهة الخلفية مراقبة عمليات إنفاق مجمع الذاكرة المتعارضة على العقدة الكاملة الخاصة بها، واستدعاء gettxspendingprevout، وقراءة تعارضات المحفظة، ومقارنة المعلومات النشطة والتحذير من فقدان التأكيد. يؤدي المزيد من العقد النظيرة أو العقد المستقلة إلى تقليل النقاط العمياء، لكن عدم وجود تعارض مكتشف يعد دليلًا ضعيفًا: يمكن للمهاجم اعتراضه أو إرساله إلى مكان آخر. يعرض Explorer طريقة عرض عقدة مخصصة وقد يتأخر. يسمح الكشف بإيقاف التوزيع؛ ولا يمكنها إخبار القائمين بالتعدين بالفوز أو تحويل الصفر إلى تأكيد. [Bitcoin Core RPC - gettransaction] [Bitcoin Core RPC - gettxspendingprevout] [Karame et al. — سوء السلوك في البيتكوين]

بالنسبة لتسوية onchain، قم بالتحقق من صحة العقدة الكاملة الخاصة بك، وربط الأمر برقم txid الدقيق والمخرجات والمبلغ، وضبط العمق وفقًا للخسارة المحتملة، وفي حالة إعادة التنظيم أو الصراع، قم بإيقاف التنفيذ وفصل الرصيد الدائن عن المبلغ القابل للسحب. لا تعامل سليل التغيير غير المؤكد على أنه مستقل عن الوالد. يتعامل Lightning مع المدفوعات المتكررة السريعة بشكل مختلف: تعمل نقطة التمويل المؤكدة على تثبيت القناة وتتحكم قواعد الالتزام/الإلغاء في حالة خارج السلسلة؛ تثق قناة Zero-Conf بالممول عن قصد ولا تقضي على مخاطر الإنفاق المزدوج للتمويل. [BOLT 2 - بروتوكول النظير] [Bitcoin Optech - قنوات صفرية]

للحصول على صورة أوضح، اقرأ هذا المدخل مع المعاملة, تأكيد, Mempool, Proof of Work, Replace-by-Fee (RBF), Bitcoin. تشير إلى هذا المدخل أيضًا تأكيد, Reorg, Stale Block, Replace-by-Fee (RBF).

DOC · 001Bitcoin whitepaper — Transactions, Timestamp Server and Calculationsتوثيق ↗DOC · 002Bitcoin Developer Guide — Payment Processingتوثيق ↗DOC · 003Bitcoin Developer Guide — Transactionsتوثيق ↗DOC · 004Bitcoin Core — Validationتوثيق ↗DOC · 005Bitcoin Core — Mempool Replacementsتوثيق ↗DOC · 006BIP 125 — Opt-in Full Replace-by-Feeمواصفة ↗DOC · 007Bitcoin Core — validation.cppتوثيق ↗DOC · 008Bitcoin Core RPC — gettransactionتوثيق ↗DOC · 009Bitcoin Core RPC — gettxspendingprevoutتوثيق ↗DOC · 010Rosenfeld — Analysis of Hashrate-Based Double Spendingتوثيق ↗DOC · 011Karame et al. — Misbehavior in Bitcoinتوثيق ↗DOC · 012Garay, Kiayias and Leonardos — The Bitcoin Backbone Protocolتوثيق ↗DOC · 013BOLT 2 — Peer Protocolمواصفة ↗DOC · 014Bitcoin Optech — Zero-conf channelsتوثيق ↗
تمت المراجعة في 1 أغسطس 2026المصادر أولًا · ليست نصيحة استثمارية