{"id":1462,"date":"2022-11-02T10:23:22","date_gmt":"2022-11-02T10:23:22","guid":{"rendered":"https:\/\/cryptoteambuild.com\/blog\/rogue-actor-disrupts-lightning-network-with-a-single-transaction\/"},"modified":"2022-11-02T10:23:22","modified_gmt":"2022-11-02T10:23:22","slug":"rogue-actor-disrupts-lightning-network-with-a-single-transaction","status":"publish","type":"post","link":"https:\/\/cryptoteambuild.com\/blog\/rogue-actor-disrupts-lightning-network-with-a-single-transaction\/","title":{"rendered":"Rogue Actor Disrupts Lightning Network With a Single Transaction"},"content":{"rendered":"<p>Bitcoin <\/p>\n<div>\n<div>\n<section>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><a href=\"http:\/\/www.coindesk.com\/author\/frederick-munawa\/\"><\/p>\n<p><img decoding=\"async\" alt=\"bitcoin CoinDesk - Unknown\" loading=\"lazy\" src=\"https:\/\/s3.amazonaws.com\/arc-authors\/coindesk\/e664fcaf-7612-4acd-9c7e-6d8b5eba1a5d.png\"><\/p>\n<p><\/a><\/div>\n<\/div>\n<div>\n<p>Frederick Munawa is a Technology Reporter for Coindesk. He covers blockchain protocols with a specific focus on bitcoin and bitcoin-adjacent networks.\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div>\n<div>\n<p>A Twitter user by the name &ldquo;Burak&rdquo; (<a href=\"https:\/\/twitter.com\/brqgoo\">@brqgoo<\/a>) sent a large swath of the Lightning Network into turmoil on Tuesday morning, when he allegedly created a non-standard Bitcoin transaction that prevented users from opening new Lightning channels (connections between Lightning nodes).<\/p>\n<\/div>\n<div>\n<p>Lightning is a layer 2 network that enables cheaper and faster Bitcoin transactions. Burak&rsquo;s valid but non-standard transaction caused Bitcoin nodes running an implementation of Bitcoin called <a href=\"https:\/\/github.com\/btcsuite\/btcd\">btcd<\/a>, to suddenly stop creating new transaction blocks. This caused a corresponding glitch on all <a href=\"https:\/\/github.com\/lightningnetwork\/lnd\">Lightning Network Daemon<\/a> (LND) nodes. LND nodes rely on information from btcd Bitcoin nodes, and the glitch caused LND nodes to reject all new channel opening requests.<\/p>\n<\/div>\n<div>\n<div>\n<figure><img decoding=\"async\" alt=\"bitcoin CoinDesk - Unknown\" loading=\"lazy\" src=\"https:\/\/cloudfront-us-east-1.images.arcpublishing.com\/coindesk\/Z37NNJYMF5CDHAXPX5TE6G55IM.png\"><figcaption>\n<p>Consensus conflict caused by max Witness Items Per Input #1906<\/p>\n<p>@brqgoo<br \/>\nBitcoin has a consensus rule that limits the number of stack items in a row to 1000. However, a P2TR spend containing OP_SUCCESSx precedes this rule regardless.<\/p>\n<p>I made a P2TR spend containing an OP_SUCCESSx opcode with 500,001 empty pushes, which as a result, caused a consensus conflict between btcd and core:<br \/>\nhttps:\/\/blockstream.info\/tx\/73be398c4bdc43709db7398106609eea2a7841aaf3a4fa2000dc18184faa2a7e<\/p>\n<p>Changing the max WitnessItemsPerInput parameter from 500,000 to 4,000,000 solves the issue:<br \/>\nhttps:\/\/github.com\/btcsuite\/btcd\/blob\/master\/wire\/msgtx.go#L103<\/p>\n<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<div>\n<p>Burak&rsquo;s shenanigans disrupted a good chunk of the Bitcoin and Lightning ecosystems. Nevertheless, one could argue the community&rsquo;s <a href=\"https:\/\/en.wikipedia.org\/wiki\/Antifragility\">anti-fragility<\/a> was on full display. <a href=\"https:\/\/github.com\/ElementsProject\/lightning\">Core Lightning<\/a> (CLN) nodes that rely on <a href=\"https:\/\/github.com\/bitcoin\/bitcoin\">Bitcoin Core<\/a>, the most popular implementation of Bitcoin, were unaffected (although this seems to have been by design). Additionally, the bug Burak exploited was quickly patched (thanks to <a href=\"https:\/\/twitter.com\/ElleMouton\">Elle Mouton<\/a> and <a href=\"https:\/\/twitter.com\/guggero\">Oliver Gugger<\/a>).<\/p>\n<\/div>\n<div>\n<p>&ldquo;Burak was well aware of the consequences triggered by the transaction. I think everyone can decide for themselves if that is to be considered malicious or not,&rdquo; <a href=\"https:\/\/twitter.com\/renepickhardt\">Rene Pickhardt<\/a>, Bitcoin and Lightning developer and educator, told CoinDesk. Pickhardt co-authored the popular &ldquo;<a href=\"https:\/\/github.com\/lnbook\/lnbook\">Mastering Lightning<\/a>&rdquo; book and helped demystify many technical aspects of this story.<\/p>\n<\/div>\n<div>\n<h2>Bitcoin How should Bitcoin handle bugs and exploits?<\/h2>\n<\/div>\n<div>\n<p>Burak&rsquo;s actions not only sparked lively exchanges on Twitter, but also raised a key question &ndash; how should the Bitcoin community handle similar exploits in the future?<\/p>\n<\/div>\n<div>\n<p>&ldquo;Generally, developers promote a well-known culture of responsible disclosure and ethics when discovering exploitable bugs. Lightning Labs had a reasonable plan for patching this problem beforehand, but maybe Burak felt the situation was more urgent and wanted to light a fire under [them],&rdquo; <a href=\"https:\/\/twitter.com\/BitcoinErrorLog\">John Cavarlho<\/a> told CoinDesk. Cavarlho is the CEO of Bitcoin software firm, Synonym. The firm&rsquo;s CTO, Reza Bandegi, also helped clarify technical aspects of this story.<\/p>\n<\/div>\n<div>\n<p>What Cavarlho is describing could be further incentivized by establishing robust bug bounty programs. &ldquo;It&#8217;s always hard to prepare against a novel bug. I guess more review and bug bounty programs for responsible disclosure may help.&rdquo; Pickhardt weighed in. &ldquo;However as I understand, Pieter Wuille thinks there may sometimes be a risk in fixing bugs, as that may raise awareness and attract potential malicious actors in the transition phase while nodes update.&rdquo;<\/p>\n<\/div>\n<div>\n<p>Indeed, Bitcoin developer Pieter Wuille thinks the process of fixing bugs and managing exploits is not always straightforward.<\/p>\n<\/div>\n<div>\n<p>&ldquo;I don&#8217;t think it&#8217;s necessarily that simple. It&#8217;d be reasonable to assume that exploiting this needed cooperation from miners (or ones with non-standard mempool\/relay policy at least), making it harder to pull off. And fixing this one-line without raising suspicion is hard,&rdquo; Wuille tweeted.<\/p>\n<\/div>\n<div>\n<p>Wuille has a point. Rumors were circulating that Burak paid $700 to F2Pool, one of the largest Bitcoin mining pools, to have his non-standard transaction included in one of their blocks. He then embedded a bizarre message in the transaction, &ldquo;You&#8217;ll run CLN and you&#8217;ll be happy,&#8221; a reference to Core Lightning (CLN), which, as discussed above, is an alternative to LND, the Lightning implementation affected by the exploit.<\/p>\n<\/div>\n<div>\n<p>&ldquo;I can&#8217;t speak for Burak, but it took some special effort and expense to perform his demonstration, so I have to assume he knew exactly what he was doing and that he at least wanted to draw attention to himself, LND, and apparently, CLN too, because he left a supportive message for CLN within the instigating transaction on-chain,&rdquo; Cavarlho explained.<\/p>\n<\/div>\n<div>\n<p>Christian Decker, a researcher at Bitcoin infrastructure firm, Blockstream, and contributor to the CLN project, distanced his team from the exploit and publicly denounced Burak&rsquo;s actions.<\/p>\n<\/div>\n<\/div>\n<div data-module-name=\"article-body\/newsletter-cta\" data-module-version=\"1\">\n<hr>\n<p><span>Sign up for Valid Points, our weekly newsletter breaking down Ethereum&rsquo;s evolution and its impact on crypto markets.<\/span><\/p>\n<p><span>By signing up, you will receive emails about CoinDesk product updates, events and marketing and you agree to our <a href=\"http:\/\/www.coindesk.com\/terms\/\">terms of services<\/a> and <a href=\"http:\/\/www.coindesk.com\/privacy\/\">privacy policy<\/a>.<\/span><\/p>\n<\/div>\n<div>\n<p>DISCLOSURE<\/p>\n<div>\n<div>\n<p>Please note that our<\/p>\n<p><a href=\"http:\/\/www.coindesk.com\/privacy\/\">privacy policy<\/a>,<\/p>\n<p><a href=\"http:\/\/www.coindesk.com\/terms\/\">terms of use<\/a>,<\/p>\n<p><a href=\"http:\/\/www.coindesk.com\/privacy\/#cookies\">cookies<\/a>, <\/p>\n<p>and<\/p>\n<p><a href=\"http:\/\/www.coindesk.com\/privacy\/#dnsmpi\">do not sell my personal information<\/a><\/p>\n<p>has been updated<\/p>\n<p>.<\/p>\n<p>The leader in news and information on cryptocurrency, digital assets and the future of money, CoinDesk is a media outlet that strives for the highest journalistic standards and abides by a<\/p>\n<p><a href=\"http:\/\/www.coindesk.com\/ethics\/\">strict set of editorial policies<\/a>. <\/p>\n<p>CoinDesk is an independent operating subsidiary of<\/p>\n<p><a href=\"https:\/\/dcg.co\/\" rel=\"noopener noreferrer\" target=\"_blank\">Digital Currency Group<\/a>, <\/p>\n<p>which invests in<\/p>\n<p><a href=\"https:\/\/dcg.co\/#digital-assets-portfolio\" rel=\"noopener noreferrer\" target=\"_blank\">cryptocurrencies<\/a><\/p>\n<p>and blockchain<\/p>\n<p><a href=\"https:\/\/dcg.co\/portfolio\/\" rel=\"noopener noreferrer\" target=\"_blank\">startups<\/a>.<\/p>\n<p>As part of their compensation, certain CoinDesk employees, including editorial employees, may receive exposure to DCG equity in the form of<\/p>\n<p><a href=\"https:\/\/www.investopedia.com\/terms\/s\/sar.asp\" rel=\"noopener noreferrer\" target=\"_blank\">stock appreciation rights<\/a>,<\/p>\n<p>which vest over a multi-year period. CoinDesk journalists are not allowed to purchase stock outright in DCG<\/p>\n<p>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div>\n<div>\n<div>\n<div><a href=\"http:\/\/www.coindesk.com\/author\/frederick-munawa\/\"><\/p>\n<p><img decoding=\"async\" alt=\"bitcoin CoinDesk - Unknown\" loading=\"lazy\" src=\"https:\/\/s3.amazonaws.com\/arc-authors\/coindesk\/e664fcaf-7612-4acd-9c7e-6d8b5eba1a5d.png\"><\/p>\n<p><\/a><\/div>\n<\/div>\n<div>\n<p>Frederick Munawa is a Technology Reporter for Coindesk. He covers blockchain protocols with a specific focus on bitcoin and bitcoin-adjacent networks.\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><a href=\"http:\/\/www.coindesk.com\/author\/frederick-munawa\/\"><\/p>\n<p><img decoding=\"async\" alt=\"bitcoin CoinDesk - Unknown\" loading=\"lazy\" src=\"https:\/\/s3.amazonaws.com\/arc-authors\/coindesk\/e664fcaf-7612-4acd-9c7e-6d8b5eba1a5d.png\"><\/p>\n<p><\/a><\/div>\n<\/div>\n<div>\n<p>Frederick Munawa is a Technology Reporter for Coindesk. He covers blockchain protocols with a specific focus on bitcoin and bitcoin-adjacent networks.\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<p><a href=\"https:\/\/www.coindesk.com\/tech\/2022\/11\/02\/rogue-actor-disrupts-lightning-network-with-a-single-transaction\/?utm_medium=referral&amp;utm_source=rss&amp;utm_campaign=headlines\" class=\"button purchase\" rel=\"nofollow noopener\" target=\"_blank\">Read More<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bitcoin Frederick Munawa is a Technology Reporter for Coindesk. He covers blockchain protocols with a specific focus on bitcoin and bitcoin-adjacent networks. A Twitter user by the name &ldquo;Burak&rdquo; (@brqgoo) sent a large swath of the Lightning Network into turmoil on Tuesday morning, when he allegedly created a non-standard Bitcoin transaction that prevented users from opening new Lightning channels (connections between Lightning nodes). Lightning is a layer 2 network that enables cheaper and faster Bitcoin transactions. Burak&rsquo;s valid but non-standard transaction caused Bitcoin nodes running an implementation of Bitcoin called btcd, to suddenly stop creating new transaction blocks. This caused [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1463,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[587,586],"_links":{"self":[{"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/posts\/1462"}],"collection":[{"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/comments?post=1462"}],"version-history":[{"count":0,"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/posts\/1462\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/media\/1463"}],"wp:attachment":[{"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/media?parent=1462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/categories?post=1462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cryptoteambuild.com\/blog\/wp-json\/wp\/v2\/tags?post=1462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}