
Bitcoin Core ถกยกเลิก CJDNS หลังโหนดน้อยเสี่ยง Eclipse Attack ผู้ดูแลหลักเห็นด้วย
ทีมพัฒนา Bitcoin Core กำลังถกเถียงกันว่าจะยกเลิกการรองรับ CJDNS โปรโตคอลเครือข่ายเข้ารหัสทางเลือกที่ใช้เชื่อมต่อระหว่างโหนด Bitcoin หรือไม่ หลังพบว่าจำนวนโหนดที่ใช้งานจริงมีน้อยเกินไปจนเสี่ยงต่อการถูกโจมตีแบบ Eclipse Attack (การโจมตีที่ตัดโหนดเป้าหมายออกจากเครือข่ายจริง แล้วล้อมด้วยโหนดปลอมทั้งหมด) ประเด็นนี้ถูกเปิดขึ้นในอิสชู #36041 บน GitHub ของโปรเจกต์ bitcoin/bitcoin โดย Martin Zumsande นักพัฒนา Bitcoin Core เมื่อเดือนสิงหาคม 2026 ตามรายงานของ CryptoSlate
📊 ตัวเลขโหนดที่น้อยจนน่าตกใจ
Zumsande ระบุว่าเขาทดลองรัน Bitcoin Core ด้วยคำสั่ง -onlynet=cjdns บน mainnet เพื่อความอยากรู้ พบว่าได้เชื่อมต่อกับ Peer สูงสุดไม่เกิน 4 รายเท่านั้น และบางวันเหลือแค่ 3 ราย ทั้งที่ Bitcoin Core มาพร้อม Fixed Seed ของ CJDNS ถึง 11 แห่ง สะท้อนว่าหลายแห่งอาจออฟไลน์ไปแล้ว ด้าน Andrew Chow (achow101) หนึ่งในผู้ดูแลโปรเจกต์ ตรวจสอบฐานข้อมูล Seeder ของตัวเองแล้วพบว่ามีที่อยู่ CJDNS อยู่ในฐานข้อมูลรวม 25 แห่ง เชื่อมต่อได้จริง 22 แห่ง แต่ผ่านเกณฑ์ "โหนดคุณภาพดี" (good node) เพียง 7 แห่งเท่านั้น
⚠️ ความเสี่ยง Eclipse Attack กับต้นทุนการดูแลรักษา
Zumsande อธิบายว่าโหนดที่ใช้ CJDNS เพียงอย่างเดียวมีความเสี่ยงถูก Eclipse Attack ได้ง่ายกว่าปกติ เพราะกลุ่มที่อยู่ที่ใช้งานได้จริงมีน้อยมาก ทำให้ผู้โจมตีสามารถควบคุมพื้นที่ที่อยู่ส่วนใหญ่ในเครือข่ายได้ไม่ยาก 151henry151 หนึ่งในผู้ร่วมพัฒนาเสนอแนวคิดว่าควรตั้งเกณฑ์จากต้นทุนการโจมตีจริง คือดูว่าผู้โจมตีต้องใช้โหนดกี่ตัวถึงจะยึดช่องเชื่อมต่อขาออกทั้งหมดของโหนดเป้าหมาย ซึ่งปกติ Bitcoin Core จะรักษาการเชื่อมต่อขาออกแบบ Full-relay 8 ช่อง และ Block-relay-only อีก 2 ช่อง
นอกจากปัญหาจำนวนโหนดน้อยแล้ว Zumsande ยังชี้ว่าต้นทุนการดูแลรักษาโค้ด CJDNS ก็ไม่น้อยเช่นกัน เพราะ CJDNS ไม่สามารถแยกออกจากระบบ IPv6 ได้อย่างสมบูรณ์ ทำให้ต้องมีโค้ดเสริมอย่าง -cjdnsreachable และฟังก์ชัน MaybeFlipIPv6toCJDNS ซึ่งเคยเป็นต้นเหตุของบั๊กหลายจุดมาแล้ว
💬 ความเห็นจากผู้ดูแลโปรเจกต์ตัวจริง
Pieter Wuille (sipa) หนึ่งในผู้ร่วมก่อตั้งและผู้ดูแลหลักของ Bitcoin Core แสดงความเห็นด้วยกับแนวคิดยกเลิก CJDNS โดยตรง ระบุว่า
"เห็นด้วยในหลักการที่จะยกเลิกการรองรับ CJDNS นอกจากจำนวนโหนดดิบที่น้อยแล้ว ผมยังตั้งคำถามถึงคุณค่าของเครือข่ายที่ในทางปฏิบัติต้องตั้งค่าเชื่อมต่อกันเองด้วยมืออยู่ดี ซึ่งผลลัพธ์ใกล้เคียงกันสามารถทำได้ด้วยคำสั่ง -addnode ที่ตั้งค่าน้อยกว่ามาก"
ด้าน MarcoFalke (maflcko) ผู้ดูแลอีกรายเห็นด้วยกับเกณฑ์ที่ Zumsande เสนอไว้ว่าจำนวนโหนดควรอยู่ในระดับหลักร้อยต้นๆ เป็นอย่างน้อยถึงจะคุ้มค่าคงไว้ พร้อมเสนอแผนที่ภายหลังถูกนำไปกำหนดเป็น Milestone จริงคือ ออกคำเตือนในเวอร์ชัน 32.x ก่อน แล้วค่อยถอดออกจริงในเวอร์ชัน 33.x ซึ่งสอดคล้องกับตารางเวลาที่ Bitcoin Core วางไว้สำหรับรอบพัฒนาปัจจุบันที่ Bitcoin Addict เคยรายงานไปแล้ว ขณะที่ fanquake และ brunoerg ผู้ดูแลอีก 2 รายก็แสดงความเห็นด้วยกับแนวทางยกเลิกเช่นกัน
🛡️ เสียงคัดค้าน: CJDNS ยังมีค่าในฐานะแผนสำรอง
อย่างไรก็ตาม Jon Atack (jonatack) ผู้ร่วมพัฒนาที่ดูแล CJDNS มายาวนาน แย้งว่าระบบ Auto-peering ที่เพิ่งเพิ่มเข้ามาตั้งแต่เดือนมกราคม 2025 ยังไม่ถูกประชาสัมพันธ์มากพอ โดยชี้ว่าเอกสารที่อัปเดตเรื่องนี้ไม่เคยถูกพูดถึงใน Release Note ของเวอร์ชัน 31.0 หรือ 31.1 เลย ทำให้คนไม่รู้ว่าการตั้งค่าง่ายขึ้นแล้ว เขามองว่าคุณค่าของ CJDNS ในตอนนี้คือการเป็นเส้นทางสำรอง เผื่อกรณีที่เครือข่าย Tor และ I2P ล่มพร้อมกันทั้งคู่ ซึ่งทั้งสองเครือข่ายเคยเจอการโจมตีรุนแรงมาแล้วในอดีต พร้อมยืนยันว่ายินดีดูแลรักษาโค้ดส่วนนี้ต่อไปเอง
ล่าสุด ณ วันที่ 23 สิงหาคม 2026 อิสชูนี้ยังคงเปิดอยู่ ยังไม่มี Branch การพัฒนาจริงหรือ Pull Request ใดถูกรวมเข้าโค้ดหลัก แต่ถูกกำหนดให้อยู่ใน Milestone ของเวอร์ชัน 32.0 แล้ว
📎 ข่าวที่เกี่ยวข้องจาก Bitcoinaddict.com
ติดตามความคืบหน้าของรอบพัฒนา Bitcoin Core เวอร์ชัน 32 ที่เราเคยรายงานไว้
👉 Bitcoin Core เข้าสู่ Feature Freeze เวอร์ชัน 32.0 เตรียมออกจริงตุลาคมนี้
🔗 อ้างอิงต้นฉบับ: CryptoSlate, GitHub (bitcoin/bitcoin Issue #36041)
💬 ความเห็นบรรณาธิการ Bitcoinaddict
ประเด็นนี้เป็นตัวอย่างที่ดีของการตัดสินใจเชิงวิศวกรรมที่ไม่ใช่แค่ขาวดำ เพราะ CJDNS แทบไม่มีคนใช้จริง แต่ก็มีข้อโต้แย้งที่สมเหตุสมผลว่ามันคือทางเลือกสำรองเผื่อ Tor และ I2P ล้มพร้อมกัน ซึ่งไม่ใช่สถานการณ์ที่เป็นไปไม่ได้เลย สำหรับผู้ใช้ทั่วไปที่รัน Node เอง ถ้าใช้ -onlynet=cjdns หรือ -cjdnsreachable อยู่ ควรติดตามเรื่องนี้ใกล้ชิด และไม่ควรพึ่งพา CJDNS เป็นเส้นทางเชื่อมต่อเพียงอย่างเดียวตั้งแต่ตอนนี้ เพราะแม้ผลจะออกมาทางไหนก็ตาม ทิศทางที่ชัดเจนคือทีมพัฒนาไม่แนะนำให้ใช้ CJDNS เดี่ยวๆ อีกต่อไปแล้ว
— รายงานโดยทีมข่าว Bitcoinaddict.com