ACINQ, nhà phát triển Bitcoin Lightning Network, phát hành Eclair 0.14.6 ngày 27/10 để khắc phục vấn đề trong đó nút độc hại có thể lợi dụng giao dịch cấp vốn chưa được xác nhận của kênh. Bản cập nhật mặc định yêu cầu đối tác sử dụng đầu vào đã được mạng Bitcoin xác nhận khi splice kênh, đồng thời điều chỉnh cách tất toán và thu hồi tiền khi đóng kênh. ACINQ khuyến nghị nhà vận hành nút sớm nâng cấp; hiện chưa rõ lỗ hổng đã bị khai thác trên thực tế hay chưa.
Đầu vào chưa xác nhận có thể ảnh hưởng khoản thanh toán chờ xử lý
Lightning Network xử lý giao dịch Bitcoin thông qua các kênh thanh toán, nhờ đó người dùng không cần ghi từng giao dịch lên blockchain Bitcoin. Nhà vận hành cũng có thể dùng tính năng “splice” để bổ sung hoặc rút thanh khoản khỏi kênh hiện có; các thay đổi về nguồn vốn này cần được hỗ trợ bằng giao dịch trên chuỗi.
Rủi ro phát sinh khi kênh chấp nhận đầu vào cấp vốn do đối tác cung cấp nhưng chưa được mạng Bitcoin xác nhận. Một nút độc hại có thể ký giao dịch splice rồi thực hiện chi tiêu kép đối với giao dịch liên quan. Nếu thỏa thuận cấp vốn ban đầu mất hiệu lực, việc tất toán kênh dựa trên thỏa thuận đó cũng có thể bị ảnh hưởng.
Nếu kênh sau đó bị đóng trên blockchain Bitcoin, các khoản thanh toán đang chờ được bảo đảm bằng hợp đồng khóa thời gian băm (HTLC) có thể gặp rủi ro, vì việc tất toán phụ thuộc vào giao dịch cấp vốn đã mất hiệu lực. ACINQ mô tả đây là nguy cơ bảo mật tiềm tàng, nhưng không xác nhận đã xảy ra vụ đánh cắp tiền nào.
Eclair mặc định yêu cầu đầu vào splice được xác nhận
Eclair 0.14.6 bổ sung thiết lập bảo mật, theo đó mặc định đầu vào mà đối tác dùng để splice kênh phải được xác nhận trước. Thiết lập này cũng ngăn nhà vận hành tiếp tục tạo giao dịch splice mới dựa trên những thay đổi nguồn vốn chưa được xác nhận, hạn chế rủi ro tất toán do trạng thái vốn thiếu tin cậy tích tụ.
ACINQ phân biệt yêu cầu mới với cơ chế bảo vệ cấp vốn hai bên vốn có: cơ chế cũ hiện chỉ áp dụng khi tạo kênh, còn thao tác splice được kiểm soát bằng yêu cầu xác nhận mới. Với đối tác không đáng tin cậy, ACINQ cũng khuyến cáo nhà vận hành không bật tính năng cam kết phí bằng 0 tùy chọn khi splice. Tính năng này vốn đã bị tắt theo mặc định.
Đóng cưỡng bức sẽ quay về trạng thái vốn đã xác nhận
Bản cập nhật cũng cải thiện cách xử lý khi giao dịch cấp vốn cho kênh vẫn chưa được xác nhận nhưng kênh buộc phải đóng. Theo logic tất toán mới, Eclair chọn giao dịch cam kết mà phần phụ trợ Bitcoin Core nhận diện là có nguồn vốn bảo đảm. Khi cần thiết, phần mềm sẽ quay về trạng thái vốn mới nhất đã được xác nhận, thay vì tất toán bằng giao dịch cấp vốn đã biến mất khỏi mempool cục bộ.
Một sửa lỗi khác xử lý trường hợp tiền có thể bị bỏ sót, không được nhận lại. Một số giao dịch vẫn có thể được thợ đào xác nhận sau khi Eclair không còn xem chúng là phương án tất toán ưu tiên. Logic cũ có thể nhầm những giao dịch này là giao dịch của đối tác, khiến tiền có thể thu hồi và đầu ra thanh toán đang chờ không được nhận. Phiên bản mới nhận diện các giao dịch đó và cố gắng thu hồi đầu ra liên quan.
Có thể nâng cấp mà không cần đóng kênh hiện hữu
ACINQ cho biết các nút vẫn chạy phiên bản Eclair cũ nên cài bản vá và giữ nguyên cơ chế bảo vệ đầu vào đã xác nhận, vốn được bật mặc định. Nhà vận hành cần dừng phần mềm, cài phiên bản mới rồi khởi động lại nút; các kênh thanh toán hiện hữu có thể tiếp tục mở trong quá trình nâng cấp.
Lỗ hổng được nhà nghiên cứu bảo mật Erick Cestari tiết lộ theo quy trình có trách nhiệm. ACINQ cảnh báo một nút độc hại có thể lợi dụng một số vấn đề, nhưng thông tin công khai chưa cho biết có bao nhiêu nút bị ảnh hưởng hoặc liệu đã có cuộc tấn công nào xảy ra.