ACINQ ผู้พัฒนาซอฟต์แวร์สำหรับ Bitcoin Lightning Network ออก Eclair 0.14.6 เมื่อวันที่ 27 ตุลาคม เพื่อแก้ปัญหาที่โหนดไม่หวังดีอาจอาศัยธุรกรรมเงินทุนของช่องทางที่ยังไม่ได้รับการยืนยัน การอัปเดตนี้กำหนดให้เงินทุนที่อีกฝ่ายนำมาใช้ในการ splice ต้องได้รับการยืนยันก่อน พร้อมปรับปรุงการชำระบัญชีเมื่อปิดช่องทางและการเรียกคืนเงิน โดย ACINQ แนะนำให้ผู้ดูแลโหนดอัปเกรดโดยเร็ว ทั้งนี้ยังไม่มีข้อมูลยืนยันว่าช่องโหว่ดังกล่าวถูกใช้โจมตีจริงหรือไม่
เงินทุนที่ยังไม่ยืนยันอาจกระทบการชำระเงินค้างอยู่
Lightning Network ใช้ช่องทางการชำระเงินเพื่อโอน Bitcoin โดยไม่ต้องบันทึกทุกธุรกรรมลงบนบล็อกเชน ผู้ดูแลช่องทางยังสามารถเพิ่มหรือลดสภาพคล่องในช่องทางเดิมผ่านกระบวนการ “splice” ซึ่งต้องอาศัยธุรกรรมบนบล็อกเชน
ความเสี่ยงเกิดขึ้นเมื่อช่องทางยอมรับเงินทุนจากอีกฝ่ายที่ธุรกรรมยังไม่ได้รับการยืนยันจากเครือข่าย Bitcoin โหนดไม่หวังดีอาจลงนามในธุรกรรม splice แล้วใช้การใช้จ่ายซ้ำ (double-spend) กับธุรกรรมที่เกี่ยวข้อง หากการจัดสรรเงินทุนเดิมใช้ไม่ได้ การชำระบัญชีของช่องทางที่พึ่งพาธุรกรรมนั้นก็อาจได้รับผลกระทบตามไปด้วย
หากช่องทางถูกปิดบนบล็อกเชนในภายหลัง การชำระเงินที่ยังค้างอยู่และมีสัญญาแบบมีเงื่อนไข (HTLC) รองรับอาจมีความเสี่ยง เพราะการชำระเงินเหล่านี้อาศัยธุรกรรมเงินทุนที่ใช้ไม่ได้แล้ว ACINQ ระบุว่าเป็นความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น แต่ไม่ได้ยืนยันว่ามีการขโมยเงินจริง
กำหนดให้เงินทุนจากอีกฝ่ายได้รับการยืนยันก่อน
Eclair 0.14.6 เพิ่มการตั้งค่าความปลอดภัยที่เปิดใช้งานเป็นค่าเริ่มต้น โดยกำหนดให้เงินทุนที่อีกฝ่ายใช้ในการ splice ได้รับการยืนยันก่อน นอกจากนี้ยังป้องกันไม่ให้ผู้ดูแลโหนดสร้างธุรกรรม splice ใหม่ต่อจากการเปลี่ยนแปลงเงินทุนที่ยังไม่ยืนยัน เพื่อลดความเสี่ยงจากสถานะเงินทุนที่ไม่น่าเชื่อถือสะสมจนกระทบการชำระบัญชี
ACINQ แยกข้อกำหนดใหม่นี้ออกจากกลไกป้องกันเงินทุนสองฝ่ายที่มีอยู่เดิม ซึ่งจะใช้เฉพาะกับการเปิดช่องทาง ส่วนการ splice อยู่ภายใต้ข้อกำหนดเรื่องการยืนยันใหม่นี้ สำหรับการทำธุรกรรมกับอีกฝ่ายที่ไม่น่าเชื่อถือ ACINQ ยังเตือนผู้ดูแลโหนดไม่ให้เปิดใช้ฟังก์ชัน commitment แบบไม่มีค่าธรรมเนียมที่เป็นตัวเลือกเสริม ซึ่งก่อนหน้านี้ปิดไว้เป็นค่าเริ่มต้นอยู่แล้ว
ปรับการปิดช่องทางและเรียกคืนเงินทุน
การอัปเดตยังปรับวิธีจัดการกรณีธุรกรรมเงินทุนของช่องทางยังไม่ได้รับการยืนยัน แต่จำเป็นต้องปิดช่องทาง ตามตรรกะการชำระบัญชีใหม่ Eclair จะเลือกธุรกรรม commitment ที่แบ็กเอนด์ Bitcoin Core ตรวจสอบได้ว่ามีเงินทุนรองรับ หากจำเป็น ซอฟต์แวร์จะย้อนกลับไปใช้สถานะเงินทุนล่าสุดที่ได้รับการยืนยัน เพื่อหลีกเลี่ยงการชำระบัญชีด้วยธุรกรรมที่หายไปจากพูลธุรกรรมที่รอการยืนยันในเครื่อง
อีกหนึ่งการแก้ไขมุ่งป้องกันกรณีที่เงินทุนไม่ได้รับการเรียกคืน ธุรกรรมบางรายการอาจได้รับการยืนยันโดยนักขุด แม้ Eclair จะไม่ถือว่าเป็นเส้นทางชำระบัญชีที่ต้องการแล้ว ตรรกะเดิมอาจเข้าใจผิดว่าธุรกรรมเหล่านี้เป็นของคู่สัญญา ทำให้ไม่ได้เรียกคืนเงินทุนและเอาต์พุตของการชำระเงินที่ยังค้างอยู่ เวอร์ชันใหม่จะตรวจจับธุรกรรมลักษณะนี้และพยายามเรียกคืนเอาต์พุตที่เกี่ยวข้อง
อัปเกรดได้โดยไม่ต้องปิดช่องทางเดิม
ACINQ ระบุว่าโหนดที่ยังใช้ Eclair เวอร์ชันเก่าควรติดตั้งแพตช์ และคงการป้องกันด้วยเงินทุนที่ได้รับการยืนยันซึ่งเปิดไว้เป็นค่าเริ่มต้น ขั้นตอนอัปเกรดคือหยุดซอฟต์แวร์ ติดตั้งเวอร์ชันใหม่ แล้วเริ่มโหนดอีกครั้ง โดยไม่จำเป็นต้องปิดช่องทางการชำระเงินที่มีอยู่
Erick Cestari นักวิจัยด้านความปลอดภัยเป็นผู้เปิดเผยปัญหาที่ได้รับการแก้ไขในการอัปเดตนี้อย่างรับผิดชอบ ACINQ เตือนว่าโหนดไม่หวังดีอาจใช้ประโยชน์จากปัญหาบางส่วนได้ แต่ข้อมูลที่เปิดเผยยังไม่ได้ระบุจำนวนโหนดที่ได้รับผลกระทบ หรือยืนยันว่ามีการโจมตีเกิดขึ้นแล้ว