
Bitcoin Core ปรับดัชนีธุรกรรมใหม่ ลดขนาดฐานข้อมูล 40 GB แต่ต้อง Rebuild เองก่อนได้ผล
ทีมพัฒนา Bitcoin Core ผสานโค้ดปรับโครงสร้างดัชนีธุรกรรมทางเลือก (Optional Transaction Index หรือ -txindex) แบบใหม่เข้าสู่ Master Branch เรียบร้อยแล้ว ผลทดสอบของผู้พัฒนารายหนึ่งพบว่าสามารถลดขนาดฐานข้อมูลลงได้ถึงราว 40 กิกะไบต์ ตามรายงานของ CryptoSlate เมื่อวันที่ 26 สิงหาคม 2569
💾 ลดขนาดได้เท่าไหร่ ต้องทำอะไรบ้าง
Pull Request หมายเลข 35531 ที่ถูกผสานเข้า Master Branch เมื่อวันที่ 15 สิงหาคม ช่วยลดขนาดฐานข้อมูล txindex บน Mainnet ของผู้พัฒนาคนดังกล่าวจากราว 66 กิกะไบต์ เหลือเพียง 26 กิกะไบต์ หรือลดลงประมาณ 61% ทั้งนี้ การลดขนาดนี้จำกัดอยู่เฉพาะดัชนีทางเลือกตัวนี้เท่านั้น ไม่เกี่ยวข้องกับข้อมูลบล็อกเชนหลักหรือไฟล์อื่นๆ ในโฟลเดอร์ข้อมูลของโหนด
โค้ดนี้ถูกผสานเข้าต้นทางเรียบร้อยแล้ว แต่ไฟล์ไบนารีเวอร์ชันเสถียร (Stable Binary) จะต้องผ่านกระบวนการออกเวอร์ชันแยกต่างหาก และดัชนีเวอร์ชันของ Bitcoin Core ยังไม่ระบุชัดว่าเวอร์ชันไหนจะเป็นตัวแรกที่มีฟีเจอร์นี้ ผู้ใช้จึงต้องรอดูหมายเหตุการอัปเดตของเวอร์ชันที่นำฟีเจอร์นี้ไปใช้จริงอีกที
⚙️ ดัชนีขนาดเล็กลงทำงานอย่างไร
ตัวเลือก -txindex ของ Bitcoin Core ทำหน้าที่เก็บฐานข้อมูลสำหรับค้นหาธุรกรรมด้วยหมายเลข ID เต็มรูปแบบ รูปแบบเดิมจะเก็บ ID ธุรกรรมขนาด 32 ไบต์เป็นคีย์ในฐานข้อมูล พร้อมข้อมูลตำแหน่งของธุรกรรมบนดิสก์
โครงสร้างใหม่เปลี่ยนมาใช้คีย์ค้นหาที่สั้นลงมาก คือ Prefix ขนาด 5 ไบต์ที่คำนวณจากฟังก์ชัน SipHash แบบใส่ Salt ตามด้วย Suffix ขนาด 6 ไบต์ที่เข้ารหัสลำดับบล็อกและตำแหน่งธุรกรรม ระบบยังคงตรวจสอบ ID ธุรกรรมแบบเต็มก่อนส่งผลลัพธ์กลับเสมอ เพื่อป้องกันปัญหาการชนกัน (Collision) ที่อาจเกิดจากการใช้ Prefix สั้นลง โดย Bitcoin Optech อธิบายว่ากรณีชนกันจะทำให้ระบบต้องอ่านและตรวจสอบข้อมูลเพิ่มเติม แต่การตรวจสอบ ID เต็มจะป้องกันไม่ให้จับคู่ธุรกรรมผิดพลาด
⚡ ประสิทธิภาพและข้อควรระวัง
ผลทดสอบของผู้พัฒนาพบว่าประสิทธิภาพการค้นหายังคงเดิม ใช้เวลาราว 0.2 มิลลิวินาทีต่อครั้ง ส่วนการ Rebuild ดัชนีบน Mainnet ทั้งหมดใช้เวลา 1 ชั่วโมง 19 นาที เร็วกว่ารูปแบบเดิมที่ใช้เวลา 1 ชั่วโมง 50 นาที ทั้งนี้ ตัวเลขอาจแตกต่างกันไปตามฮาร์ดแวร์ พื้นที่จัดเก็บ ความสูงของเชน และเวอร์ชันซอฟต์แวร์ที่ใช้
ผู้ที่เปิดใช้ -txindex อยู่แล้วจะยังใช้ฐานข้อมูลเดิมได้ตามปกติหลังอัปเกรด ไม่มีการบังคับ Rebuild ทันที แต่ข้อมูลเดิมจะยังคงมีขนาดใหญ่แบบเดิม ต้องสร้างดัชนีใหม่เองถึงจะได้พื้นที่ลดลงตามที่ทดสอบไว้จริง
ที่ต้องระวังคือ หากในอนาคตต้องการดาวน์เกรดกลับไปใช้เวอร์ชันเก่าหลังจาก Rebuild ไปแล้ว จะต้อง Rebuild ดัชนีอีกครั้งในรูปแบบเก่า เพราะเวอร์ชันก่อนหน้าไม่สามารถอ่านข้อมูลในรูปแบบใหม่ที่บีบอัดแล้วได้ ผู้ดูแลโหนดจึงควรวางแผนล่วงหน้าหากมีความเป็นไปได้ที่จะต้องย้อนกลับเวอร์ชันในอนาคต
📎 ข่าวที่เกี่ยวข้องจาก Bitcoinaddict.com
ติดตามความเคลื่อนไหวการพัฒนา Bitcoin Core เพิ่มเติมได้จากที่เราเคยรายงานไว้
👉 Bitcoin Core เข้าสู่ Feature Freeze เวอร์ชัน 32.0 เตรียมออกจริงตุลาคมนี้
👉 Bitcoin Core ถกยกเลิก CJDNS หลังโหนดน้อยเสี่ยง Eclipse Attack ผู้ดูแลหลักเห็นด้วย
🔗 อ้างอิงต้นฉบับ: CryptoSlate
💬 ความเห็นบรรณาธิการ Bitcoinaddict
ข่าวนี้อาจดูเป็นเรื่องทางเทคนิคเฉพาะกลุ่มคนรัน Node แต่สะท้อนภาพที่ดีว่าทีมพัฒนา Bitcoin Core ยังคงทำงานปรับปรุงประสิทธิภาพเบื้องหลังอย่างต่อเนื่อง แม้จะไม่ใช่ฟีเจอร์ที่กระทบราคาหรือผู้ใช้ทั่วไปโดยตรง การลดภาระพื้นที่จัดเก็บแบบนี้มีความสำคัญต่อการกระจายศูนย์ในระยะยาว เพราะยิ่งใช้พื้นที่น้อยลง ยิ่งมีคนทั่วไปที่พร้อมรันโหนดของตัวเองได้ง่ายขึ้น ซึ่งเป็นหัวใจสำคัญของความปลอดภัยเครือข่าย Bitcoin ในภาพรวม
— รายงานโดยทีมข่าว Bitcoinaddict.com