قاعدة بيانات عقد البيتكوين المخفية تقلصت بـ40 جيجابايت، لكن فقط إذا أعاد المشغّلون بنائها

دمج فريق تطوير بيتكوين كور (Bitcoin Core) تصميمًا جديدًا لفهرس المعاملات الاختياري، مما أدى إلى تقليص حجم قاعدة البيانات بحوالي 40 جيجابايت في اختبار أجراه أحد المساهمين على الشبكة الرئيسية. المشغلون الذين يستخدمون خيار -txindex سيحتفظون بالفهارس الحالية لديهم عند الترقية، لكن الحصول على التوفير الكامل يتطلب إعادة إنشاء قاعدة البيانات.
ما الذي تغيّر في الفهرس؟
تم دمج طلب السحب رقم 35531 في الفرع الرئيسي لبيتكوين كور في 15 أغسطس، وقد قلّل حجم فهرس المعاملات المعاد بناؤه من حوالي 66 جيجابايت إلى 26 جيجابايت فقط. هذا التخفيض بنسبة 61% يقتصر على هذا الفهرس الاختياري فقط، ولا يشمل سلسلة الكتل أو باقي بيانات العقدة.
الكود مدمج الآن في الإصدار الرئيسي، لكن الإصدارات المستقرة تخضع لعملية إصدار منفصلة. لذلك، سيحتاج المشغلون إلى مراجعة ملاحظات الترحيل الخاصة بالإصدار الذي سيحمل هذا التحديث لمعرفة التفاصيل الدقيقة.
كيف يعمل الفهرس الأصغر؟
خيار -txindex في بيتكوين كور يحتفظ بقاعدة بيانات لاسترجاع المعاملات باستخدام معرّف المعاملة الكامل. في النسخة القديمة، كان النظام يخزن كل معرّف معاملة (32 بايت) كمفتاح في قاعدة البيانات مع بيانات موقع المعاملة على القرص.
أما التصميم الجديد فيستخدم مفتاح بحث أقصر بكثير: بادئة من 5 بايتات مشتقة من خوارزمية SipHash المملّحة، متبوعة بلاحقة من 6 بايتات ترمّز تسلسل الكتلة وموقع المعاملة داخلها. ومع ذلك، لا يزال النظام يتحقق من معرّف المعاملة الكامل قبل إرجاع النتيجة.
هذه الخطوة تحمي من التصادمات التي قد تنتج عن البادئة الأقصر. فالنظام يفحص جميع الإدخالات التي تشترك في نفس البادئة، ويحدد الكتل المرشحة، ويقرأ المعاملات المحتملة من القرص، ثم يقارن المعرّفات الكاملة. هذا يعني أن التصادمات تسبب فقط عملاً إضافيًا بسيطًا في القراءة والتحقق، لكنها لا تؤدي أبدًا إلى نتائج خاطئة.
ماذا عن الأداء؟
أظهرت الاختبارات أداءً مستقرًا. استغرقت عمليات البحث حوالي 0.2 ملي ثانية فقط. كما اكتملت إعادة بناء الفهرس على الشبكة الرئيسية في ساعة و19 دقيقة، مقارنة بساعة و50 دقيقة مع النسخة القديمة. لكن يجب ملاحظة أن هذه النتائج قد تختلف حسب العتاد والتخزين وارتفاع السلسلة وإصدار البرنامج.
ماذا يحدث عند الترقية؟
الخبر الجيد أن قواعد بيانات الفهرس الحالية تبقى قابلة للقراءة بعد الترقية، مما يعني عدم وجود إعادة بناء إجبارية فورية. لكن الإدخالات القديمة تحتفظ بحجمها الأكبر، لذا لتحقيق التوفير الكامل (40 جيجابايت) يجب إعادة إنشاء الفهرس من الصفر.
أما إذا قررت العودة إلى إصدار أقدم، فهناك تكلفة إضافية. إذ لا يمكن للإصدارات السابقة قراءة الإدخالات المكتوبة بالصيغة المضغوطة الجديدة، مما يعني أن العودة لإصدار قديم بعد إعادة البناء ستتطلب إعادة بناء أخرى بالصيغة القديمة.
الخلاصة العملية
الفوائد واضحة لمن يستخدم هذا الفهرس الاختياري: حجم أصغر بكثير وإعادة بناء أسرع. لكن الحصول على هذه الفوائد يتطلب تخطيطًا لإعادة إنشاء قاعدة البيانات، مع الانتباه إلى أن أي تراجع عن الإصدار الجديد سيكلفك إعادة بناء أخرى. تأكد من متابعة ملاحظات الإصدار الرسمية للحصول على التعليمات الدقيقة بمجرد وصول التغيير إلى إصدار مستقر.
أسئلة شائعة
هل سأفقد بياناتي عند الترقية إلى الإصدار الجديد من بيتكوين كور؟
لا، لن تفقد بياناتك. الترقية تحافظ على الفهرس الحالي وتجعله قابلاً للقراءة. لكن إذا أردت الحصول على التوفير الكامل في المساحة (حوالي 40 جيجابايت)، يجب عليك إعادة إنشاء الفهرس يدويًا بعد الترقية.
هل التصميم الجديد أقل أمانًا بسبب المفاتيح الأقصر؟
لا، الأمان لم يتأثر. على الرغم من أن مفتاح البحث أصبح أقصر (5 بايتات بدلاً من 32)، فإن النظام يتحقق دائمًا من المعرّف الكامل للمعاملة قبل إرجاع أي نتيجة. التصادمات المحتملة تسبب فقط عملاً إضافيًا بسيطًا في القراءة، لكنها لا تؤدي إلى نتائج خاطئة أبدًا.
هل يمكنني العودة إلى إصدار قديم بعد الترقية؟
نعم، يمكنك العودة، لكن يجب أن تعرف أن الإصدارات القديمة لا تستطيع قراءة الفهرس الجديد المضغوط. ستحتاج إلى إعادة بناء الفهرس بالصيغة القديمة، وهذا سيستغرق وقتًا إضافيًا وقد يعيدك إلى نفس حجم قاعدة البيانات السابق.












