Định dạng yêu cầu thanh toán BOLT11 của Lightning Network đã được sửa đổi để mỗi hóa đơn chỉ chứa một hash thanh toán và một secret thanh toán. Phần mềm đọc hóa đơn phải từ chối thanh toán nếu thiếu một trong hai trường hoặc phát hiện trường bị lặp.
Kho lưu trữ đặc tả Lightning đã hợp nhất đề xuất sửa đổi BOLT11 vào ngày 19 tháng 10. Quy định không có ngoại lệ ngay cả khi các giá trị của trường bị lặp giống nhau. Thay đổi nhằm giảm khả năng phần mềm khác nhau diễn giải hóa đơn theo những cách khác nhau.
BOLT11 là định dạng dùng để yêu cầu thanh toán trên Lightning Network. Hash thanh toán định danh thông tin cần thiết cho giao dịch, còn secret thanh toán giúp ngăn việc dò tìm người nhận trong tuyến thanh toán Lightning. Hóa đơn chứa nhiều thông tin, nhưng sửa đổi lần này tập trung kiểm tra số lượng trường “p” và “s”.
Vấn đề là các phần mềm xử lý hash thanh toán bị lặp không thống nhất. Một số chọn hash đầu tiên, trong khi phần mềm khác chọn hash cuối cùng. Đặc tả BOLT11 trước đây khuyến nghị bên thanh toán sử dụng hash đầu tiên, nhưng không bắt buộc phải từ chối hóa đơn có hash trùng lặp.
Trong phần giải thích đề xuất sửa đổi ngày 10 tháng 9, nhà phát triển Lightning Roasbeef cho biết một bot P2P trên Telegram đã bị hack do sự khác biệt này. Nếu hash bot đọc từ hóa đơn khác với hash node thực sự sử dụng để thanh toán, dịch vụ có thể vẫn ghi nhận khoản rút tiền là chưa được thanh toán sau khi giao dịch hoàn tất, dẫn đến việc trả thêm tiền. Thời điểm xảy ra vụ hack và số tiền thiệt hại chưa được công bố.
Trước khi đặc tả được sửa đổi, phần mềm node Lightning LND cũng đã hợp nhất bản sửa lỗi để từ chối hash thanh toán bị lặp vào ngày 23 tháng 9. Bitcoin Optech cho biết trước đây LND sử dụng hash đầu tiên và bỏ qua các hash còn lại. Nếu phần mềm khác đọc hóa đơn chọn một hash khác, khoản rút tiền đã hoàn tất có thể bị hiểu nhầm là chưa thanh toán.
Cần phân biệt phạm vi áp dụng của từng phần mềm với sửa đổi đặc tả. Quy tắc LND từ chối hash thanh toán trùng lặp đã được hợp nhất, nhưng đề xuất riêng nhằm mở rộng kiểm tra bộ giải mã, bao gồm từ chối secret thanh toán bị lặp, vẫn đang được xem xét tính đến ngày 27 tháng 10. Chỉ riêng việc sửa đặc tả không đồng nghĩa mọi dịch vụ Lightning đều đã thực hiện cùng một bước kiểm tra.
Bitcoin Optech cho biết các dịch vụ nên xác minh cách chúng diễn giải hóa đơn có khớp với hash mà node sử dụng để thanh toán hay không, đồng thời kiểm tra xem hồ sơ rút tiền có căn cứ theo hash thanh toán của node hay không.
Bình luận 0