414 / 736GLOZOW

Gloria Zhao

مطوّرة mempool وترحيل المعاملات ومراجعة الشيفرة

تعمل Gloria Zhao على كيفية انتقال معاملات Bitcoin عبر الشبكة وانتظارها التأكيد. ويساعد عملها على mempool وPackage Relay ورفع الرسوم في الإجابة عن سؤال عملي: كيف تصل دفعة نحتاجها إلى المعدّنين بعدما لم تعد رسومها الأصلية كافية؟

Gloria Zhao مطوّرة في Bitcoin Core ومؤلفة BIP 331 وBIP 431. تركز على mempool، أي مخزن المعاملات غير المؤكدة لدى كل عقدة، وعلى قواعد قبولها وإعادة إرسالها. هذه الأجزاء التي لا يراها المستخدم عادة تحدد المدفوعات التي تعرف بها العقدة وتنقلها إلى غيرها. ويتطلب تطويرها كتابة الشيفرة ومراجعتها بعناية والبحث عن طرق لمنع إساءة استخدامها.

انضمت Gloria Zhao إلى Brink في 4 يناير 2021 بوصفها أول زميلة يدعمها البرنامج. وفي 2022 أصبحت إحدى القائمات على صيانة Bitcoin Core، أي من المسؤولين عن شيفرته المصدرية وعملية تطويره. هذا عمل على برنامج محدد، وليس تعيينًا لقيادة Bitcoin. وتصفها صفحة المشاركين السابقين في Brink، التي روجعت عند إعداد هذا النص، بأنها مسؤولة صيانة سابقة. لذلك تهم التواريخ عند قراءة سيرتها: خبر التعيين القديم لا يثبت المنصب الذي يشغله الشخص اليوم. [1] [2]

حتى الشيفرة الجيدة تحتاج إلى أشخاص آخرين يفحصونها. شاركت Zhao في Bitcoin Core PR Review Club، حيث يتعلم المساهمون الجدد قراءة التعديلات المقترحة والنظر في آثارها. وPR، أو pull request، هو طلب إدراج تعديل في المشروع. يساعد النادي على فهم المشكلة التي يعالجها التعديل وكيفية مراجعته؛ وليس هدفه الأساسي دفع طلب بعينه إلى الدمج. فالنقاش وسيلة للتعلم والاستعداد، لا موافقة تلقائية على الشيفرة أو الإصدار. [2] [3]

ليس mempool طابورًا واحدًا تتشاركه الشبكة كلها. تقرر كل عقدة أي المعاملات غير المؤكدة تقبلها وتنقلها، بالنظر مثلًا إلى الرسوم وحماية مواردها من الاستنزاف. هذه سياسة محلية تختلف عن قواعد الإجماع التي تتحقق بها العقد من صلاحية الكتل. وقّعت Zhao بيان المطوّرين الصادر في 6 يونيو 2025، الذي يؤكد اختيار المستخدم لبرنامجه. يستطيع المطوّر اقتراح سياسة مختلفة، لكن توقيعه أو صلاحية صيانة المستودع لا يغيّران البرامج على عقد الآخرين. [4]

قد تنفق معاملة أموالًا من معاملة أخرى لم تتأكد بعد. تسمى السابقة المعاملة الأم، والتي تعتمد عليها المعاملة الابنة. يقترح BIP 331 الذي كتبته Zhao آلية Package Relay، أي إرسال المعاملات المترابطة في حزمة. تتفاوض العقد على الدعم عبر sendpackages، وتحصل أولًا على معلومات عن المعاملات السابقة اللازمة ثم على بيانات المعاملات نفسها. بذلك تتجنب البحث المتعب عن كل حلقة مفقودة على حدة. حالة الوثيقة هي Draft، أي مسودة؛ ووجودها لا يثبت نشر البروتوكول كاملًا في الشبكة. [5]

لنفترض أنك تلقيت دفعة غير مؤكدة برسوم منخفضة جدًا. إذا كنت تستطيع إنفاق مخرجها، يمكنك إنشاء معاملة لاحقة برسوم أعلى. هذا هو CPFP، أو Child Pays for Parent: لكي يحصل المعدّن على رسوم الابنة، عليه أن يضم الأم أيضًا، فيستطيع تقييمهما معًا. لكن العقدة التي لا تعرف الأم لا تستطيع عادة قبول الابنة وحدها. يعالج BIP 331 هذه العقبة في النقل. ولا تعوّض الرسوم الأعلى عن التواقيع والمدخلات الصالحة، ولا تضمن التأكيد قبل موعد معين. [5]

قدّم Bitcoin Core 28.0 إجراءً محدودًا باسم 1P1C، أي معاملة أم واحدة وابنة واحدة. وباستخدام اتصال P2P القائم، وهو التبادل المباشر بين العقد، أمكن جمع المعاملات المناسبة وتقييمها معًا. هذا تحسن فعلي، لكنه ليس نشرًا كاملًا لـ BIP 331. وتوضح ملاحظات الإصدار أن هذا الإجراء الشبكي لا يدعم ابنة تعتمد على عدة معاملات أم غير مؤكدة، وأنه ليس موثوقًا بعد عند التعرض لهجوم. لذا يهم مطوّر المحفظة التي تعتمد على النقل التمييز بين وظيفة محدودة ومقترح أوسع. [5] [6]

يمكن للمهاجم استغلال حدود mempool لتعقيد استبدال المعاملة أو رفع رسومها. يسمى ذلك pinning. تقيد سياسة TRUC اعتماد المعاملات بعضها على بعض قبل التأكيد، لتسهيل تقييم قبولها أو استبدالها. أدخلها Bitcoin Core 28.0 للمعاملات ذات nVersion=3. ويصف BIP 431، من تأليف Zhao، هذا النهج في وثيقة معلوماتية بحالة Draft. يساعد تقييد المعاملات السابقة واللاحقة غير المؤكدة، لكن الحماية تعتمد أيضًا على تبني العقد الأخرى لهذه السياسة. وليست ضمانًا ضد كل pinning، ولا وعدًا بإدراج المعاملة في كتلة في الوقت المطلوب. [6] [7]

يمكن للتطبيق تقديم حزمة إلى عقدته عبر submitpackage. توضح وثائق Bitcoin Core 28.0 أن هذا الأمر، المتاح عبر واجهة RPC للتواصل مع العقدة، يفحص قواعد الإجماع وسياسة mempool. وقد تقبل المعاملات التي اجتازت الفحص حتى لو فشل جزء آخر من الحزمة. لذلك لا يلغي الخطأ بالضرورة النتيجة كلها. ينبغي قراءة الرسالة العامة package_msg والنتائج الفردية tx-results. وحتى النجاح المحلي لا يثبت أن الحزمة وصلت إلى الشبكة كلها أو أن معاملاتها دخلت كتلة. [8]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Mike Hearn, Mempool, Package Relay. تشير إلى هذا المدخل أيضًا Package Relay, Mike Hearn, Sergio Demian Lerner.

DOC · 001Brink — Gloria Zhao dated contribution historyتوثيق DOC · 002Brink — program alumniتوثيق DOC · 003Bitcoin Core PR Review Club — purposeتوثيق DOC · 004Bitcoin Core — relay policy statementتوثيق DOC · 005BIP 331 — Ancestor Package Relayتوثيق DOC · 006Bitcoin Core 28.0 — release notesتوثيق DOC · 007BIP 431 — Topology Restrictions for Pinningتوثيق DOC · 008Bitcoin Core 28.0 — submitpackageتوثيق
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية