Lightning Labs เปิดเผยบั๊กร้ายแรงที่ทำให้ใบแจ้งหนี้ที่ยกเลิกแล้วถูกทำเครื่องหมายว่าชำระเงินแล้ว เสี่ยงต่อการส่งมอบสินค้าโดยไม่ได้รับชำระเงิน
#Bitcoin#ความปลอดภัย#ช่องโหว่#Lightning Network#Lightning Labs

เกิดอะไรขึ้น?
Lightning Labs เปิดเผยเมื่อวันที่ 21 กันยายน 2026 ว่าซอฟต์แวร์ Lightning Terminal เวอร์ชันเก่ามีช่องโหว่ที่ทำให้ใบแจ้งหนี้ (invoice) บนเครือข่าย Bitcoin Lightning ถูกบันทึกว่า "ชำระเรียบร้อยแล้ว" ทั้งที่การชำระเงินถูกยกเลิกและเงินคืนไปยังผู้ส่งแล้ว
Lightning Terminal คือซอฟต์แวร์ที่รวมเครื่องมือสองตัวไว้ด้วยกัน คือ tapd (ซอฟต์แวร์สำหรับ Taproot Assets) และ lnd (โหนด Lightning) ช่องโหว่นี้เกิดจากสองจุดบกพร่องที่ทำงานร่วมกัน
ทำไมถึงสำคัญสำหรับร้านค้าที่รับ Bitcoin?
ลองนึกภาพร้านค้าที่รับชำระผ่าน Lightning Network ปกติแล้ว ระบบจะแสดงสถานะใบแจ้งหนี้ว่า "จ่ายแล้ว" เมื่อเงินเข้าจริง แต่กับช่องโหว่นี้ ระบบบันทึกใบแจ้งหนี้กับผลการชำระเงินไม่ตรงกัน — การชำระเงินซึ่งใช้สัญญา HTLC (hashed time-locked contract) ถูกยกเลิกบนเครือข่ายและเงินคืนไปผู้ส่ง แต่โหนดผู้รับยังบันทึกว่าใบแจ้งหนี้ปิดแล้ว
ผลคือร้านค้าที่เชื่อสถานะนี้อาจส่งมอบสินค้าหรือให้เครดิตโดยไม่ได้รับเงินจริง Lightning Labs จัดระดับช่องโหว่นี้เป็นความเสี่ยงระดับสูง (high severity) แต่ระบุว่า เงินฝั่งผู้ส่งไม่ได้รับความเสี่ยง และยังไม่มีการเปิดเผยยอดความเสียหายจริงของร้านค้า
ช่องโหว่ทำงานอย่างไร?
มีสองจุดบกพร่อง:
- ฝั่ง tapd: tapd เปิดใช้ invoice interceptor และถือว่า HTLC ใดที่มี custom wire records เป็นการชำระด้วย asset บาง sender เพิ่ม experimental endorsement record ลงในการชำระ BTC ปกติ ทำให้กฎ strict-forwarding ของ tapd สั่งให้ lnd ยกเลิก HTLC set ทั้งชุด โดยไม่จำเป็นต้องมี asset channels เปิดอยู่เลย
- ฝั่ง lnd: เมื่อ interceptor ยกเลิก HTLC set เวอร์ชันที่ได้รับผลกระทบยกเลิกการชำระบนเครือข่าย แต่ยังบันทึกใบแจ้งหนี้ว่าปิดแล้วในฐานข้อมูล ซึ่งบกพร่องนี้อยู่ใน client อื่นของอินเทอร์เฟซ HtlcModifier ของ lnd ก็สร้างความไม่ตรงกันแบบเดียวกันได้
ที่สำคัญ คณะกรรมการไม่ได้ระบุว่าเป็นความล้มเหลวของ Bitcoin base chain แต่เป็นบั๊กในซอฟต์แวร์ระดับแอปพลิเคชันเท่านั้น
แก้ไขแล้วหรือยัง แล้วผู้ใช้ต้องทำอะไร?
น่าสนใจว่าแพตช์ทั้งหมดออกก่อนการเปิดเผยข้อมูลเสียอีก:
- tapd แก้จุดที่เป็นตัวกระตุ้นในเวอร์ชัน v0.5.1 (12 กุมภาพันธ์ 2025) โดย Lightning Terminal v0.14.1-alpha รวมแพตช์นี้มาให้ แต่ lnd ที่แถมมาด้วยยังมีบั๊กสถานะใบแจ้งหนี้อยู่
- lnd v0.19.0-beta แก้บั๊กการบันทึกบัญชีเมื่อ 22 พฤษภาคม 2025
- Lightning Terminal v0.15.0-alpha รวมแพตช์ทั้งสองจุด
เวอร์ชันที่ได้รับผลกระทบคือ Terminal เวอร์ชันก่อนหน้าทั้งหมด, taproot assets ถึง v0.5.0 และ lnd 0.18.4-beta ถึง 0.18.5-beta
สำหรับผู้ดูแลโหนดที่ยังอัปเดตไม่ได้และไม่มี asset channels Lightning Labs ระบุวิธีหลีกเลี่ยงคือใช้พารามิเตอร์ --taproot-assets-mode=disable เพื่อปิด trigger ของ tapd ที่ถูกสังเกตพบ
สำหรับร้านค้าและผู้ให้บริการชำระเงินในไทยที่รันโหนด Lightning เอง ข้อคิดคืออย่าเชื่อสถานะ "จ่ายแล้ว" จากซอฟต์แวร์เวอร์ชันเก่าเพียงอย่างเดียว และตรวจสอบว่าเวอร์ชัน lnd และ Lightning Terminal ที่ใช้อยู่รวมแพตช์ปี 2025 ครบแล้วหรือไม่




ความคิดเห็น (0)