From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 23 Jan 2026 06:03:11 -0800 Received: from mail-oa1-f61.google.com ([209.85.160.61]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1vjHki-0003ac-Nb for bitcoindev@gnusha.org; Fri, 23 Jan 2026 06:03:11 -0800 Received: by mail-oa1-f61.google.com with SMTP id 586e51a60fabf-3ff2af9b23asf2745869fac.0 for ; Fri, 23 Jan 2026 06:03:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1769176983; x=1769781783; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=8v0zksU7pVrDTu5ldot+ZGa5jCS5P2WABz27QQwmDrE=; b=QODWOPZICy8u7OpJw+a9KVyYRg4i+fMzjkDDqAWdnbGKYv6bdRgm/ZDZIIO/Q9BTPU WHiJN+YCuzMGZSIJ51ScgKDRoOJ/lCCb0mBtQpdtKHss2TT8ZFLO+21m39+AMSN+5/Dt 1cjokCfT4Ka/u7umRyUcKNpqoYqolIbRxmdBABK4SWQnWGVp/m02RyolWTp74Q4MB1Se RSAVmuea2h4N9e6+R16LXY/cRk4L5qrwj2Ckv2xz0ogY5UVgQ0OcLi/mzb5eSHD4XMCX OL4MquZ4f3JU4ctraww7TSXdkJVAKu9+1rOZOuDS2pyY71ArHB202UCFfFy+GszSdL8y hVcQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769176983; x=1769781783; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=8v0zksU7pVrDTu5ldot+ZGa5jCS5P2WABz27QQwmDrE=; b=YLQ6X4mvhWH46WHpvjXY6AyLbeNqX52jZXU3oFaFMSQeXBYAfWeWtuxN6pSfNn3Dmk bgkTmRmmLxJCElAjFwFLwaCnWRYCFIsETuo+jbhJ/psovsZAUq66C9wTdih1ym8DNZVb pQ/FEx+yXUMgQuFpvP/oRyA57A2zGDctY/hatcC0noDtbYY2Isj2rg2BqycOfQX7r7H3 JYTuFrB4i1wtjzVG7l3BUmZ/hHgXK2a4JEWIIfIEblI+u33HNmmmBZiVkhJHIG/iZ3ll mMGjuigODIHN4ujC4YeIYsfpvlKCHCZ5ionp6QG3BvQsoJwtnqHXV3qs4I3Z3uuRPTs1 ZNMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769176983; x=1769781783; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=8v0zksU7pVrDTu5ldot+ZGa5jCS5P2WABz27QQwmDrE=; b=IvCb9MPc+9S5SyUZzUo/WFEpLoTbrU78bOv0WF0jGp9vshhsg2zXVascF8jh6motgv Ng51ogAhL4kr12o5H+v2YodDrjrOFQ8220hz4TijCDZmC3aIlOwxOm4JP5qMPtCqmji0 9ojxOFm9tFGq8O2LN/mskzxjzdOSkGiRsLvxDUQKZJmip27lE9SufoXtemSMHY9o6l9h kaFqz0Cn0p3Uy3i8Pyx0wzvC4WCusRp5l+WSBOzvw2NtYMClOPSQm6zheJ2+Vyf73ubI itQHMiU0a930U5Z1cMhO1cxTMMy+9lAaWX3g/q18+53YU5GUau/2ycsxoimtHjAWKayM pAzA== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCXjaCniBrU5NBKlNBdOxyVfX2gQ8pdsg+Vqc/KIEHgtQ8jVvg5UWBZ3gkfQQgG4aPVJIKXiNN9DuQKZ@gnusha.org X-Gm-Message-State: AOJu0YyqMJYGFPDTHCxmpHZbSkUd1znVWorMgKut4txVKO9gDSnOpOFU j3uQfwOR6//PtCltWndxfURgzhUSDjrhWopkc+1uyy3+7PG9zmBND6e4 X-Received: by 2002:a05:6871:3a2a:b0:3f1:664f:e8db with SMTP id 586e51a60fabf-408ab4fe07bmr1776020fac.23.1769176982227; Fri, 23 Jan 2026 06:03:02 -0800 (PST) X-BeenThere: bitcoindev@googlegroups.com; h="AV1CL+FA0VPuJrt85sZZlW7ZpCY/tgNLlTxdFEdJAfgUSaFoeQ==" Received: by 2002:a05:6870:720b:b0:404:3336:fc1d with SMTP id 586e51a60fabf-408820384bfls1107807fac.0.-pod-prod-01-us; Fri, 23 Jan 2026 06:02:58 -0800 (PST) X-Received: by 2002:a05:6808:4f06:b0:45c:7b2c:10ca with SMTP id 5614622812f47-45ebb74e807mr517805b6e.13.1769176978019; Fri, 23 Jan 2026 06:02:58 -0800 (PST) Received: by 2002:a05:690c:56c5:20b0:794:2788:2ae4 with SMTP id 00721157ae682-7943c31864dms7b3; Fri, 23 Jan 2026 05:55:20 -0800 (PST) X-Received: by 2002:a05:690e:bc3:b0:643:1ef1:9613 with SMTP id 956f58d0204a3-649611ae8d7mr892064d50.15.1769176519295; Fri, 23 Jan 2026 05:55:19 -0800 (PST) Date: Fri, 23 Jan 2026 05:55:18 -0800 (PST) From: Galois Field To: Bitcoin Development Mailing List Message-Id: In-Reply-To: References: <32f8c689-314d-4a5e-9af6-2e3e704582e6n@googlegroups.com> <4e947f47-b43d-4ec3-ac6a-aa66ea0cfb79n@googlegroups.com> <959c8b53-2055-4de2-8a93-1fd169f1a159n@googlegroups.com> <213ed021-c57e-40b6-8357-c797f52c7d34n@googlegroups.com> Subject: Re: [bitcoindev] Re: The Cat, BIP draft discussion. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_130112_1623054430.1769176518868" X-Original-Sender: galoisfield2718@gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) ------=_Part_130112_1623054430.1769176518868 Content-Type: multipart/alternative; boundary="----=_Part_130113_1015591508.1769176518868" ------=_Part_130113_1015591508.1769176518868 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello everyone, I don't respond regularly, but I can't let this go. > I don't understand how anyone could be confused about the concept of spam= =20 on bitcoin The problem is that you're redefining "spam" to mean "transactions I don't= =20 like" rather than using the technical definition: transactions that DoS the= =20 network. Inscriptions, ordinals, OP_RETURN: these are consensus-valid transactions= =20 that pay fees. Miners choose to include them. That's not spam, that's the= =20 fee market working. You can disagree with the use case, but calling it an= =20 "attack" is disingenuous. Your email spam analogy is backwards: email spam is unwanted by the=20 recipient. Here, miners ARE the recipients, and they're explicitly=20 accepting these transactions by including them in blocks. Bitcoin is agnostic about UTXO content. It's not up to developers to decide= =20 what's a "legitimate monetary transaction" based on the white paper. The=20 protocol is defined by consensus rules in the code, not by our=20 interpretation of Satoshi's intent. Spam prevention in the codebase (like the witness data checks in=20 validation.cpp) exists to prevent DoS vectors, not to judge transaction=20 purpose. That's the actual definition of spam we should be using. Filter whatever you want on your node. That's your right and policy rules= =20 exist for this. But advocating for protocol-level censorship of=20 consensus-valid, fee-paying transactions because you don't like what=20 they're used for is far more dangerous than any jpeg in witness data. Best, Galois Le jeudi 22 janvier 2026 =C3=A0 22:54:24 UTC+1, Pepe Hodler a =C3=A9crit : > Hi list.=20 > > Which brings me to my disagreement, which I know is not shared by a numbe= r=20 > of contributors here: just as it is hard to define spam on Bitcoin=20 > > I don't understand how anyone could be confused about the concept of spam= =20 > on bitcoin. Bitcoins is "A Peer-to-Peer Electronic Cash System" according= =20 > to the white paper. As such, anything not intended as a monetary=20 > transaction is spam. > > The use of fake pubkeys to store data on chain, that is an unsupported an= d=20 > unsanctioned use of bitcoin. That is spam, and an attack, not a monetary= =20 > transaction. > > Same with fake scripthash used to store arbitrary data, unsupported and= =20 > unsanctioned use of bitcoin. That is spam, and an attack, not a monetary= =20 > transaction. > > And the same goes for the Segwit exploit and the Taproot exploit. That is= =20 > exploiting bitcoin to store arbitrary data in an unsanctioned way, spam, = an=20 > attack on bitcoin.=20 > > When Segwit and Taproot were implemented, nobody, absolutely nobody was= =20 > welcoming those upgrades as a way to store jpegs and other garbage on=20 > chain. That is not what bitcoin, Segwit, and Taproot were built for. > > If you are making use of OpenRelay and/or SlipStream to bypass the policy= =20 > of the majority of nodes, you are a spammer and an attacker, not a bitcoi= ner.=20 > You are trying to skirt the only use case of bitcoin.=20 > > When there are blocks like this one:=20 > https://mempool.space/block/00000000000000000000ed962f87a0c350b1401fe546d= b60e6d78e34ab549378 .=20 > Over 60% of the transactions in that block are not sending or receiving a= =20 > single sat. It's all op_returns with no sats in them. That is not what=20 > bitcoin was designed or sanctioned for. > > These people are not users, they are attackers and spammers. How can you= =20 > look at inscriptions, runes, ordinals, fake pubkeys, fake scripthash,=20 > stamps, and op_return with 0 sats in them and wonder if those are legit= =20 > bitcoin monetary transactions? > Now, some have tried to claim "My ordinal is a consensus valid=20 > transaction". And of course it is, otherwise it would not have been added= =20 > to a block. But that's like saying the Nigerian prince email followed all= =20 > the SMTP and POP protocols of email, therefore it's not spam. Some spam= =20 > defenders have tried to claim they have paid their miner fee. Of course= =20 > they did, but that's like saying the sender of the Nigerian prince email= =20 > paid his internet, therefore it's not spam. =20 > > If you are confused about what constitutes spam on bitcoin, please=20 > explain. While I'm sure there are some transactions that could be tricky= =20 > and controversial to identify as spam, I"m sure we can all agree that=20 > inscriptions, stamps, jpegs, fake pubkeys, fake scripthash, unusually lar= ge=20 > Segwit data, ordinals, runes, etc, are all clearly spam.=20 > > > it's also very hard to define it in a discussion forum like this one. =20 > > > I just did it, see above. It really wasn't that hard. How are you confuse= d=20 > about the definition of spam as it pertains to bitcoin? Because bitcoin i= s=20 > money, they have to obfuscate their spam to make it look like a legitimat= e=20 > monetary transaction to the system. So you could make the case that it's= =20 > harder to distinguish spam from a real monetary transaction. But defining= =20 > spam on it's own is pretty easy. =20 > > But ultimately, it does not belong to devs to decide what is spam. Don't= =20 > think that just because we know C++, that somehow gives us authority to= =20 > decide what direction bitcoin should be taking, and what spam is.=20 > > That decision belongs to the nodes. And it's clear that the nodes are not= =20 > given the tools to decide for themselves what spam is or what spam isn't,= =20 > with comprehensive user configurable spam filters.=20 > > Notions of motivation of contributors (such as they are paid by such and= =20 > such a company) should not be relevant.=20 > > > Are you suggesting that conflict of interest is not a thing? If someone i= s=20 > advocating against any and all measures against spam, I would really like= =20 > to know where their interests lie.=20 > > Everything should be open to discussion which is implementation-technical= =20 > (so obviously not e.g. threats of violence or things that bring legal=20 > liability to participants or have zero relevance to Bitcoin's technical= =20 > development) even if it's philosophy-motivated. And blocking should be=20 > reserved either as an anti-DOS measure if volume gets out of control, or = if=20 > it brings dangers as per the previous parenthetical.=20 > > > This comes across as a thinly veiled attempt to censor anyone who wants t= o=20 > combat spam, and their employees/employers. This idea of censoring=20 > "confiscatory" proposals never came up when someone proposed confiscation= =20 > though what he called "demorage" or when someone proposed seizing Satoshi= 's=20 > coin.=20 > > If you want to buy or sell pancakes, or JPEgs, or anything else for that= =20 > matter, bitcoin is here to serve you. But your pancakes and your JPEGs=20 > don't belong on the bitcoin chain. > > Disclaimer: I own bitcoin, I run a bitcoin business in El Salvador. I own= =20 > no inscriptions or spam of any kind, and I don't profit from any spam=20 > related companies. > > 40% of the UTXO set is dust spam UTXOs that contains less than 0.0017% of= =20 > the total bitcoin issued. This constitutes an attack on bitcoin. I think = we=20 > all should start acknowledging the problem, and stop asking ourselves=20 > dismissive questions like "What is spam anyways?" and use that question a= s=20 > an excuse to pretend there is no problem. > > Cheers, Pepe=20 > > > > On Tuesday, 30 December 2025 at 08:51:56 UTC-6 Antoine Riard wrote: > > Hi list, > > > Which brings me to my disagreement, which I know is not shared by a=20 > number of contributors here: just as it is hard to define spam on Bitcoin= ,=20 > it's also very hard to define it in a discussion forum like this one.=20 > Making suggestions which *I* think are terrible, or detrimental, on a lis= t=20 > like this, should never be disallowed here. Notions of motivation of=20 > contributors (such as they are paid by such and such a company) should no= t=20 > be relevant. Everything should be open to discussion which is=20 > implementation-technical (so obviously not e.g. threats of violence or=20 > things that bring legal liability to participants or have zero relevance = to=20 > Bitcoin's technical development) even if it's philosophy-motivated. And= =20 > blocking should be reserved either as an anti-DOS measure if volume gets= =20 > out of control, or if it brings dangers as per the previous parenthetical= . > > I'm fully sharing waxwing reasonable opinion. While I can understand=20 > gmax's sentiment being fed > up with poor coin confiscation proposals again and again on the mailing= =20 > list, the cure would be > worst than the disease. Maybe, I'm very voltairean here, but you don't=20 > fight ill-founded opinions. > by persecuting their authors (--otherwise, down the road you take the ris= k=20 > of seeing the bastille > popped up). Rather than you fight them back by doing the work to persuade= =20 > and to convince those > ideas you find stupid are indeed *objectively* stupid. > > To me, it's a sign of strength and confidence that Bitcoin and its=20 > development process can > withstand and endure the most "outrageous" controversies. For sure, I hav= e=20 > been enough times > in the shoes of someone who has to champion controversial changes (cf.=20 > `mempoolfullrbf`) to not > negate that the strength of the process is kinda traded on the back of th= e=20 > devs, but this is not > altering my mind on what I think should be *ideally* the development=20 > process in terms of openess > and publicity. > > My humble opinion only, as we said. > > Best, > Antoine > OTS hash: 5c1c19f589a61787dbf483cd6814f094c3b24888d6d189c5f4d776bda558e1c= e > Le mercredi 24 d=C3=A9cembre 2025 =C3=A0 17:23:48 UTC, waxwing/ AdamISZ a= =C3=A9crit : > > Hi Greg, list: > > > I think the list should adopt a 1 year ban on parties *and their*=20 > employer(s) (if known) for any coin confiscation proposal on the list goi= ng=20 > forward (after, of course, making the rule clear on the signup page). It= 's=20 > tiresome and beyond being a waste of time risks undermining public=20 > confidence in Bitcoin to see the constant trickle of these=20 > outrageous proposals in venues where they previously understood that=20 > serious discussions were to be had. People are, of course, free to discus= s=20 > whatever ill-founded concepts they want but they're not entitled to the= =20 > time and the reputation of the participants here for offensively misguide= d=20 > proposals.=20 > > I'm a huge agree-er with the motivation of this comment and a huge=20 > disagree-er with the suggestion itself. > > Actual confiscation, whatever the reason, hugely undermines Bitcoin's=20 > value to humanity - note I am not saying its financial value, but value a= s=20 > a project (and if we didn't see such value what the hell are we doing=20 > here). Of course those two types of value are very closely linked, but th= ey=20 > are still distinct. I hold that same belief even when we are talking abou= t=20 > other suggestions of confiscation, such as to address a quantum threat -= =20 > something that has recently been discussed here, extensively. > > Which brings me to my disagreement, which I know is not shared by a numbe= r=20 > of contributors here: just as it is hard to define spam on Bitcoin, it's= =20 > also very hard to define it in a discussion forum like this one. Making= =20 > suggestions which *I* think are terrible, or detrimental, on a list like= =20 > this, should never be disallowed here. Notions of motivation of=20 > contributors (such as they are paid by such and such a company) should no= t=20 > be relevant. Everything should be open to discussion which is=20 > implementation-technical (so obviously not e.g. threats of violence or=20 > things that bring legal liability to participants or have zero relevance = to=20 > Bitcoin's technical development) even if it's philosophy-motivated. And= =20 > blocking should be reserved either as an anti-DOS measure if volume gets= =20 > out of control, or if it brings dangers as per the previous parenthetical= . > > Just my opinion of course, I know that moderation of lists is not a simpl= e=20 > matter. > > Cheers, > AdamISZ/waxwing > On Tuesday, December 23, 2025 at 10:26:16=E2=80=AFPM UTC-3 Greg Maxwell w= rote: > > The 'dust threshold' isn't a consensus parameter, it's just a number=20 > pulled out of the air that didn't seem unreasonable based on average fee= =20 > behavior. But in any particular block transactions may need no particula= r=20 > fee level at all, including zero fees. And in some cases it may be very= =20 > economically advantageous to spend an output even if its face value doesn= 't=20 > support it, NFT's being a one such example (although one I consider prett= y=20 > dumb). > =20 > This proposal also appears to have ignored the prior discussion=20 > particularly where it was pointed out that 'deleting' outputs will not=20 > achieve the goal of deleting the tokens connected to them (so won't=20 > eliminate the incentive), or that txouts which are predictably not going = to=20 > be accessed (as this proposal claims applies to the txouts it targets)=20 > don't have as significant performance implications (because they don't ne= ed=20 > to be cached in ram). It also appears to be uninformed by advances like= =20 > utxotree which makes the absolute size of the txout set much less=20 > important, but would make mass removals such as that described=20 > here expensive. Nor has it considered that given the level of fee spendi= ng=20 > on NFT traffic a requirement to keep it over some (reasonable) threshold= =20 > would not likely discourage it, or the fact that existent NFT outputs are= =20 > generally over the dust limit in any case (so the proposals failure to me= et=20 > the opcat proponents' delusional goals is already clear). > > I think the list should adopt a 1 year ban on parties *and their*=20 > employer(s) (if known) for any coin confiscation proposal on the list goi= ng=20 > forward (after, of course, making the rule clear on the signup page). It= 's=20 > tiresome and beyond being a waste of time risks undermining public=20 > confidence in Bitcoin to see the constant trickle of these=20 > outrageous proposals in venues where they previously understood that=20 > serious discussions were to be had. People are, of course, free to discus= s=20 > whatever ill-founded concepts they want but they're not entitled to the= =20 > time and the reputation of the participants here for offensively misguide= d=20 > proposals.=20 > > > On Tue, Dec 23, 2025 at 6:27=E2=80=AFPM John wrot= e: > > Good evening all, > > Here is a related proposal by Matteo Pellegrini > @matteopelleg > > > > Lynx. > > Abstract > This proposal introduces a periodic, consensus-enforced mechanism for=20 > rendering UTXOs below the network's dust threshold permanently unspendabl= e.=20 > At each halving block, UTXOs that have remained below the dust threshold= =20 > since the previous halving become unspendable. These UTXOs become=20 > unspendable and may be pruned from the UTXO set entirely, reducing node= =20 > storage requirements and eliminating the economic model that incentivizes= =20 > their creation. > > Motivation > The Bitcoin UTXO set has grown substantially due to various factors,=20 > including inscription protocols, spam attacks, and general dust=20 > accumulation. Recent proposals such as "The Cat" (Non-monetary UTXO=20 > Cleanup) by @ostrom72158 > have attempted to address this by creating lists of specific UTXOs to= =20 > render unspendable, identified by external protocol indexers. > > The Cat's approach has a fatal flaw: it relies on a list. > > Using a curated list of "non-monetary UTXOs" introduces several problems: > > 1) External dependency: The Cat requires reference indexers (Ord, Stamps,= =20 > etc.) to define which UTXOs qualify. This introduces consensus-level=20 > dependency on external, non-Bitcoin software that can change, have bugs, = or=20 > interpret protocols differently. > > 2) Protocol targeting: By specifically identifying inscription and stamp= =20 > outputs, the proposal makes subjective judgments about which Bitcoin uses= =20 > are legitimate. This sets a precedent for protocol-level discrimination. > > 3) Cat-and-mouse dynamics: Targeting specific protocols incentivizes=20 > workarounds. If Ordinals dust is targeted, protocols will adapt to create= =20 > dust that doesn't match the list criteria. > > 4) Static snapshot: A one-time list cleanup provides temporary relief but= =20 > does nothing for future UTXO accumulation. > > 5) Political vulnerability: Any list-based approach requires ongoing=20 > governance decisions about what belongs on the list, creating a permanent= =20 > political attack surface. > > A better approach targets the economic reality, not the use case. > > UTXOs below the dust threshold are, by definition, economically irrationa= l=20 > to spend under normal fee conditions. The dust limit exists precisely=20 > because spending these outputs costs more in fees than the output is wort= h.=20 > These UTXOs are already "dead" in practice; this proposal simply makes th= at=20 > reality explicit at the consensus layer. > > By using a threshold rather than a list, Lynx: > > - Requires no external indexers > - Makes no judgment about why a UTXO is small > - Applies equally to all participants > - Provides ongoing, predictable maintenance > - Removes political discretion from the process > > Impact on Inscription Protocols > > The typical Ordinals inscription is stored in a UTXO containing exactly= =20 > 546 sats; the minimum required to meet the dust limit for P2PKH addresses= =20 > and ensure transferability across all address types. This "postage" amoun= t=20 > is standard across inscription tooling and marketplaces. > > A threshold of 999 sats captures the vast majority of inscription UTXOs= =20 > without requiring any protocol-specific targeting. The economic model of= =20 > inscriptions depends on these dust-level UTXOs being spendable; Lynx brea= ks=20 > that model through neutral, threshold-based rules rather than list-based= =20 > discrimination. > > Specification > > Definitions > > - Dust threshold: 999 sats. Any UTXO with a value less than 999 sats is= =20 > subject to Lynx enforcement. > > - Halving block: A block at height N * 210,000 where N =E2=89=A5 1. > > - Snapshot block: A halving block at which the current dust threshold an= d=20 > qualifying UTXOs are recorded. > > - Enforcement block: The halving block following a snapshot block (i.e.,= =20 > snapshot block + 210,000 blocks). > > Lynx UTXOs: > - Existed at the snapshot block > - Had a value less than 999 sats > - Remained unspent through the enforcement period (~4 years) > > Consensus Rules > After activation, the following rules apply: > > 1) Snapshot: At each halving block H, record the set of all UTXOs with=20 > value < 999 sats. > > 2) Enforcement: At halving block H + 210,000: > - Any UTXO that was in the snapshot set and remains unspent becomes=20 > permanently unspendable > - Transactions attempting to spend these UTXOs are invalid > > 3) Pruning: After enforcement, nodes MAY prune Lynx UTXOs from their loca= l=20 > UTXO set. Transactions referencing unknown outpoints are already rejected= =20 > as invalid; pruned Lynx UTXOs are simply treated as if they were already= =20 > spent. > > 4) Grace period: The ~4 year window between snapshot and enforcement=20 > provides ample time for holders to consolidate sub-dust UTXOs if they wis= h=20 > to preserve the value. > > Activation > > Activation method: TBD (Speedy Trial, BIP8, or other mechanism as=20 > determined by community consensus) > > Recommended first snapshot: The halving following activation lock-in > > Rationale > > Why a fixed threshold? > > Using a fixed threshold of 999 sats rather than referencing the dynamic= =20 > relay dust limit provides: > > - Simplicity: One number, no script-type variations, no need to query=20 > policy settings > > - Predictability: Everyone knows exactly what qualifies, forever > > - Consensus clarity: No ambiguity about which outputs are affected. > > Why tie to the halving? > > The halving is Bitcoin's most recognized Schelling point, using it=20 > provides: > > - Predictability: Everyone knows exactly when halvings occur > - Sufficient notice: ~4 years is generous warning for any cleanup action > - Aligned incentives: As block rewards decrease, fee revenue and UTXO=20 > efficiency become more critical to network sustainability > - Natural cadence: The halving already represents a moment of network-wid= e=20 > coordination > > Why not a one-time cleanup? > > A one-time cleanup (as proposed by The Cat) provides temporary relief but= =20 > creates no ongoing pressure against dust accumulation. Periodic enforceme= nt: > > - Establishes a permanent, predictable norm > - Removes any expectation that dust UTXOs have indefinite longevity > - Discourages business models built on dust creation > - Provides continuous UTXO set maintenance > > Why pruning works without a list > > A key insight enables pruning without maintaining a separate list: Bitcoi= n=20 > nodes already reject transactions that reference unknown outpoints. When = a=20 > node receives a transaction spending an outpoint not in its UTXO set, it= =20 > rejects it as invalid =E2=80=94 the node doesn't need to know why the out= point is=20 > missing (spent? never existed? pruned?). > > After enforcement, a Lynx UTXO is functionally equivalent to a spent=20 > output. Nodes can simply delete it from the UTXO set. Any future=20 > transaction attempting to spend it will reference an outpoint the node=20 > doesn't recognize, and will be rejected through existing validation logic= . > > This means: > > - No separate "Lynx list" is required > - No new validation logic is needed > - Pruning is optional; nodes MAY keep Lynx UTXOs if they wish > - The UTXO set shrinks naturally as nodes prune > > Why 999 sats? > > The threshold of 999 sats is chosen because: > > - Above all dust limits: Captures UTXOs at or below the dust limit for al= l=20 > script types (P2PKH: 546, P2TR: 330, etc.) > - Captures all standard inscriptions: Typical inscription UTXOs contain= =20 > exactly 546 sats as "postage"; well under 999 > - Simple and memorable: A clean number that's easy to communicate and=20 > reason about > > Backward Compatibility > > This is a soft fork. Nodes that do not upgrade will: > > - Continue to consider all historical transactions valid > - Accept blocks that exclude spends of Lynx UTXOs > - Eventually converge with upgraded nodes (as upgraded miners will not=20 > include invalid spends) > > Wallets & Services should: > > - Warn users holding sub-threshold UTXOs after a snapshot block > - Provide consolidation tools during the grace period > - Update UTXO selection algorithms to deprioritize or exclude=20 > sub-threshold outputs approaching a snapshot > > Security Considerations > > No confiscation > > This proposal does not transfer value to any party. Sub-threshold UTXOs= =20 > become unspendable, similar to: > > - Lost private keys > - Provably unspendable OP_RETURN outputs > - Satoshi's untouched coinbase rewards > > The bitcoin supply cap remains unchanged; the affected outputs simply=20 > become irrecoverable. Holders receive ~4 years notice to consolidate if= =20 > they value the sats. > > Lightning Network > > Some Lightning implementations create small HTLCs and dust outputs during= =20 > channel operations. Analysis is needed to determine: > > - Whether current dust thresholds affect normal LN operations > - If LN implementations need adjustment before activation > - Whether channel close scenarios create sub-threshold outputs > > Preliminary assessment: LN dust limits are already set conservatively=20 > above relay dust limits, so impact should be minimal. However, this=20 > requires verification from LN implementers. > > Fixed threshold vs. future fee markets > > The 999 satoshi threshold is fixed in consensus rules and does not adjust= =20 > based on fee market conditions.=20 > This is intentional: > > - A fixed threshold provides certainty for users and developers > - If fee markets change dramatically, a future soft fork could adjust the= =20 > threshold > - The ~4 year grace period allows the community to observe and adapt > > If Bitcoin's fee market evolves such that 999 sats becomes economically= =20 > significant to spend, this would indicate broader success of the network;= =20 > and the community could choose to lower or eliminate the threshold throug= h=20 > a subsequent proposal. > > Acknowledgments > This proposal builds on the problem identification in "The Cat"=20 > (Non-monetary UTXO Cleanup) while proposing a list-free alternative=20 > mechanism. The Cat correctly identifies UTXO bloat as a problem worth=20 > solving; Lynx offers a more neutral solution. > > > https://x.com/matteopelleg/status/2000602318346334449 > On Thursday, 18 December 2025 at 21:36:14 UTC-6 Greg Maxwell wrote: > > I received no prior response from you, so I suspect the issue is on your= =20 > end-- since if you sent one I would normally have been directly copied.= =20 > > In any case, your message makes no sense. If an output is provably=20 > unspendable then it is unspendable. No amount of "clever steganography"= =20 > can change that. If you're imagining that perhaps they are *presumed* t= o=20 > be unspendable but actually *are* spendable, then sure that would be an= =20 > issue but with any change to consensus relevant code great care must be= =20 > taken to not introduce errors. Actually *making* a consensus change woul= d=20 > only increase the potential for mistakes. > > These costs are just another reason why this hysteria over a non-issue is= =20 > misplaced. > > But in any case it is better that (any) implementations that care about= =20 > stamps put in the effort to define their exclusions in ways that are safe= =20 > than to burden everyone with a consensus change that doesn't care about i= t. > > > On Fri, Dec 19, 2025 at 1:49=E2=80=AFAM Jonathan Voss = wrote: > > This is my third attempt to respond to this. Idk what is going wrong here= . > > The problem with dropping Bitcoin Stamps UTXOs from the UTXO set without = a=20 > consensus change is that a clever use of steganography could cause one of= =20 > those otherwise unspendable outputs to be spendable, thus causing a fork= =20 > between those nodes that adopted the Stamp pruning method and those that= =20 > did not once one of those steganographic Stamps is spent. Though this is= =20 > unlikely, it is still technically possible, and I would not put it past t= he=20 > denizens of the Internet to stir up trouble just for its own sake. > > On Friday, December 12, 2025 at 6:49:41=E2=80=AFPM UTC-5 Greg Maxwell wro= te: > > On Fri, Dec 12, 2025 at 9:26=E2=80=AFPM Jonathan Voss = wrote: > > Since the Bitcoin Stamps outputs are already unspendable, it makes perfec= t=20 > sense to mark and drop them from the UTXO set. > > > There is no consensus change involved in not storing a provably=20 > unspendable output, it's just an implementation detail with no=20 > interoperability implications and doesn't need a BIP. Bitcoin core has= =20 > long done so for several types of unspendable outputs, e.g. outputs over= =20 > 10kb and ones starting with OP_RETURN. > > --=20 > You received this message because you are subscribed to the Google Groups= =20 > "Bitcoin Development Mailing List" group. > To unsubscribe from this group and stop receiving emails from it, send an= =20 > email to bitcoindev+...@googlegroups.com. > > To view this discussion visit=20 > https://groups.google.com/d/msgid/bitcoindev/4e947f47-b43d-4ec3-ac6a-aa66= ea0cfb79n%40googlegroups.com=20 > > . > > --=20 > You received this message because you are subscribed to the Google Groups= =20 > "Bitcoin Development Mailing List" group. > To unsubscribe from this group and stop receiving emails from it, send an= =20 > email to bitcoindev+...@googlegroups.com. > > To view this discussion visit=20 > https://groups.google.com/d/msgid/bitcoindev/959c8b53-2055-4de2-8a93-1fd1= 69f1a159n%40googlegroups.com=20 > > . > > --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= f66300d3-1606-41ec-9530-30a3731ea045n%40googlegroups.com. ------=_Part_130113_1015591508.1769176518868 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello everyone,

I don't respond regularly, but I can't let this = go.

> I don't understand how anyone could be confused about t= he concept of spam on bitcoin

The problem is that you're redefin= ing "spam" to mean "transactions I don't like" rather than using the techni= cal definition: transactions that DoS the network.

Inscriptions,= ordinals, OP_RETURN: these are consensus-valid transactions that pay fees.= Miners choose to include them. That's not spam, that's the fee market work= ing. You can disagree with the use case, but calling it an "attack" is disi= ngenuous.

Your email spam analogy is backwards: email spam is un= wanted by the recipient. Here, miners ARE the recipients, and they're expli= citly accepting these transactions by including them in blocks.

= Bitcoin is agnostic about UTXO content. It's not up to developers to decide= what's a "legitimate monetary transaction" based on the white paper. The p= rotocol is defined by consensus rules in the code, not by our interpretatio= n of Satoshi's intent.

Spam prevention in the codebase (like the= witness data checks in validation.cpp) exists to prevent DoS vectors, not = to judge transaction purpose. That's the actual definition of spam we shoul= d be using.

Filter whatever you want on your node. That's your r= ight and policy rules exist for this. But advocating for protocol-level cen= sorship of consensus-valid, fee-paying transactions because you don't like = what they're used for is far more dangerous than any jpeg in witness data.<= br />
Best,
Galois
Le jeudi 22 janvier 2026 =C3=A0 22:54:24 UTC+1, Pepe Hod= ler a =C3=A9crit=C2=A0:
Hi list.

Which brings me to my disagreement, which I know is not shared by a number of contributors here: just as it is hard to define spam on Bitcoin

I don't understand how anyone could be confused about the concept of spam on bitcoin. Bitcoins is "A Peer-to-Peer Electronic Cash System" according to the white paper. As such, anything not intended as a monetary transaction is spam.

The use= of fake pubkeys to store data on chain, that is an unsupported and unsanctioned use of bitcoin. That is spam, and an a= ttack, not a monetary transaction.

Same with fake scripthash used to store arbitrary data, unsupported and unsanctioned use of bitcoin.=C2=A0That is spam, and an attack, not a mo= netary transaction.

And the same goes for the Segwit exploit and the Taproot exploit. Th= at is exploiting bitcoin to store arbitrary data in an unsanctioned way, spam, an attack on bitcoin.=C2=A0

=20

When Segwit and Taproot were implemented, nobody, absolutely nobody was welcoming those upgrades as a way to store jpegs and other garbage on chain. That is not what bitcoin, Segwit, and Taproot were built for.

If=C2=A0you are making use of OpenRelay and/or SlipStream to bypass the= =20 policy of the majority of nodes, you are a spammer and an attacker, not a bitcoiner. Yo= u are trying to skirt the only use case of bitcoin.=C2=A0

When there are= blocks like this one:=C2=A0https://mempool.space/block/00000000= 000000000000ed962f87a0c350b1401fe546db60e6d78e34ab549378=C2=A0. Over 60= % of the transactions in that block are not sending or receiving a single sat. It's all op_returns with no sats in them. That is not what bitcoin was designed or sanctioned for.

These people are not users, they are attackers and spammers. How can you look at inscriptions, runes, ordinals, fake pubkeys, fake scripthash, stamps, and op_return with 0 sats in them and wonder if those are legit bitcoin monetary transactions?

Now, some have tried to claim "My ordinal is a consensus valid transaction= ". And of course it is, otherwise it would not have been added to a block. But that's like saying the Nigerian prince email followed all the SMTP and POP protocols of email, therefore it's not spam.= =C2=A0= =C2=A0S= ome spam defenders have tried to claim they have paid their miner fee. Of course they did, but that's like saying the sender of the Nigeria= n prince email paid his internet, therefore it's not spam.=C2=A0 = =C2=A0

If you are confused about what constitutes spam on bitcoin, please explain. While I'm sure there are some transactions that could be tricky and controversial to identify as spam, I"m sure we can all agree that inscriptions, stamps, jpegs, fake pubkeys, fake scripthash, unusually large Segwit data, ordinals, runes, etc, are all clearly spam.=C2=A0


it's also very hard to define it in a discussion forum like this one.=C2=A0=

I just did it, see above. It really wasn't that hard. How are you confused about the definition of spam as it pertains to bitcoin? Because=20 bitcoin is money, they have to obfuscate their spam to make it look like a legitimate monetary transaction to the system. So you could make the=20 case that it's harder to distinguish spam from a real monetary=20 transaction. But defining spam on it's own is pretty easy.=C2=A0= =C2=A0

But ultimately, it does not belong to devs to decide what is spam. Don't think that just because we know C++, that somehow gives us= =20 authority to decide what direction bitcoin should be taking, and what spam is.

That decis= ion belongs to the nodes. And it's clear that the nodes are not given the tools to decide for themselves what spam is or what spam isn'= t, with comprehensive user configurable spam filters.

Notions of motivation of contributors (such as they are paid by such and such a company) should not be relevant.

Are you suggesting that conflict of interest is not a thing? If someone is advocating against any and all measures against spam, I would really like to know where their interests lie.

Everything should be open to discussion which is implementation-technical (so obviously not e.g. threats of violence or things that bring legal liability to participants or have zero relevance to Bitcoin's technical development) even if it's philosophy-motivated. And blocking should be reserved either as an anti-DOS measure if volume gets out of control, or if it brings dangers as per the previous parenthetical.

This=20 comes across as a thinly veiled attempt to censor anyone who wants to=20 combat spam, and their employees/employers. This idea of censoring=20 "confiscatory" proposals never came up when someone proposed=20 confiscation though what he called "demorage" or when someone proposed seizing Satoshi's coin.=C2=A0
=

If you want to buy or sell=20 pancakes, or JPEgs, or anything else for that matter, bitcoin is here to serve you. But your pancakes and your JPEGs don't belong on the bitcoi= n chain.

Disclaimer: I own bitcoin, I run a bitcoin business in El Salvador. I own no inscriptions or spam of any kind, and I don't profit from any spa= m related companies.

40% of the UTXO set is dust=20 spam UTXOs that contains less than 0.0017% of the total bitcoin issued.=20 This constitutes an attack on bitcoin. I think we all should start=20 acknowledging the problem, and stop asking ourselves dismissive=20 questions like "What is spam anyways?" and use that question as a= n=20 excuse to pretend there is no problem.

Cheers, Pepe


=20

On Tuesday, 30 December 2025 at 08:51:56 U= TC-6 Antoine Riard wrote:
Hi list,
=
> Which brings me to my disagreement, which I know is not shared by = a number of contributors here: just as it is hard to define spam on Bitcoin= , it's also very hard to define it in a discussion forum like this one.= Making suggestions which *I* think are terrible, or detrimental, on a list= like this, should never be disallowed here. Notions of motivation of contr= ibutors (such as they are paid by such and such a company) should not be re= levant. Everything should be open to discussion which is implementation-tec= hnical (so obviously not e.g. threats of violence or things that bring lega= l liability to participants or have zero relevance to Bitcoin's technic= al development) even if it's philosophy-motivated. And blocking should = be reserved either as an anti-DOS measure if volume gets out of control, or= if it brings dangers as per the previous parenthetical.

I'm ful= ly sharing waxwing reasonable opinion. While I can understand gmax's se= ntiment being fed
up with poor coin confiscation proposals again and aga= in on the mailing list, the cure would be
worst than the disease. Maybe,= I'm very voltairean here, but you don't fight ill-founded opinions= .
by persecuting their authors (--otherwise, down the road you take the = risk of seeing the bastille
popped up). Rather than you fight them back = by doing the work to persuade and to convince those
ideas you find stupi= d are indeed *objectively* stupid.

To me, it's a sign of strengt= h and confidence that Bitcoin and its development process can
withstand = and endure the most "outrageous" controversies. For sure, I have = been enough times
in the shoes of someone who has to champion controvers= ial changes (cf. `mempoolfullrbf`) to not
negate that the strength of th= e process is kinda traded on the back of the devs, but this is not
alter= ing my mind on what I think should be *ideally* the development process in = terms of openess
and publicity.

My humble opinion only, as we sai= d.

Best,
Antoine
OTS hash: 5c1c19f589a61787dbf483cd6814f094c3b= 24888d6d189c5f4d776bda558e1ce
Le mercredi 24 d=C3= =A9cembre 2025 =C3=A0 17:23:48 UTC, waxwing/ AdamISZ a =C3=A9crit=C2=A0:
Hi Greg, list:

=
>=C2=A0I think the list should adopt a 1 year ban on parties *and t= heir*=20 employer(s) (if known) for any coin confiscation=C2=A0proposal on the list= =20 going forward (after, of course, making the rule clear on the signup=20 page).=C2=A0 It's tiresome and beyond being a waste of time risks under= mining public confidence in Bitcoin to see the constant trickle of these=20 outrageous=C2=A0proposals in venues where they previously understood that= =20 serious discussions were to be had. People are, of course, free to=20 discuss whatever ill-founded concepts they want but they're not entitle= d to the time and the reputation of the participants here for offensively misguided proposals.=C2=A0

I'm a huge agree-e= r with the motivation of this comment and a huge disagree-er with the sugge= stion itself.

Actual confiscation, whatever the re= ason, hugely undermines Bitcoin's value to humanity - note I am not say= ing its financial value, but value as a project (and if we didn't see s= uch value what the hell are we doing here). Of course those two types of va= lue are very closely linked, but they are still distinct. I hold that same = belief even when we are talking about other suggestions of confiscation, su= ch as to address a quantum threat - something that has recently been discus= sed here, extensively.

Which brings me to my disag= reement, which I know is not shared by a number of contributors here: just = as it is hard to define spam on Bitcoin, it's also very hard to define = it in a discussion forum like this one. Making suggestions which *I* think = are terrible, or detrimental, on a list like this, should never be disallow= ed here. Notions of motivation of contributors (such as they are paid by su= ch and such a company) should not be relevant. Everything should be open to= discussion which is implementation-technical (so obviously not e.g. threat= s of violence or things that bring legal liability to participants or have = zero relevance to Bitcoin's technical development) even if it's phi= losophy-motivated. And blocking should be reserved either as an anti-DOS me= asure if volume gets out of control, or if it brings dangers as per the pre= vious parenthetical.

Just my opinion of course, I = know that moderation of lists is not a simple matter.

<= div>Cheers,
AdamISZ/waxwing
On Tuesday, Dece= mber 23, 2025 at 10:26:16=E2=80=AFPM UTC-3 Greg Maxwell wrote:
The 'dust threshold'= isn't a consensus parameter, it's just a number pulled out of the = air that didn't seem unreasonable based on average fee behavior.=C2=A0 = But in any particular block transactions may need no particular fee level a= t all, including zero fees.=C2=A0 And in some cases it may be very economic= ally advantageous=C2=A0to spend an output even if its face value doesn'= t support it, NFT's being a one such example (although one I consider p= retty dumb).
=C2=A0
This proposal also appears to have = ignored the prior discussion particularly where it was pointed out that = 9;deleting' outputs will not achieve the goal of deleting the tokens co= nnected to them (so won't eliminate the incentive), or that txouts=C2= =A0which are predictably not going to be accessed (as this proposal claims = applies to the txouts it targets) don't have as significant performance= implications (because they don't need to be cached in ram).=C2=A0 It a= lso appears to be uninformed=C2=A0by advances like utxotree which makes the= absolute size of the txout set much less important, but would make mass re= movals such as that described here=C2=A0expensive.=C2=A0 Nor has it conside= red that given the level of fee spending on NFT traffic a requirement to ke= ep it over some (reasonable) threshold would not likely discourage it, or t= he fact that existent=C2=A0NFT outputs are generally over the dust limit in= any case (so the proposals failure to meet the opcat proponents' delus= ional goals is already clear).

I think the list sh= ould adopt a 1 year ban on parties *and their* employer(s) (if known) for a= ny coin confiscation=C2=A0proposal on the list going forward (after, of cou= rse, making the rule clear on the signup page).=C2=A0 It's tiresome and= beyond being a waste of time risks undermining public confidence in Bitcoi= n to see the constant trickle of these outrageous=C2=A0proposals in venues = where they previously understood that serious discussions were to be had. P= eople are, of course, free to discuss whatever ill-founded concepts they wa= nt but they're not entitled to the time and the reputation of the parti= cipants here for offensively misguided proposals.=C2=A0


=
On Tue, Dec 23, 2025 at 6:27=E2=80=AFPM Jo= hn <johnpenn...@gmail.com> wrote:
Good evening all,

<= /div>
Here is a related proposal by Matteo Pellegrini
@matteopelleg<= br>


Lynx.

Abstract
Th= is proposal introduces a periodic, consensus-enforced mechanism for renderi= ng UTXOs below the network's dust threshold permanently unspendable. At= each halving block, UTXOs that have remained below the dust threshold sinc= e the previous halving become unspendable. These UTXOs become unspendable a= nd may be pruned from the UTXO set entirely, reducing node storage requirem= ents and eliminating the economic model that incentivizes their creation.
Motivation
The Bitcoin UTXO set has grown substantially due to var= ious factors, including inscription protocols, spam attacks, and general du= st accumulation. Recent proposals such as "The Cat" (Non-monetary= UTXO Cleanup) by @ostrom72158
=C2=A0 have attempted to address this by = creating lists of specific UTXOs to render unspendable, identified by exter= nal protocol indexers.

The Cat's approach has a fatal flaw: it r= elies on a list.

Using a curated list of "non-monetary UTXOs&qu= ot; introduces several problems:

1) External dependency: The Cat req= uires reference indexers (Ord, Stamps, etc.) to define which UTXOs qualify.= This introduces consensus-level dependency on external, non-Bitcoin softwa= re that can change, have bugs, or interpret protocols differently.

2= ) Protocol targeting: By specifically identifying inscription and stamp out= puts, the proposal makes subjective judgments about which Bitcoin uses are = legitimate. This sets a precedent for protocol-level discrimination.
3) Cat-and-mouse dynamics: Targeting specific protocols incentivizes worka= rounds. If Ordinals dust is targeted, protocols will adapt to create dust t= hat doesn't match the list criteria.

4) Static snapshot: A one-t= ime list cleanup provides temporary relief but does nothing for future UTXO= accumulation.

5) Political vulnerability: Any list-based approach r= equires ongoing governance decisions about what belongs on the list, creati= ng a permanent political attack surface.

A better approach targets t= he economic reality, not the use case.

UTXOs below the dust threshol= d are, by definition, economically irrational to spend under normal fee con= ditions. The dust limit exists precisely because spending these outputs cos= ts more in fees than the output is worth. These UTXOs are already "dea= d" in practice; this proposal simply makes that reality explicit at th= e consensus layer.

By using a threshold rather than a list, Lynx:
- Requires no external indexers
- Makes no judgment about why a UTX= O is small
- Applies equally to all participants
- Provides ongoing, = predictable maintenance
- Removes political discretion from the process<= br>
Impact on Inscription Protocols

The typical Ordinals inscript= ion is stored in a UTXO containing exactly 546 sats; the minimum required t= o meet the dust limit for P2PKH addresses and ensure transferability across= all address types. This "postage" amount is standard across insc= ription tooling and marketplaces.

A threshold of 999 sats captures t= he vast majority of inscription UTXOs without requiring any protocol-specif= ic targeting. The economic model of inscriptions depends on these dust-leve= l UTXOs being spendable; Lynx breaks that model through neutral, threshold-= based rules rather than list-based discrimination.

Specification
=
Definitions

-=C2=A0 Dust threshold: 999 sats. Any UTXO with a va= lue less than 999 sats is subject to Lynx enforcement.

- Halving blo= ck: A block at height N * 210,000 where N =E2=89=A5 1.

-=C2=A0 Snaps= hot block: A halving block at which the current dust threshold and qualifyi= ng UTXOs are recorded.

-=C2=A0 Enforcement block: The halving block = following a snapshot block (i.e., snapshot block + 210,000 blocks).

= Lynx UTXOs:
- Existed at the snapshot block
- Had a value less than 9= 99 sats
- Remained unspent through the enforcement period (~4 years)
=
Consensus Rules
After activation, the following rules apply:

= 1) Snapshot: At each halving block H, record the set of all UTXOs with valu= e < 999 sats.

2) Enforcement: At halving block H + 210,000:
- = Any UTXO that was in the snapshot set and remains unspent becomes permanent= ly unspendable
- Transactions attempting to spend these UTXOs are invali= d

3) Pruning: After enforcement, nodes MAY prune Lynx UTXOs from the= ir local UTXO set. Transactions referencing unknown outpoints are already r= ejected as invalid; pruned Lynx UTXOs are simply treated as if they were al= ready spent.

4) Grace period: The ~4 year window between snapshot an= d enforcement provides ample time for holders to consolidate sub-dust UTXOs= if they wish to preserve the value.

Activation

Activation me= thod: TBD (Speedy Trial, BIP8, or other mechanism as determined by communit= y consensus)

Recommended first snapshot: The halving following activ= ation lock-in

Rationale

Why a fixed threshold?

Using a= fixed threshold of 999 sats rather than referencing the dynamic relay dust= limit provides:

- Simplicity: One number, no script-type variations= , no need to query policy settings

- Predictability: Everyone knows = exactly what qualifies, forever

- Consensus clarity: No ambiguity ab= out which outputs are affected.

Why tie to the halving?

The h= alving is Bitcoin's most recognized Schelling point, using it provides:=

- Predictability: Everyone knows exactly when halvings occur
- S= ufficient notice: ~4 years is generous warning for any cleanup action
- = Aligned incentives: As block rewards decrease, fee revenue and UTXO efficie= ncy become more critical to network sustainability
- Natural cadence: Th= e halving already represents a moment of network-wide coordination

W= hy not a one-time cleanup?

A one-time cleanup (as proposed by The Ca= t) provides temporary relief but creates no ongoing pressure against dust a= ccumulation. Periodic enforcement:

- Establishes a permanent, predic= table norm
- Removes any expectation that dust UTXOs have indefinite lon= gevity
- Discourages business models built on dust creation
- Provide= s continuous UTXO set maintenance

Why pruning works without a list
A key insight enables pruning without maintaining a separate list: Bi= tcoin nodes already reject transactions that reference unknown outpoints. W= hen a node receives a transaction spending an outpoint not in its UTXO set,= it rejects it as invalid =E2=80=94 the node doesn't need to know why t= he outpoint is missing (spent? never existed? pruned?).

After enforc= ement, a Lynx UTXO is functionally equivalent to a spent output. Nodes can = simply delete it from the UTXO set. Any future transaction attempting to sp= end it will reference an outpoint the node doesn't recognize, and will = be rejected through existing validation logic.

This means:

- = No separate "Lynx list" is required
- No new validation logic = is needed
- Pruning is optional; nodes MAY keep Lynx UTXOs if they wish<= br>- The UTXO set shrinks naturally as nodes prune

Why 999 sats?
=
The threshold of 999 sats is chosen because:

- Above all dust li= mits: Captures UTXOs at or below the dust limit for all script types (P2PKH= : 546, P2TR: 330, etc.)
- Captures all standard inscriptions: Typical in= scription UTXOs contain exactly 546 sats as "postage"; well under= 999
- Simple and memorable: A clean number that's easy to communica= te and reason about

Backward Compatibility

This is a soft for= k. Nodes that do not upgrade will:

- Continue to consider all histor= ical transactions valid
- Accept blocks that exclude spends of Lynx UTXO= s
- Eventually converge with upgraded nodes (as upgraded miners will not= include invalid spends)

Wallets & Services should:

- War= n users holding sub-threshold UTXOs after a snapshot block
- Provide con= solidation tools during the grace period
- Update UTXO selection algorit= hms to deprioritize or exclude sub-threshold outputs approaching a snapshot=

Security Considerations

No confiscation

This proposal= does not transfer value to any party. Sub-threshold UTXOs become unspendab= le, similar to:

- Lost private keys
- Provably unspendable OP_RET= URN outputs
- Satoshi's untouched coinbase rewards

The bitcoi= n supply cap remains unchanged; the affected outputs simply become irrecove= rable. Holders receive ~4 years notice to consolidate if they value the sat= s.

Lightning Network

Some Lightning implementations create sm= all HTLCs and dust outputs during channel operations. Analysis is needed to= determine:

- Whether current dust thresholds affect normal LN opera= tions
- If LN implementations need adjustment before activation
- Whe= ther channel close scenarios create sub-threshold outputs

Preliminar= y assessment: LN dust limits are already set conservatively above relay dus= t limits, so impact should be minimal. However, this requires verification = from LN implementers.

Fixed threshold vs. future fee markets

= The 999 satoshi threshold is fixed in consensus rules and does not adjust b= ased on fee market conditions.=C2=A0
This is intentional:

- A fix= ed threshold provides certainty for users and developers
- If fee market= s change dramatically, a future soft fork could adjust the threshold
- T= he ~4 year grace period allows the community to observe and adapt

If= Bitcoin's fee market evolves such that 999 sats becomes economically s= ignificant to spend, this would indicate broader success of the network; an= d the community could choose to lower or eliminate the threshold through a = subsequent proposal.

Acknowledgments
This proposal builds on the = problem identification in "The Cat" (Non-monetary UTXO Cleanup) w= hile proposing a list-free alternative mechanism. The Cat correctly identif= ies UTXO bloat as a problem worth solving; Lynx offers a more neutral solut= ion.


https://x.com/matteopelleg/= status/2000602318346334449
On Thursday, 18 Decemb= er 2025 at 21:36:14 UTC-6 Greg Maxwell wrote:
I received no prior response from you, so I s= uspect the issue is on your end-- since if you sent one I would normally ha= ve been directly copied.=C2=A0

In any case, your m= essage makes no sense. If an output is provably unspendable then it is unsp= endable.=C2=A0 No amount of "clever steganography" can change tha= t.=C2=A0 =C2=A0If you're imagining that perhaps they are *presumed* to = be unspendable but actually *are* spendable, then sure that would be an iss= ue but with any change to consensus relevant code great care must be taken = to not introduce errors.=C2=A0 Actually *making* a consensus change would o= nly increase the potential for mistakes.

These cos= ts are just another reason why this hysteria over a non-issue is misplaced.=

But in any case it is better that (any) implement= ations that care about stamps put in the effort to define their exclusions = in ways that are safe than to burden everyone with a consensus change that = doesn't care about it.


On Fri, Dec 19, 2025 at 1:49=E2=80=AFAM Jonathan Voss <k98...@gmail.com> wrote:
This is my third attempt to respond to this. Idk wha= t is going wrong here.

The problem with dropping Bitcoin= Stamps UTXOs from the UTXO set without a consensus change is that a clever= use of steganography could cause one of those otherwise unspendable output= s to be spendable, thus causing a fork between those nodes that adopted the= Stamp pruning method and those that did not once one of those steganograph= ic Stamps is spent. Though this is unlikely, it is still technically possib= le, and I would not put it past the denizens of the Internet to stir up tro= uble just for its own sake.

On Friday, = December 12, 2025 at 6:49:41=E2=80=AFPM UTC-5 Greg Maxwell wrote:
=
On Fri, Dec 1= 2, 2025 at 9:26=E2=80=AFPM Jonathan Voss <k98...@gma= il.com> wrote:
Since the Bitcoin Stamps outputs are already unspendable, it makes = perfect sense to mark and drop them from the UTXO set.
There is no consensus change = involved in not storing a provably unspendable output, it's just an imp= lementation detail with no interoperability implications and doesn't ne= ed a BIP.=C2=A0 Bitcoin core has long done so for several types of unspenda= ble outputs, e.g. outputs over 10kb and ones starting with OP_RETURN.
=

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoind= ev/f66300d3-1606-41ec-9530-30a3731ea045n%40googlegroups.com.
------=_Part_130113_1015591508.1769176518868-- ------=_Part_130112_1623054430.1769176518868--