2 ชั่วโมงที่แล้ว

Lightning เข้มงวดกฎใบแจ้งชำระเงิน หลังมีรายงานการโจมตีที่ทำให้การถอนเงินที่จ่ายแล้วถูกมองว่ายังไม่จ่าย

Lightning tightens invoice rules after reported attack made Bitcoin withdrawals look unpaid

CryptoSlate

นักพัฒนา Lightning ปรับปรุง BOLT11 ซึ่งเป็นมาตรฐานใบแจ้งชำระเงินของ Lightning Network เมื่อวันที่ 19 ตุลาคม โดยกำหนดให้ปฏิเสธฟิลด์ payment-hash และ payment-secret ที่กำกวม การปรับปรุงนี้เกิดขึ้นหลังนักพัฒนารายหนึ่งเปิดเผยเหตุโจมตีที่ทำให้การถอนบิตคอยน์ที่เสร็จสมบูรณ์แล้วดูเหมือนยังไม่ได้จ่าย การแก้ไขที่ถูกรวมเข้ามานี้จัดการความแตกต่างในการตีความคำขอชำระเงินที่ลงนามแล้วรายการเดียวของส่วนประกอบซอฟต์แวร์ต่างๆ payment hash ใช้ระบุการชำระเงินที่ส่วนประกอบหนึ่งกำลังติดตาม Bitcoin Optech ให้ความสนใจกับการแก้ไขนี้เมื่อวันที่ 23 ตุลาคม

โรอัสบีฟ นักพัฒนา รายงานเหตุแฮ็กบอตเพียร์ทูเพียร์บน Telegram เมื่อไม่นานมานี้ ในคำชี้แจงเกี่ยวกับข้อเสนอเมื่อวันที่ 10 กันยายน โรอัสบีฟกล่าวว่าการโจมตีอาศัยไลบรารีที่เลือกแฮชจากใบแจ้งชำระเงินต่างกัน โดยบางไลบรารีเลือกฟิลด์ payment-hash ตัวแรก ขณะที่บางไลบรารีเลือกตัวสุดท้าย โรอัสบีฟไม่ได้ระบุวันที่เกิดเหตุหรือจำนวนเงินที่สูญเสียไป บริการหนึ่งอาจบันทึกการถอนเงินไว้กับแฮชหนึ่ง ขณะที่โหนดจ่ายเงินตามแฮชอีกตัว บริการจึงอาจจัดประเภทการถอนเงินที่เสร็จสมบูรณ์แล้วว่ายังไม่ได้จ่าย และทำให้มีการจ่ายเงินเพิ่มเติมได้ ความผิดพลาดเกิดขึ้นตรงจุดเชื่อมต่อระหว่างการดำเนินการชำระเงินกับการบันทึกบัญชีของบริการ

ข้อกำหนด BOLT11 ฉบับปัจจุบันอนุญาตให้มีฟิลด์ payment-hash ที่กำหนดด้วย p ได้เพียงหนึ่งฟิลด์ และฟิลด์ payment-secret ที่กำหนดด้วย s ได้เพียงหนึ่งฟิลด์ หากไม่มีฟิลด์ใดฟิลด์หนึ่งหรือมีฟิลด์ซ้ำ จะต้องทำให้การชำระเงินล้มเหลว ข้อกำหนดนี้จัดการความกำกวมของฟิลด์ทั้งสองประเภท แม้การโจมตีที่มีรายงานจะเกี่ยวข้องกับ payment hash ที่ขัดแย้งกัน ผู้อ่านใบแจ้งชำระเงินต้องนับจำนวนครั้งที่ฟิลด์ปรากฏ ไม่ใช่นับเฉพาะค่าที่แตกต่างกัน ข้อเสนอนี้มีใบแจ้งชำระเงินทดสอบที่ไม่ถูกต้อง ซึ่งมีแฮชเดิมซ้ำกันและมีแฮชต่างกัน การรวมแฮชที่เหมือนกันให้เหลือค่าเดียวจึงไม่สามารถระบุใบแจ้งชำระเงินที่ต้องถูกปฏิเสธได้

ซอฟต์แวร์โหนด Lightning อย่าง lnd รวมการปฏิเสธแฮชซ้ำเมื่อวันที่ 23 กันยายน ก่อนการปรับปรุงข้อกำหนด รุ่น lnd ที่มีให้ใช้งาน ได้แก่ v0.20.5-beta และ v0.21.4-beta มีการแก้ไข payment-hash แล้ว ข้อเสนอแยกต่างหากของ lnd ที่จัดการการตรวจสอบ payment-secret ในวงกว้างยังเปิดอยู่ ณ วันที่ 27 ตุลาคม ข้อเสนอนี้จะเพิ่มความเข้มงวดในการตรวจสอบ payment-secret และการตรวจสอบตัวถอดรหัสอื่นๆ รวมถึงการปฏิเสธฟิลด์ s ที่ซ้ำกัน ผู้เขียนข้อเสนออธิบายว่า การตรวจสอบในขั้นตอนประมวลผลการชำระเงินภายหลังใช้กับใบแจ้งชำระเงินบางรายการที่ตัวถอดรหัสยอมรับอยู่แล้ว ดังนั้น การถอดรหัสสำเร็จเพียงอย่างเดียวไม่ได้ยืนยันว่าการชำระเงินจะสำเร็จ

ความผิดพลาดที่มีการบันทึกไว้ชี้ให้ผู้ให้บริการชำระเงินปฏิเสธใบแจ้งชำระเงินที่กำกวม การบันทึกบัญชีการถอนเงินยังต้องใช้ payment hash เดียวกับที่โหนดใช้

This content is an AI-generated summary/analysis for informational purposes only and does not constitute investment advice.