Các phiên bản cũ của Lightning Development Kit (LDK) có lỗ hổng có thể gây mất tiền nếu nút đối tác kênh tuyên bố rằng họ không nhận được tin nhắn sau khi kết nối lại. Nhóm phát triển LDK đã khắc phục vấn đề này trong các phiên bản v0.2.7 và v0.1.13 vào ngày 1 tháng 10.
Lightning Network là công nghệ mở rộng Bitcoin(BTC), xử lý giao dịch thông qua các kênh thanh toán. LDK là thư viện dùng để phát triển ví và ứng dụng trên mạng này. Vì thư viện được tích hợp vào ứng dụng trước khi phân phối, nhà phát triển cần kiểm tra cả phiên bản đã cập nhật lẫn việc mã sửa lỗi đã có mặt trong ứng dụng được phát hành hay chưa.
Nhật ký thay đổi của LDK cho biết lỗ hổng có thể phát sinh khi đối tác kênh kết nối lại sau khi xác nhận một bản cập nhật trạng thái rồi tuyên bố chưa nhận được tin nhắn đó. Trước khi có bản vá, LDK có thể ký các giao dịch commitment xung đột với nhau ở cùng một số thứ tự trạng thái. Giao dịch commitment được dùng để quyết toán trạng thái đã thống nhất của kênh trên blockchain Bitcoin.
Nếu bị khai thác, nút chuyển tiếp thanh toán có thể trả tiền cho người nhận tiếp theo nhưng không thu hồi được tiền từ người gửi trước đó. Theo nhật ký thay đổi, bản sửa lỗi chỉ gửi lại tin nhắn trong khi chờ xác nhận; nếu một nút tuyên bố đã bỏ lỡ bản cập nhật vốn được xác nhận, kênh sẽ bị buộc đóng. Thông tin được công bố không nêu liệu lỗ hổng này đã bị khai thác trên thực tế hay quy mô thiệt hại ra sao.
Phạm vi sửa lỗi của hai phiên bản không giống nhau. v0.2.7 bao gồm bản sửa lỗ hổng khi kết nối lại và vấn đề xác thực số tiền thanh toán LSPS2, còn v0.1.13 ghi nhận bản sửa lỗ hổng khi kết nối lại. LSPS2 là cơ chế cho phép nhà cung cấp dịch vụ thanh khoản mở kênh trong quá trình xử lý thanh toán.
Nhật ký thay đổi của LDK cho biết một khách hàng độc hại có thể khai khống số tiền thanh toán cần chuyển tiếp cao hơn số tiền thực nhận, khiến nhà cung cấp dịch vụ dùng nhiều Bitcoin hơn số tiền nhận được để mở kênh và chuyển tiếp khoản thanh toán. Vì vậy, đơn vị vận hành LSPS2 cần kiểm tra các hợp đồng thanh toán đang chờ được tạo bằng phiên bản cũ, đồng thời cập nhật thư viện. Nhật ký cũng cho biết các hợp đồng đã tạo và đang chờ xử lý trên phiên bản cũ có thể còn số tiền chưa được xác thực; v0.2.7 đã bổ sung bản sửa liên quan.
Bản cập nhật này tiếp nối bài viết trước của TokenPost về vấn đề mất tiền liên quan đến splice và lỗi xử lý thanh toán trong LDK v0.2.6. Nhà phát triển ứng dụng cần kiểm tra phiên bản LDK đang dùng, mã trong ứng dụng đã phát hành và các hợp đồng LSPS2 đang chờ xử lý.
Bình luận 0