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

Lời nói đầu:Lightnings BOLT11 change rejects missing or repeated invoice fields after a reported Bitcoin payout exploit linked to conflicting payment hashes.

Lightning developers tightened BOLT11, the Lightning Network‘s invoice standard, on Oct. 19 to require software to reject ambiguous payment-hash and payment-secret fields. The change follows a developer’s account of an attack that made completed Bitcoin withdrawals appear unpaid.

Related Asset Bitcoin #1 BTC · $80,539.26 24-hour change: up 0.77% Loading price history… 24H Up 0.77% 7D Down 2.33% 30D Down 4.95%

The merged change targets software components reading the same signed payment request differently. A payment hash identifies the payment a component is tracking. Bitcoin Optech highlighted the rule change on Oct. 23.

In a Sept. 10 statement on the proposal, developer Roasbeef reported a recent hack of a Telegram peer-to-peer bot that exploited libraries choosing different hashes: some took the first payment-hash field in an invoice, while others took the last. He gave no incident date or loss figure.

In practical terms, a service could track a withdrawal under one hash while its node executes a payment using another. The service could then mistake the completed withdrawal for an unpaid one, creating an opening for further payouts. The failure sits in the connection between payment execution and the services accounting.

What readers must reject

The current BOLT11 specification requires exactly one payment-hash field, labeled p, and exactly one payment-secret field, labeled s. A missing field or a second occurrence requires payment failure. The rule covers both kinds of ambiguity, while the described withdrawal attack concerned conflicting payment hashes.

Readers must count field occurrences. The proposals invalid test cases include an invoice repeating the same hash, as well as one containing distinct hashes. Collapsing identical values into a single value would therefore miss an invoice the rule requires readers to reject.

The implementation timeline also matters. The Lightning node software lnd merged duplicate-hash rejection on Sept. 23, before the specification change. Its available v0.20.5-beta and v0.21.4-beta releases include that payment-hash fix.

The broader payment-secret checks are addressed by a separate lnd proposal that remained open as of Oct. 27. It would tighten payment-secret and other decoder checks, including rejecting a second s field. The author also explains that some invoices accepted by the decoder already face checks later in payment processing, so decoding success alone does not establish that a payment will go through.

For payment operators, the documented failure points to two checks: reject ambiguous invoices and ensure withdrawal accounting follows the same payment hash as the node.

Miễn trừ trách nhiệm

Các ý kiến ​​trong bài viết này chỉ thể hiện quan điểm cá nhân của tác giả và không phải lời khuyên đầu tư. Thông tin trong bài viết mang tính tham khảo và không đảm bảo tính chính xác tuyệt đối. Nền tảng không chịu trách nhiệm cho bất kỳ quyết định đầu tư nào được đưa ra dựa trên nội dung này.
Bài viết trước

Binance nộp hồ sơ xin giấy phép tiền mã hóa tại Brazil trước hạn chót thứ Sáu

Bài tiếp theo

Mỹ đã thu về 627 triệu USD từ khoản đầu tư vào Anthropic liên quan đến FTX. Ai là người nhận tiền?