Eclair đã hợp nhất hai bản sửa lỗi nhằm hạn chế rủi ro nút Lightning phải trả phí khai thác quá cao khi đối tác yêu cầu tăng phí giao dịch hoặc khi backend Bitcoin tạo giao dịch bất thường. Các thay đổi được đưa vào nhánh chính của dự án lần lượt ngày 2 và 5/10. Tuy nhiên, tính đến ngày 12/10, trang phát hành của Eclair vẫn liệt kê v0.14.3, bản phát hành hồi tháng 9, là phiên bản mới nhất; vì vậy chưa thể xác nhận các sửa lỗi đã có trong bản chính thức.
Eclair là phần mềm nút Lightning do ACINQ phát triển. Hai vấn đề liên quan đến kênh cấp vốn hai chiều, thao tác ghép kênh để điều chỉnh vốn và chế độ ký Eclair-signer. Khoản thiệt hại tiềm tàng có thể được trả dưới dạng phí khai thác cho thợ đào Bitcoin, thay vì chuyển trực tiếp đến địa chỉ của bên tấn công.
PR #3388 giới hạn mức phí đối tác có thể yêu cầu
Bản sửa đầu tiên, PR #3388, xử lý các giao dịch thay thế có phí cao hơn (RBF) do đối tác khởi tạo. Khi mở kênh cấp vốn hai chiều hoặc dùng thao tác ghép kênh để điều chỉnh vốn, đối tác có thể đề xuất một giao dịch thay thế với mức phí cao hơn. Trước khi sửa, nếu nút Eclair cũng góp vốn vào giao dịch, nút có thể phải trả thêm phí cho phần vốn mình đưa vào mà không có giới hạn hay ngân sách phí rõ ràng.
Điều này có thể cho phép một đối tác xấu yêu cầu nút Eclair góp vốn chịu mức phí khai thác tùy ý cao, trong khi bản thân đối tác không phải đóng khoản phí đó. Thiệt hại của nút phát sinh dưới dạng phí trả cho thợ đào, chứ không nhất thiết được chuyển trực tiếp cho đối tác.
Sau sửa đổi, Eclair từ chối yêu cầu nếu mức phí vượt trần phí cấp vốn mà nút đề xuất cho đối tác. Giới hạn này không áp dụng khi đối tác mua thanh khoản và đưa khoản thanh toán phí vào thay cho Eclair, hoặc khi nút Eclair không góp vốn vào giao dịch. Trong hai trường hợp đó, nút không chịu loại chi phí mà bản sửa lỗi nhắm đến.
Eclair-signer đối chiếu phí thực tế với báo cáo của backend
Bản sửa thứ hai, PR #3390, liên quan đến chế độ Eclair-signer. Ở chế độ này, backend Bitcoin Core bitcoind chọn bitcoin và tạo giao dịch, còn Eclair giữ khóa riêng để ký. Việc giữ khóa ký không đủ để ngăn rủi ro nếu backend bị xâm nhập: backend có thể báo rằng phí vẫn trong ngân sách, nhưng giao dịch thực tế lại trả phí cao hơn, chẳng hạn do xóa đầu ra tiền thừa.
Theo cách hạch toán của giao dịch Bitcoin, phần giá trị đầu vào không được phân bổ cho bất kỳ đầu ra nào trở thành phí khai thác. Vì vậy, nếu đầu ra tiền thừa bị loại bỏ, nút có thể mất tiền mà khoản đó không nhất thiết đi vào địa chỉ do kẻ tấn công kiểm soát.
Bản sửa yêu cầu tính phí thực tế dựa trên số tiền của các đầu vào dự kiến sử dụng khi thiết lập ngân sách phí, đồng thời truy vấn giao dịch liên quan qua mã giao dịch (txid) để xác minh giá trị đầu vào. Eclair sau đó đối chiếu phí backend báo cáo với phí thực tế và áp dụng ngân sách cho khoản phí đã xác minh, thay vì chỉ dựa vào con số do backend cung cấp. Phần góp vốn do Eclair dựng lại cũng phải trả đúng mức phí đã xác minh; giao dịch có vị trí đầu ra tiền thừa không hợp lệ sẽ bị từ chối.
Bản sửa tháng 10 chưa có trong phiên bản mới nhất được liệt kê
Hai thay đổi lần lượt xử lý giới hạn phí trong quy trình cấp vốn hai chiều và ghép kênh, cùng việc xác minh phí giao dịch ở chế độ ký. Đây là các vấn đề riêng, không phải lỗ hổng phí khi đóng kênh hợp tác được đề cập trước đó hay sự cố từ chối dịch vụ có thể xảy ra sau khi nút khởi động lại được công bố ngày 2/10.
Tính đến ngày 12/10, trang phát hành Eclair vẫn liệt kê v0.14.3, phát hành trong tháng 9, là phiên bản mới nhất. Việc mã đã được hợp nhất vào nhánh chính không đồng nghĩa bản dựng phát hành đã bao gồm các sửa đổi. Các đơn vị vận hành nút Eclair cần kiểm tra bản dựng đang sử dụng có chứa những thay đổi tháng 10 hay không.