Conversation

Replying to
so what happend? the issue was in btcd's wire parsing library that deserializes raw blocks, the initial implementation of segwit v0 included a consensus level check for witness size limits but _also_ hoisted this check up to the wire parsing layer
2
38
with segwit v1, this prior limit of the max accepted witness size was removed, in place of things like the sigop cost abstraction, effectively leaving the limit to the max block weight/size
2
33
btcd's initial segwit v1 implementation correctly updated the consensus logic, but failed to also update the defense-in-depth check in the wire parsing layer (when parsing off the wire you want _some_ sort of upper limit)
4
28
how was lnd affected? lnd uses this library to parse blocks we get from either the full node backend or p2p network, due to this bug lnd wasn't able to parse a new block, but was able to continue to forward as normal (synced_to_chain: false)
7
40