{"id":24270,"date":"2025-05-26T12:14:34","date_gmt":"2025-05-26T09:14:34","guid":{"rendered":"https:\/\/forklog.com\/en\/core-vs-knots-the-83-byte-row-that-split-the-bitcoin-community\/"},"modified":"2025-05-26T12:14:34","modified_gmt":"2025-05-26T09:14:34","slug":"core-vs-knots-the-83-byte-row-that-split-the-bitcoin-community","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/core-vs-knots-the-83-byte-row-that-split-the-bitcoin-community\/","title":{"rendered":"Core vs Knots: the 83-byte row that split the bitcoin community"},"content":{"rendered":"<p>In spring 2025, one of the biggest rows in years erupted in the bitcoin community. A technical <a href=\"https:\/\/forklog.com\/en\/news\/the-op_return-war-intensifies-within-the-bitcoin-community\">proposal<\/a> to lift the OP_RETURN data cap snowballed into a broad dispute between developers and users.<\/p>\n<p>Bitcoin Core backed scrapping the 83-byte limit, while opponents rallied around the alternative client Bitcoin Knots. Together with the bitcoin mixer <a class=\"tracking_link\" href=\"https:\/\/mixer.money\/ru\/\" target=\"_blank\" rel=\"noopener\">Mixer.Money<\/a> we examine the technical issues and the potential impact on the future of the first cryptocurrency.<\/p>\n<h2 class=\"wp-block-heading\">What is OP_RETURN<\/h2>\n<p>OP_RETURN is an opcode (a command) in bitcoin\u2019s stack-based Script language that renders a transaction output unspendable while allowing up to 83 bytes of arbitrary data to be recorded. It is the standard way to add metadata to the blockchain without increasing the size of the <a href=\"https:\/\/forklog.com\/en\/news\/utxo-management-how-to-prepare-your-bitcoin-wallet-for-a-bull-market\">UTXO<\/a> set \u2014 the database of all unspent transaction outputs.<\/p>\n<p>OP_RETURN was introduced in 2014 with Bitcoin Core 0.9.0. It was not intended to promote on-chain data storage; it was a compromise to prevent more harmful practices.<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cThis change is not an endorsement of data storage in the block chain. OP_RETURN creates a provably prunable output to avoid data storage schemes where arbitrary data such as images would be stored as permanently <span data-descr=\"Unspent Transaction Output, UTXO\" class=\"old_tooltip\">unspent transaction outputs<\/span>, bloating the UTXO database. Storing arbitrary data on the block chain is still a bad idea; it is much cheaper and more efficient to store non-financial data elsewhere,\u201d the Bitcoin Core <a class=\"tracking_link\" href=\"https:\/\/bitcoin.org\/en\/release\/v0.9.0#opreturn-and-data-in-the-block-chain\" target=\"_blank\" rel=\"noopener\">documentation<\/a> said.<\/p>\n<\/blockquote>\n<p>According to <a class=\"tracking_link\" href=\"https:\/\/www.reddit.com\/r\/Bitcoin\/comments\/1kl56u9\/comment\/mrzr80c\/\" target=\"_blank\" rel=\"noopener\">Bitcoin Core developer Gregory Maxwell<\/a>, before OP_RETURN users found ways to embed data by sending bitcoins to <span data-descr=\"provably unspendable; no private key exists\" class=\"old_tooltip\">\u201cfake\u201d<\/span> addresses. They created outputs that looked spendable but were not, causing permanent bloat in the UTXO set.<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cWhile OP_RETURN outputs do add to bitcoin\u2019s overall blockchain size, they are not included in the UTXO set, so nodes do not need to track them indefinitely. Nodes can ignore and prune these data after initial verification,\u201d comment the team at <a class=\"tracking_link\" href=\"https:\/\/mixer.money\/ru\/\" target=\"_blank\" rel=\"noopener\">Mixer.Money<\/a>.<\/p>\n<\/blockquote>\n<p>The initial cap <a class=\"tracking_link\" href=\"https:\/\/blog.bitmex.com\/dapps-or-only-bitcoin-transactions-the-2014-debate\/\" target=\"_blank\" rel=\"noopener\">was<\/a> 40 bytes, raised to 80 in 2015 and to 83 in 2016. The limits were deliberate, nudging users towards storing hashes rather than raw data and underscoring that bitcoin\u2019s blockchain should primarily serve financial transactions.<\/p>\n<p>Importantly, the OP_RETURN cap <a class=\"tracking_link\" href=\"https:\/\/wizardsardine.com\/blog\/mempool-policy-vs-consensus-rules\/\" target=\"_blank\" rel=\"noopener\">is<\/a> a <span data-descr=\"standardness rule\" class=\"old_tooltip\">standardness rule<\/span> (mempool policy), not a consensus rule. By default, Bitcoin Core nodes do not relay transactions with OP_RETURN data above 83 bytes, but the bitcoin protocol does not forbid them.<\/p>\n<p>Miners may include \u201cnon-standard\u201d transactions in blocks, especially if fees make them profitable. If such a transaction lands in a valid block, all nodes will accept it regardless of their OP_RETURN policies.<\/p>\n<h2 class=\"wp-block-heading\">Todd\u2019s proposal<\/h2>\n<p>On April 27, 2025 Peter Todd <a class=\"tracking_link\" href=\"https:\/\/github.com\/bitcoin\/bitcoin\/pull\/32359\" target=\"_blank\" rel=\"noopener\">filed<\/a> Pull Request (PR) #32359 to the Bitcoin Core repository. The proposal would remove the cap on OP_RETURN output size entirely, formalising an initiative by Antoine Poinsot of Chaincode Labs.<\/p>\n<p>The idea arose after Poinsot <a class=\"tracking_link\" href=\"https:\/\/x.com\/cbspears\/status\/1917320210882711954\" target=\"_blank\" rel=\"noopener\">learned<\/a> that the bitcoin ZK-rollup Citrea, constrained by OP_RETURN policy, chose to publish data on-chain using one OP_RETURN and two UTXOs. Those two unspent outputs would accumulate, even though limiting UTXO-set growth is a core Bitcoin Core aim.<\/p>\n<p>\u201cTheoretically, lifting the OP_RETURN cap would let projects like Citrea implement technical solutions without increasing the UTXO set. It could also affect miners that accept transactions via private mempools rather than organically through the node network,\u201d comment the team at <a class=\"tracking_link\" href=\"https:\/\/mixer.money\/ru\/\" target=\"_blank\" rel=\"noopener\">Mixer.Money<\/a>.<\/p>\n<p>Todd\u2019s proposal required neither a soft fork nor a hard fork \u2014 it merely broadened the types of transactions that the network would relay.<\/p>\n<p>Some welcomed the deletion of what they saw as redundant code. Others, while acknowledging the cap\u2019s limited effectiveness, opposed removal, arguing it would encourage spam.<\/p>\n<p>In particular, developer Luke Dashjr urged keeping the restriction and either staying on older Core versions or switching to his Bitcoin Knots client, which <a class=\"tracking_link\" href=\"https:\/\/blog.bitfinex.com\/education\/is-bitcoin-on-the-brink-of-another-civil-war\/\" target=\"_blank\" rel=\"noopener\">has<\/a> a stricter 42-byte OP_RETURN limit.<\/p>\n<p>On May 5, Bitcoin Core developer Greg Sanders said he intended to include the change in the next release, further inflaming debate. Many users publicly announced a move to Bitcoin Knots, and several bloggers (<a class=\"tracking_link\" href=\"https:\/\/www.youtube.com\/watch?v=zT4NuAaH3EM\" target=\"_blank\" rel=\"noopener\">BTC Sessions<\/a>, <a class=\"tracking_link\" href=\"https:\/\/www.youtube.com\/watch?v=UxhSelzMcAs\" target=\"_blank\" rel=\"noopener\">Southern Bitcoiner<\/a>) posted how-to videos on YouTube.<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-qw.googleusercontent.com\/docsz\/AD_4nXfWQGx5WQ_3s7Aqdtt__Hym8x66GR3XgXwYxeoM50EFgbxhGJz-u2zJbSyXcZfXcCZCZuYT7TRuznKnqLKWa5J0zLJjL7N8Q-LXG_Ie_ft8l4qsFzi82OZdd2bK11g7tB4ee9pa6w?key=0sPxA_bYbaybwznwGs6Ojg\" alt=\"Core vs Knots: the 83-byte row that split the bitcoin community\"\/><figcaption class=\"wp-element-caption\">Data: <a class=\"tracking_link\" href=\"https:\/\/coin.dance\/nodes\/share\" target=\"_blank\" rel=\"noopener\">Coin Dance<\/a>.<\/figcaption><\/figure>\n<p>By May 2025 Bitcoin Knots\u2019 share of nodes had neared 10%. In January 2023 its share <a class=\"tracking_link\" href=\"https:\/\/x.com\/Pledditor\/status\/1917832448085299233\" target=\"_blank\" rel=\"noopener\">was<\/a> just 0.3%.<\/p>\n<h2 class=\"wp-block-heading\">Bitcoin Core\u2019s case<\/h2>\n<p>Proponents make several points:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>the cap is outdated and ineffective.<\/strong> This is Todd\u2019s and Poinsot\u2019s central claim. They argue it is \u201csilly\u201d to cling to parameters that do not work because users easily route around them. For instance, miner MARA built Slipstream to accept <a class=\"tracking_link\" href=\"https:\/\/x.com\/MARAHoldings\/status\/1925453782973870199\" target=\"_blank\" rel=\"noopener\">non-standard transactions<\/a> directly.<\/li>\n<li><strong>perverse incentives.<\/strong> Keeping the cap nudges users towards worse practices like encoding data into \u201cfake\u201d addresses, inflating the UTXO set.<\/li>\n<li><strong>mempool policy calibration.<\/strong> Miners, driven by economics, will include profitable transactions regardless. \u201cIt\u2019s very unlikely they will turn down this revenue source. Censoring these transactions just incentivizes private mempools, which harms small miners and makes fee estimation less reliable,\u201d Todd <a class=\"tracking_link\" href=\"https:\/\/github.com\/bitcoin\/bitcoin\/pull\/28408#issuecomment-1735079576\" target=\"_blank\" rel=\"noopener\">noted<\/a>.<\/li>\n<li><strong>support for innovation.<\/strong> Removing the cap could improve support for second-layer designs such as Citrea.<\/li>\n<\/ul>\n<p>The last point prompted a theory among opponents about Bitcoin Core\u2019s financial motives. Developer Jameson Lopp, who backed Todd\u2019s proposal, was <a class=\"tracking_link\" href=\"https:\/\/x.com\/cbspears\/status\/1917320222144373098\" target=\"_blank\" rel=\"noopener\">accused<\/a> of a conflict of interest over his investment in Citrea \u2014 the project whose constraints helped trigger the idea. Lopp <a class=\"tracking_link\" href=\"https:\/\/x.com\/cbspears\/status\/1917320224749031476\" target=\"_blank\" rel=\"noopener\">said<\/a> this was no secret and that he has long disclosed his investments (including Citrea) on his website.<\/p>\n<h2 class=\"wp-block-heading\">Bitcoin Knots\u2019 case<\/h2>\n<p>Opponents, dubbed \u201cfilterors\u201d, see bitcoin primarily as a monetary network and do not want \u201cto turn it into a general-purpose database\u201d. Luke Dashjr called the proposal \u201ccomplete madness\u201d, while Jason Hughes of Ocean Mining <a class=\"tracking_link\" href=\"https:\/\/x.com\/wk057\/status\/1917235710781690171\" target=\"_blank\" rel=\"noopener\">thinks<\/a> it could turn bitcoin into \u201ca useless altcoin\u201d.<\/p>\n<blockquote class=\"twitter-tweet\">\n<p lang=\"en\" dir=\"ltr\">Re: OP_RETURN, I have always been of the opinion that sidechain builders shouldn\u2019t influence bitcoin core. Bitcoin on its base layer is money and should be only focused on money. Let all other functionalities be built around it.<\/p>\n<p>Adding in increased OP_RETURN sizes is possible\u2026<\/p>\n<p>\u2014 Willem S ?\u26d3\ufe0f (@WillemSchroe) <a href=\"https:\/\/twitter.com\/WillemSchroe\/status\/1917327774584353213?ref_src=twsrc%5Etfw\">April 29, 2025<\/a><\/p><\/blockquote>\n<p> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cSidechain builders shouldn\u2019t influence Bitcoin Core. Bitcoin on its base layer is money, and it should be focused only on money,\u201d said Botanix Labs founder Willem Schroe.<\/p>\n<\/blockquote>\n<p>Critics fear that unbounded OP_RETURN would open the floodgates to non-financial data, potentially overloading the network. While OP_RETURN data can be pruned from the UTXO set, it still consumes block space.<\/p>\n<p>Opponents also argue existing limits work as a deterrent. The fact that \u201cspammers\u201d resort to costlier methods is, to them, evidence that limits raise the price of undesirable behaviour.<\/p>\n<p>They point to the shift toward Bitcoin Knots as \u201cnode voting\u201d \u2014 a decentralised protest in which node operators signal disagreement with Bitcoin Core\u2019s direction by choosing alternative software.<\/p>\n<p>Finally, \u201cfilterors\u201d such as Bitcoin Mechanic <a class=\"tracking_link\" href=\"https:\/\/youtu.be\/FZ-nD9hSaeg?si=WX1fk8B4LDIlkwwd&#038;t=3256\" target=\"_blank\" rel=\"noopener\">accuse<\/a> Bitcoin Core of pushing changes without broad consensus and of poor communication about decision-making.<\/p>\n<h2 class=\"wp-block-heading\">Conclusions<\/h2>\n<p>On May 12, 2025 PR #32359 was <a class=\"tracking_link\" href=\"https:\/\/x.com\/glozow\/status\/1921948780594675764\" target=\"_blank\" rel=\"noopener\">closed<\/a>, despite earlier statements of intent to include it in the next version (30.0), whose release <a class=\"tracking_link\" href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/32275\" target=\"_blank\" rel=\"noopener\">is slated<\/a> for early October.<\/p>\n<p>The conflict laid bare key questions of governance in bitcoin\u2019s ecosystem: who steers its development \u2014 developers, miners or the broader user community?<\/p>\n<p>Many observers <a class=\"tracking_link\" href=\"https:\/\/x.com\/jimmysong\/status\/1923203947507880342\" target=\"_blank\" rel=\"noopener\">compare<\/a> the situation to the 2015\u201317 blocksize wars, but there is an important difference: changing the OP_RETURN cap is client policy, not a consensus rule. A hard fork is therefore highly unlikely.<\/p>\n<p>The rise of Bitcoin Knots shows users are willing to \u201cvote with nodes\u201d, opting for alternative implementations when they disagree with the direction set by Bitcoin Core.<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cThe row over OP_RETURN goes beyond a purely technical question. It is a fundamental clash of visions for what bitcoin should be: a pragmatically evolving system or a strictly defined monetary network,\u201d comment representatives of <a class=\"tracking_link\" href=\"https:\/\/mixer.money\/ru\/\" target=\"_blank\" rel=\"noopener\">Mixer.Money<\/a>.<\/p>\n<\/blockquote>\n<p>Experts add that the dispute does not touch privacy, and that preserving anonymity in the bitcoin network will remain a pressing issue for all participants regardless of their stance in this conflict.<\/p>\n<p>The bitcoin mixer Mixer.Money has operated since 2016. The service mixes coins in three modes: \u201cMixer\u201d, \u201cExact payment\u201d and \u201cFull anonymity\u201d.<\/p>\n<p>In the \u201cFull anonymity\u201d and \u201cExact payment\u201d modes, <a class=\"tracking_link\" href=\"https:\/\/mixer.money\/ru\/\" target=\"_blank\" rel=\"noopener\">Mixer.Money<\/a> sends users bitcoins sourced directly from large exchanges with the corresponding status.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In spring 2025, one of the biggest rows in years erupted in the bitcoin community. A technical proposal to lift the OP_RETURN data cap snowballed into a broad dispute between developers and users. Bitcoin Core backed scrapping the 83-byte limit, while opponents rallied around the alternative client Bitcoin Knots. Together with the bitcoin mixer Mixer.Money [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":24269,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"","news_style_id":"","cryptorium_level":"","_short_excerpt_text":"","creation_source":"","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[1144],"tags":[18,755,1192,1138],"class_list":["post-24270","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-longreads","tag-bitcoin","tag-community","tag-developers","tag-opinions"],"aioseo_notices":[],"amp_enabled":true,"views":"587","promo_type":"","layout_type":"","short_excerpt":"","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/24270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/comments?post=24270"}],"version-history":[{"count":0,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/24270\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/24269"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=24270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=24270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=24270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}