Huge Transaction Brought Down LND For The 2nd Time. Is Blockstream Responsible?
Is LND broken? Or was the ridiculously large transaction that unsynched it a direct attack on the LND implementation? Does all of this affect the larger Lightning Network? And what about the bitcoin network? This story starts with all kinds of questions and can’t promise to answer them all. The game is afoot. Something’s going on. It’s hard to determine what, though. And it seems like more will be revealed, like we still don’t have all the data.
Let’s examine what we do have and try to get to the bottom of this. And it all starts with a summary of the story so far.
What’s With LND And These Huge Transactions?
On October 9th, a developer known as Burak announced “I just did a 998-of-999 tapscript multisig, and it only cost $4.90 in transaction fees.” That curious transaction unsynched the Lightning Network, which missed producing one block. The Lightning Labs team, responsible for the LND implementation, released a fix in a matter of hours. The incident made abundantly clear that the Lightning Network is still a work in progress and the implementations are vulnerable to attacks.
Today, Burak stroke again. “Sometimes to find the light, we must first touch the darkness,” he tweeted accompanying another huge transaction. This time, the impact only hit LND nodes. Everybody else remained in synch, while LND was stuck. For a while there, LND nodes could route payments but were unaware of the state of the chain. Lightning Labs acknowledged the bug in their official channels and got to work on a hotfix that was released a few hours later.
With the help of the @lightning Labs team (h/t @guggero), us at @GaloyMoney and our CI pipelines the @BTCBeachWallet nodes are updated with the bugfix within 31 blocks after 73be398c4bdc43709db7398106609eea2a7841aaf3a4fa2000dc18184faa2a7e hit.Can this stay the record now? — openoms (@openoms) November 1, 2022
To explain the implications to the rest of us, Applied Cryptography Consultant Peter Todd analyzed the situation. “Because LN is _not_ a consensus system, having different implementations is a good thing. Some of the network is down right now. But there’s no real harm in the rest staying up. Meanwhile, the root cause of the problem is buggy btcd code,” he tweeted.
So far, everything sounds fine. The transaction’s intention seems to highlight a vulnerability without causing considerable damage. The thing is, Burak wrote, “you’ll run cln. and you’ll be happy” in the OP_RETURN DATA. And “cln” refers to Core Lightning, LND’s main competition. A Blockstream product.
Did Someone Report The LND Bug Well Before The Attack?
Another pseudonymous developer wrote to Burak, “The ethical thing to do is to a vulnerability disclosure to the Lightning Labs team instead of taking down majority of the nodes in the network.” Then, yet another developer named Anthony Towns delivered a necessary plot twist, “For what it’s worth, I also noticed this bug and disclosed it to Olaoluwa Osuntokun about two weeks ago. The btcd repo doesn’t seem to have a reporting policy for security bugs, so not sure if anyone else working on btcd found out about it.”
“The initial report was to the wrong place and was missed, I followed up a week later on the 19th and Olaoluwa Osuntokun replied with some thoughts on why this wasn’t caught already and how to do better,” Towns further elaborated. Later on, Osuntokun confirmed the report and revealed, “as the post was public I deleted it then followed up w/ him via email. We had a patch ready to go for the minor release (w/ some other memory optimizations), but obv this preempted it.”
also @ajtowns did contact me, by making an issue on my public fork of btcd w/ details, as the post was public I deleted it then followed up w/ him via emailwe had a patch ready to go for the minor release (w/ some other memory optimizations), but obv this preempted it— Olaoluwa Osuntokun (@roasbeef) November 1, 2022
He also pointed out an important thing, “I didn’t imagine someone would work w/ miners to mine it.” This particular bug required miner participation to pass through. There might’ve been more to this attack than meets the eye. However, there were over $700 in fees attached to the transaction. That exorbitant fee might’ve been enough to pass the unusual transaction through.
Is Blockstream Responsible For The Attack?
This is where everything gets tricky, because it seems like Burak was previously sponsored by Blockstream to work on liquid covenants on Bitmatrix. In a series of then-deleted tweets, Lightning Labs CEO Elizabeth Starks seems to be accusing Blockstream of at least sponsoring the attacks. When questioned by a Blockstream employee, Starks replied, “Is this not true that it’s a sponsored dev?” and “You appear to have left out the deleted tweet where I specifically mentioned it was clear that this attack was not part of what was sponsored.”
Is this not true that it's a sponsored dev? My point was not that *this* work was funded, but as you wrote this person is "def sponsored by blockstream." — elizabeth stark 🍠 (@starkness) November 1, 2022
Enter Suredbits founder Chris Stewart, who took it even further and straight up asked Adam Back to confirm “that Blockstream isn’t sponsoring these attacks on LND as a promotional tool for core lightning.” Adam Back denied any sponsorship and explained what he thinks Burak meant. “Could infer from the op_return message is about the risks of using a non Bitcoin core full node for consensus & Core Lightning uses Bitcoin core. maybe Burak is making that point, empirically. It’s a known limitation from LANGSEC security it’s near impossible to bit-wise compatible.”
To put everything to bed, Blockstream researcher Christian Decker went on the record and tweeted, “This is terrible, the Core Lightning team does not condone attacks of any nature. And namedropping a competitor is in really bad taste. Please follow responsible disclosures, and avoid publicity stunts like this, it’s not helping, and causing a lot of issues!”Source