From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 29 Oct 2025 22:13:59 -0700 Received: from mail-oo1-f58.google.com ([209.85.161.58]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1vEKyz-0004lw-4l for bitcoindev@gnusha.org; Wed, 29 Oct 2025 22:13:59 -0700 Received: by mail-oo1-f58.google.com with SMTP id 006d021491bc7-6568222650fsf200049eaf.1 for ; Wed, 29 Oct 2025 22:13:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1761801231; x=1762406031; 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=mZ6zE8/i8Ge4zA2zyMVmDsGzYqY7/1chcvgzGoP2ihU=; b=DrzMpyNakB0OzHPl3j1qrPC/e1MTsHRV8ab3k/Dzyn92LDn7KnHG8F3BbrvsPTfvf0 Dc3LNsX+QiDY8nnv96jJ7Ul2BjAdPt0eY34YudTye9ZxYpfdxS2eJ/vq8YqrxpeKp0cR I+ClldhDud1YAhMQQ39InmW/k0yuoIiQWiKqn6WkvZWZwIzmwFmOzAXL1QJreNrMYEvA Ps9SkkI2NVTm/P7kwfjwSlz8j2ZA782RWDS0LAPEauV0FWk4DWh3PHkI29FBVenohpvi PVL5cigaKCw7t9ctneLRjYwYdAAyKvxOcc8qo4mvM20ep0paF04MBJJs4v9H3VNtJvlh fgdg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761801231; x=1762406031; 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=mZ6zE8/i8Ge4zA2zyMVmDsGzYqY7/1chcvgzGoP2ihU=; b=CMxBOucr0Smr/mOQRyt6f+Jn005K9MvWFqLBi/1hrSlEezLwr+z8AFZ/i1AjO9oYUj ql4avjRY7m8i63UmjNM7Dldelp/AkSXQ5+T6wuCWJpb9NrRKFuRqQl2Ty3NQdeZXR23m SkN2VTaKJ6dtEyggP9F6T7sahU6M6Xx2QLdV7e0eSGfkvTSmPq/SB80GWZ+mwcXxEDfl EnZGMwB5j2uLigk821iGaK6Xm8q6mHPu7zxFTL4u0ZTL/wrHA78VZq8aNsn7+WucIxZh qPcZP9Tk+ID2k4NMXAWPo4D8fT+hMl5KfFS/XdIA1HOhLRnun39M9GPyuuB2mOZunxJ5 7CxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761801231; x=1762406031; 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=mZ6zE8/i8Ge4zA2zyMVmDsGzYqY7/1chcvgzGoP2ihU=; b=SbCXOmZwD5PeMKX6MNA8fu0iMjKezeF6sFQPD03Q6E2oKH8uWZsGJzWlVzM4MMU7Hh tcJ4HWbh4Hu4lq5CswmWlASuAl29PRPzLAKNZtYrWQZL+PY0cNX1hpD7lTPuntxqEhsR nyU+qhQXNlUpwwHcTZuEiFZk+jCQ5/VOIciCEymAjCw3GiooJhPeeHEwOenYcANuOCuc uuLCH0usQ6hwKhVg3t9OHDFHTsihufymAndCYOAuMBxL1BYVt2hLna8yEZfe5NCpxEYK JLns+gvU/BV9cKbs3y3ovMFYXipdhXdO3TAwuhZIG1P+uGzf4fpaB2tMcQsDS/Cdga94 yuEg== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCX8Oo6DlNWRK5hAHVTus/SvaGGH++6hk9WYcWjbtLrYUlqT3Uc6/OXxC6k8MvS1ncQ4rg8gdPTf9LIe@gnusha.org X-Gm-Message-State: AOJu0Yyrwj2mDg5Z1lwF+C8wh0SkuZCwflyJr0NQP0jEQ+IgpMSlFjfA KKaFMcwRFj3w7lsoIKuCtlqCw6d8arBe8WH3bLFdc7aO5Ijj+qvDsd2Y X-Google-Smtp-Source: AGHT+IFGVpdpYuQcBx5NGeFbTaimHv6oEzCyNid/SxN6zipijGHh3Ij/dpcBtPqPQWTGkwQiCC1OTw== X-Received: by 2002:a05:6808:4488:b0:43f:3d56:4dad with SMTP id 5614622812f47-44f7a8603dbmr2681228b6e.38.1761801230549; Wed, 29 Oct 2025 22:13:50 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h="Ae8XA+bpwt/7GsK5/cJksrRinftPZaKg82aZ6TC0gin941/d6g==" Received: by 2002:a4a:b286:0:b0:656:731f:ba05 with SMTP id 006d021491bc7-656824877fdls141505eaf.1.-pod-prod-09-us; Wed, 29 Oct 2025 22:13:46 -0700 (PDT) X-Received: by 2002:a05:6808:4f4b:b0:441:8f74:fc4 with SMTP id 5614622812f47-44f89eec3acmr900340b6e.65.1761801226530; Wed, 29 Oct 2025 22:13:46 -0700 (PDT) Received: by 2002:a05:690c:a08a:10b0:785:e55d:2dfd with SMTP id 00721157ae682-7862949d80fms7b3; Wed, 29 Oct 2025 20:36:08 -0700 (PDT) X-Received: by 2002:a05:690c:b90:b0:720:bb3:ec14 with SMTP id 00721157ae682-78639047935mr21443787b3.25.1761795368264; Wed, 29 Oct 2025 20:36:08 -0700 (PDT) Date: Wed, 29 Oct 2025 20:36:07 -0700 (PDT) From: Michael Tidwell To: Bitcoin Development Mailing List Message-Id: In-Reply-To: References: <6f6b570f-7f9d-40c0-a771-378eb2c0c701n@googlegroups.com> <961e3c3a-a627-4a07-ae81-eb01f7a375a1n@googlegroups.com> <5135a031-a94e-49b9-ab31-a1eb48875ff2n@googlegroups.com> <78475572-3e52-44e4-8116-8f1a917995a4n@googlegroups.com> Subject: Re: [bitcoindev] Re: [BIP Proposal] Limit ScriptPubkey Size >= 520 Bytes Consensus. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_4340_1993419797.1761795367895" X-Original-Sender: mtidwell021@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_4340_1993419797.1761795367895 Content-Type: multipart/alternative; boundary="----=_Part_4341_643388915.1761795367895" ------=_Part_4341_643388915.1761795367895 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Greg, > Also some risk of creating a new scarce asset class. Well, Casey Rodarmor is in the thread, so lol maybe. Anyway, point taken. I want to be 100% sure I understand the hypotheticals:= =20 there could be an off-chain, presigned, transactions that needs more than= =20 520 bytes for the scriptPubKey and, as Poelstra said, could even form a=20 chain of presigned transactions under some complex, previously unknown,=20 scheme that only becomes public after this change is made. Can you confirm? Would it also be a worry that a chain of transactions using said utxo could= =20 commit to some bizarre scheme, for instance a taproot transaction utxo that= =20 later is presigned committed back to P2MS larger than 520 bytes? If so, I= =20 think I get it, you're saying to essentially guarantee no confiscation we'd= =20 never be able to upgrade old UTXOs and we'd need to track them forever to= =20 prevent unlikely edge cases?=20 Does the presigned chain at least stop needing to be tracked once the given= =20 UTXO co-mingles with a post-update coinbase utxo? If so, this is indeed complex! This seems pretty insane both for the=20 complexity of implementing and the unlikely edge cases. Has Core ever made= =20 a decision of (acceptable risk) to upgrade with protection of onchain utxos= =20 but not hypothetical unpublished ones?=20 Aren't we going to run into the same situation if we do an op code clean up= =20 in the future if we had people presign/commit to op codes that are no=20 longer consensus valid? Tidwell On Wednesday, October 29, 2025 at 10:32:10=E2=80=AFPM UTC-4 Greg Maxwell wr= ote: > "A few bytes" might be on the order of forever 10% increase in the UTXO= =20 > set size, plus a full from-network resync of all pruned nodes and a full= =20 > (e.g. most of day outage) reindex of all unpruned nodes. Not=20 > insignificant but also not nothing. Such a portion of the existing utxo= =20 > size is not from outputs over 520 bytes in size, so as a scheme for utxo= =20 > set size reduction the addition of MHT tracking would probably make it a= =20 > failure. > > Also some risk of creating some new scarce asset class, txouts consisting= =20 > of primordial coins that aren't subject to the new rules... sounds like t= he=20 > sort of thing that NFT degens would absolutely love. That might not be a= n=20 > issue *generally* for some change with confiscation risk, but for a chang= e=20 > that is specifically intended to lobotomize bitcoin to make it less usefu= l=20 > to NFT degens, maybe not such a great idea. :P > > I mentioned it at all because I thought it could potentially be of some= =20 > use, I'm just more skeptical of it for the current context. Also luke-jr= =20 > and crew has moved on to actually propose even more invasive changes than= =20 > just limiting the script size, which I anticipated, and has much more=20 > significant issues. Just size limiting outputs likely doesn't harm any= =20 > interests or usages-- and so probably could be viable if the confiscation= =20 > issue was addressed, but it also doesn't stick it to people transacting i= n=20 > ways the priests of ocean mining dislike.=20 > > > I believe you're pointing out the idea of non economically-rational=20 > spammers? > > I think it's a mistake to conclude the spammers are economically=20 > irrational-- they're often just responding to different economics which m= ay=20 > be less legible to your analysis. In particular, NFT degens prefer the= =20 > high cost of transactions as a thing that makes their tokens scarce and= =20 > gives them value. -- otherwise they wouldn't be swapping for one less=20 > efficient encoding for another, they're just be using another blockchain= =20 > (perhaps their own) entirely. > > > > > On Thu, Oct 30, 2025 at 1:16=E2=80=AFAM Michael Tidwell =20 > wrote: > >> > MRH tracking might make that acceptable, but comes at a high cost whic= h=20 >> I think would clearly not be justified. >> >> Greg, I want to ask/challenge how bad this is, this seems like a=20 >> generally reusable primitive that could make other upgrades more feasibl= e=20 >> that also have the same strict confiscation risk profile. >> IIUC, the major pain is, 1 big reindex cost + a few bytes per utxo? >> >> Poelstra, >> >> > I don't think this is a great idea -- it would be technically hard to >> implement and slow deployment indefinitely. >> >> I would like to know how much of a deal breaker this is in your opinion.= =20 >> Is MRH tracking off the table? In terms of the hypothetical presigned=20 >> transactions that may exist using P2MS, is this a hard enough reason to= =20 >> require a MRH idea? >> >> Greg, >> >> > So, paradoxically this limit might increase the amount of non-prunable= =20 >> data >> >> I believe you're pointing out the idea of non economically-rational=20 >> spammers? We already see actors ignoring cheaper witness inscription=20 >> methods. If spam shifts to many sub-520 fake pubkey outputs (which I=20 >> believe is less harmful than stamps), that imo is a separate UTXO cost= =20 >> discussion. (like a SF to add weight to outputs). Anywho, this point alo= ne=20 >> doesn't seem sufficient to add as a clear negative reason for someone=20 >> opposed to the proposal. >> >> Thanks, >> Tidwell >> On Wednesday, October 22, 2025 at 5:55:58=E2=80=AFAM UTC-4 moonsettler w= rote: >> >>> > Confiscation is a problem because of presigned transactions=20 >>> >>> Allow 10000 bytes of total scriptPubKey size in each block counting onl= y=20 >>> those outputs that are larger than x (520 as proposed).=20 >>> The code change is pretty minimal from the most obvious implementation= =20 >>> of the original rule.=20 >>> >>> That makes it technically non-confiscatory. Still non-standard, but if= =20 >>> anyone out there so obnoxiously foot-gunned themselves, they can't clai= m=20 >>> they were rugged by the devs.=20 >>> >>> BR,=20 >>> moonsettler=20 >>> >>> On Saturday, October 18th, 2025 at 3:15 PM, PortlandHODL < >>> ad...@qrsnap.io> wrote:=20 >>> >>> > Hey,=20 >>> >=20 >>> > First, thank you to everyone who responded, and please continue to do= =20 >>> so. There were many thought provoking responses and this did shift my= =20 >>> perspective quite a bit from the original post, which in of itself was = the=20 >>> goal to a degree.=20 >>> >=20 >>> > I am currently only going to respond to all of the current concerns.= =20 >>> Acks; though I like them will be ignored unless new discoveries are=20 >>> included.=20 >>> >=20 >>> > Tl;dr (Portlands Perspective)=20 >>> > - Confiscation is a problem because of presigned transactions=20 >>> > - DoS mitigation could also occur through marking UTXOs as unspendabl= e=20 >>> if > 520 bytes, this would preserve the proof of publication.=20 >>> > - Timeout / Sunset logic is compelling=20 >>> > - The (n) value of acceptable needed bytes is contentious with the=20 >>> lower suggested limit being 67=20 >>> > - Congestion control is worth a look?=20 >>> >=20 >>> > Next Step:=20 >>> > - Deeper discussion at the individual level: Antoine Poinsot and GCC= =20 >>> overlap?=20 >>> > - Write an implementation.=20 >>> > - Decide to pursue BIP=20 >>> >=20 >>> > Responses=20 >>> >=20 >>> > Andrew Poelstra:=20 >>> > > There is a risk of confiscation of coins which have pre-signed but= =20 >>> > > unpublished transactions spending them to new outputs with large=20 >>> > > scriptPubKeys. Due to long-standing standardness rules, and the=20 >>> presence=20 >>> > > of P2SH (and now P2WSH) for well over a decade, I'm skeptical that= =20 >>> any=20 >>> > > such transactions exist.=20 >>> >=20 >>> > PortlandHODL: This is a risk that can be incurred and likely not=20 >>> possible to mitigate as there could be possible chains of transactions = so=20 >>> even when recursively iterating over a chain there is a chance that a= =20 >>> presigned breaks this rule. Every idea I have had from block redemption= =20 >>> limits on prevouts seems to just be a coverage issue where you can make= the=20 >>> confiscation less likely but not completely mitigated.=20 >>> >=20 >>> > Second, there are already TXs that effectively have been confiscated= =20 >>> at the policy level (P2SH Cleanstack violation) where the user can not = find=20 >>> any miner with a policy to accept these into their mempool. (3 years)= =20 >>> >=20 >>> > /dev /fd0=20 >>> > > so it would be great if this was restricted to OP_RETURN=20 >>> >=20 >>> > PortlandHODL: I reject this completely as this would remove the=20 >>> UTXOset omission for the scriptPubkey and encourage miners to subvert t= he=20 >>> OP_RETURN restriction and instead just use another op_code, this also d= o=20 >>> not hit on some of the most important factors such as DoS mitigation an= d=20 >>> legacy script attack surface reduction.=20 >>> >=20 >>> > Peter Todd=20 >>> > > NACK ...=20 >>> >=20 >>> > PortlandHODL: You NACK'd for the same reasons that I stated in my OP,= =20 >>> without including any additional context or reasoning.=20 >>> >=20 >>> > jeremy=20 >>> > > I think that this type of rule is OK if we do it as a "sunsetting"= =20 >>> restriction -- e.g. a soft fork active for the next N blocks (N =3D e.g= . 2=20 >>> years, 5 years, 10 years).=20 >>> >=20 >>> > If action is taken, this is the most reasonable approach. Alleviating= =20 >>> confiscatory concerns through deferral.=20 >>> >=20 >>> > > You can argue against this example probably, but it is worth=20 >>> considering that absence of evidence of use is not evidence of absence = of=20 >>> use and I myself feel that overall our understanding of Bitcoin transac= tion=20 >>> programming possibilities is still early. If you don't like this exampl= e, I=20 >>> can give you others (probably).=20 >>> >=20 >>> > Agreed and this also falls into the reasoning for deciding to utilize= =20 >>> point 1 in your response. My thoughts on this would be along the lines = of=20 >>> proof of publication as this change only has the effect of stripping aw= ay=20 >>> the executable portion of a script between 521 and 10_000 bytes or the= =20 >>> published data portion if > 10_000 bytes which the same data could like= ly=20 >>> be published in chunked segments using outpoints.=20 >>> >=20 >>> > Andrew Poelstra:=20 >>> > > Aside from proof-of-publication (i.e. data storage directly in the= =20 >>> UTXO=20 >>> > > set) there is no usage of script which can't be equally (or better)= =20 >>> > > accomplished by using a Segwit v0 or Taproot script.=20 >>> >=20 >>> > This sums up the majority of future usecase concern=20 >>> >=20 >>> > Anthony Towns:=20 >>> > > (If you restricted the change to only applying to scripts that used= =20 >>> > non-push operators, that would probably still provide upgrade=20 >>> flexibility=20 >>> > while also preventing potential script abuses. But it wouldn't do=20 >>> anything=20 >>> > to prevent publishing data)=20 >>> >=20 >>> > Could this not be done as segments in multiple outpoints using a=20 >>> coordination outpoint? I fail to see why publication proof must be in a= =20 >>> single chunk. This does though however bring another alternative to min= d,=20 >>> just making these outpoints unspendable but not invalidate the block=20 >>> through inclusion...=20 >>> >=20 >>> > > As far as the "but contiguous data will be regulated more strictly"= =20 >>> > argument goes; I don't think "your honour, my offensive content has= =20 >>> > strings of 4d0802 every 520 bytes=20 >>> >=20 >>> > Correct, this was never meant to resolve this issue.=20 >>> >=20 >>> > Luke Dashjr:=20 >>> > > If we're going this route, we should just close all the gaps for th= e=20 >>> immediate future:=20 >>> >=20 >>> > To put it nicely, this is completely beyond the scope of what is bein= g=20 >>> proposed.=20 >>> >=20 >>> > Guus Ellenkamp:=20 >>> > > If there are really so few OP_RETURN outputs more than 144 bytes,= =20 >>> then=20 >>> > why increase the limit if that change is so controversial? It seems= =20 >>> > people who want to use a larger OP_RETURN size do it anyway, even wit= h=20 >>> > the current default limits.=20 >>> >=20 >>> > Completely off topic and irrelevant=20 >>> >=20 >>> > Greg Tonoski:=20 >>> > > Limiting the maximum size of the scriptPubKey of a transaction to 6= 7=20 >>> bytes.=20 >>> >=20 >>> > This leave no room to deal with broken hashing algorithms and very=20 >>> little future upgradability for hooks. The rest of these points should = be=20 >>> merged with Lukes response and either hijack my thread or start a new o= ne=20 >>> with the increased scope, any approach I take will only be related to t= he=20 >>> ScriptPubkey=20 >>> >=20 >>> > Keagan McClelland:=20 >>> > > Hard NACK on capping the witness size as that would effectively ban= =20 >>> large scripts even in the P2SH wrapper which undermines Bitcoin's abili= ty=20 >>> to be an effectively programmable money.=20 >>> >=20 >>> > This has nothing to do with the witness size or even the P2SH wrapper= =20 >>> >=20 >>> > Casey Rodarmor:=20 >>> > > I think that "Bitcoin could need it in the future?" might be a good= =20 >>> enough=20 >>> > reason not to do this.=20 >>> >=20 >>> > > Script pubkeys are the only variable-length transaction fields whic= h=20 >>> can be=20 >>> > covered by input signatures, which might make them useful for future= =20 >>> soft=20 >>> > forks. I can imagine confidential asset schemes or post-quantum coin= =20 >>> recovery=20 >>> > schemes requiring large proofs in the outputs, where the validity of= =20 >>> the proof=20 >>> > determined whether or not the transaction is valid, and thus require= =20 >>> the=20 >>> > proofs to be in the outputs, and not just a hash commitment.=20 >>> >=20 >>> > Would the ability to publish the data alone be enough? Example make= =20 >>> the output unspendable but allow for the existence of the bytes to be= =20 >>> covered through the signature?=20 >>> >=20 >>> >=20 >>> > Antoine Poinsot:=20 >>> > > Limiting the size of created scriptPubKeys is not a sufficient=20 >>> mitigation on its own=20 >>> > I fail to see how this would not be sufficient? To DoS you need 2=20 >>> things inputs with ScriptPubkey redemptions + heavy op_codes that requi= re=20 >>> unique checks. Example DUPing stack element again and again doesn't wor= k.=20 >>> This then leads to the next part is you could get up to unique complex= =20 >>> operations with the current (n) limit included per input.=20 >>> >=20 >>> > > One of the goal of BIP54 is to address objections to Matt's earlier= =20 >>> proposal, notably the (in my=20 >>> > opinion reasonable) confiscation concerns voiced by Russell O'Connor.= =20 >>> Limiting the size of=20 >>> > scriptPubKeys would in this regard be moving in the opposite=20 >>> direction.=20 >>> >=20 >>> > Some notes is I would actually go as far as to say the confiscation= =20 >>> risk is higher with the TX limit proposed in BIP54 as we actually have= =20 >>> proof of redemption of TXs that break that rule and the input set to do= =20 >>> this already exists on-chain no need to even wonder about the whole=20 >>> presigned. bb41a757f405890fb0f5856228e23b715702d714d59bf2b1feb70d8b2b4e= 3e08=20 >>> >=20 >>> > Please let me know if I am incorrect on any of this.=20 >>> >=20 >>> > > Furthermore, it's always possible to get the biggest bang for our= =20 >>> buck in a first step=20 >>> >=20 >>> > Agreed on bang for the buck regarding DoS.=20 >>> >=20 >>> > My final point here would be that I would like to discuss more, and= =20 >>> this is response is from the initial view of your response and could be= =20 >>> incomplete or incorrect, This is just my in the moment response.=20 >>> >=20 >>> > Antoine Riard:=20 >>> > > Anyway, in the sleeping pond of consensus fixes fishes, I'm more in= =20 >>> favor of prioritizing=20 >>> > a timewarp fix and limiting dosy spends by old redeem scripts=20 >>> >=20 >>> > The idea of congestion control is interesting, but this solution=20 >>> should significantly reduce the total DoS severity of known vectors.=20 >>> >=20 >>> > On Saturday, October 18, 2025 at 2:25:18=E2=80=AFAM UTC-7 Greg Maxwel= l wrote:=20 >>> >=20 >>> > > Limits on block construction that cross transactions make it harder= =20 >>> to accurately estimate fees and greatly complicate optimal block=20 >>> construction-- the latter being important because smarter and more comp= uter=20 >>> powered mining code generating higher profits is a pro centralization= =20 >>> factor.=20 >>> > >=20 >>> > > In terms of effectiveness the "spam" will just make itself=20 >>> indistinguishable from the most common transaction traffic from the=20 >>> perspective of such metrics-- and might well drive up "spam" levels bec= ause=20 >>> the higher embedding cost may make some of them use more transactions. = The=20 >>> competition for these buckets by other traffic could make it effectivel= y a=20 >>> block size reduction even against very boring ordinary transactions. ..= .=20 >>> which is probably not what most people want.=20 >>> > >=20 >>> > > I think it's important to keep in mind that bitcoin fee levels even= =20 >>> at 0.1s/vb are far beyond what other hosting services and other blockch= ains=20 >>> cost-- so anyone still embedding data in bitcoin *really* want to be th= ere=20 >>> for some reason and aren't too fee sensitive or else they'd already be= =20 >>> using something else... some are even in favor of higher costs since th= e=20 >>> high fees are what create the scarcity needed for their seigniorage.=20 >>> > >=20 >>> > > But yeah I think your comments on priorities are correct.=20 >>> > >=20 >>> > >=20 >>> > >=20 >>> > > On Sat, Oct 18, 2025 at 1:20=E2=80=AFAM Antoine Riard =20 >>> wrote:=20 >>> > >=20 >>> > > > Hi list,=20 >>> > > >=20 >>> > > > Thanks to the annex covered by the signature, I don't see how the= =20 >>> concern about limiting=20 >>> > > > the extensibility of bitcoin script with future (post-quantum)=20 >>> cryptographic schemes.=20 >>> > > > Previous proposal of the annex were deliberately designed with=20 >>> variable-length fields=20 >>> > > > to flexibly accomodate a wide range of things.=20 >>> > > >=20 >>> > > > I believe there is one thing that has not been proposed to limit= =20 >>> unpredictable utterance=20 >>> > > > of spams on the blockchain, namely congestion control of=20 >>> categories of outputs (e.g "fat"=20 >>> > > > scriptpubkeys). Let's say P a block period, T a type of=20 >>> scriptpubkey and L a limiting=20 >>> > > > threshold for the number of T occurences during the period P.=20 >>> Beyond the L threshold, any=20 >>> > > > additional T scriptpubkey is making the block invalid. Or=20 >>> alternatively, any additional=20 >>> > > > T generating / spending transaction must pay some weight=20 >>> penalty...=20 >>> > > >=20 >>> > > > Congestion control, which of course comes with its lot of=20 >>> shenanigans, is not very a novel=20 >>> > > > idea as I believe it has been floated few times in the context of= =20 >>> lightning to solve mass=20 >>> > > > closure, where channels out-priced at current feerate would have= =20 >>> their safety timelocks scale=20 >>> > > > ups.=20 >>> > > >=20 >>> > > > No need anymore to come to social consensus on what is=20 >>> quantitative "spam" or not. The blockchain=20 >>> > > > would automatically throttle out the block space spamming=20 >>> transaction. Qualitative spam it's another=20 >>> > > > question, for anyone who has ever read shannon's theory of=20 >>> communication only effective thing can=20 >>> > > > be to limit the size of data payload. But probably we're kickly= =20 >>> back to a non-mathematically solvable=20 >>> > > > linguistical question again [0].=20 >>> > > >=20 >>> > > > Anyway, in the sleeping pond of consensus fixes fishes, I'm more= =20 >>> in favor of prioritizing=20 >>> > > > a timewarp fix and limiting dosy spends by old redeem scripts,=20 >>> rather than engaging in shooting=20 >>> > > > ourselves in the foot with ill-designed "spam" consensus=20 >>> mitigations.=20 >>> > > >=20 >>> > > > [0] If you have a soul of logician, it would be an interesting=20 >>> demonstration to come with=20 >>> > > > to establish that we cannot come up with mathematically or=20 >>> cryptographically consensus means=20 >>> > > > to solve qualitative "spam", which in a very pure sense is a=20 >>> linguistical issue.=20 >>> > > >=20 >>> > > > Best,=20 >>> > > > Antoine=20 >>> > > > OTS hash:=20 >>> 6cb50fe36ca0ec5cb9a88517dd4ce9bb50dd6ad1d2d6a640dd4a31d72f0e4999=20 >>> > > > Le vendredi 17 octobre 2025 =C3=A0 19:45:44 UTC+1, Antoine Poinso= t a=20 >>> =C3=A9crit :=20 >>> > > >=20 >>> > > > > Hi,=20 >>> > > > >=20 >>> > > > > This approach was discussed last year when evaluating the best= =20 >>> way to mitigate DoS blocks in terms=20 >>> > > > > of gains compared to confiscatory surface. Limiting the size of= =20 >>> created scriptPubKeys is not a=20 >>> > > > > sufficient mitigation on its own, and has a non-trivial=20 >>> confiscatory surface.=20 >>> > > > >=20 >>> > > > > One of the goal of BIP54 is to address objections to Matt's=20 >>> earlier proposal, notably the (in my=20 >>> > > > > opinion reasonable) confiscation concerns voiced by Russell=20 >>> O'Connor. Limiting the size of=20 >>> > > > > scriptPubKeys would in this regard be moving in the opposite=20 >>> direction.=20 >>> > > > >=20 >>> > > > > Various approaches of limiting the size of spent scriptPubKeys= =20 >>> were discussed, in forms that would=20 >>> > > > > mitigate the confiscatory surface, to adopt in addition to (wha= t=20 >>> eventually became) the BIP54 sigops=20 >>> > > > > limit. However i decided against including this additional=20 >>> measure in BIP54 because:=20 >>> > > > > - of the inherent complexity of the discussed schemes, which=20 >>> would make it hard to reason about=20 >>> > > > > constructing transactions spending legacy inputs, and equally= =20 >>> hard to evaluate the reduction of=20 >>> > > > > the confiscatory surface;=20 >>> > > > > - more importantly, there is steep diminishing returns to pilin= g=20 >>> on more mitigations. The BIP54=20 >>> > > > > limit on its own prevents an externally-motivated attacker from= =20 >>> *unevenly* stalling the network=20 >>> > > > > for dozens of minutes, and a revenue-maximizing miner from=20 >>> regularly stalling its competitions=20 >>> > > > > for dozens of seconds, at a minimized cost in confiscatory=20 >>> surface. Additional mitigations reduce=20 >>> > > > > the worst case validation time by a smaller factor at a higher= =20 >>> cost in terms of confiscatory=20 >>> > > > > surface. It "feels right" to further reduce those numbers, but= =20 >>> it's less clear what the tangible=20 >>> > > > > gains would be.=20 >>> > > > >=20 >>> > > > > Furthermore, it's always possible to get the biggest bang for= =20 >>> our buck in a first step and going the=20 >>> > > > > extra mile in a later, more controversial, soft fork. I=20 >>> previously floated the idea of a "cleanup=20 >>> > > > > v2" in private discussions, and i think besides a reduction of= =20 >>> the maximum scriptPubKey size it=20 >>> > > > > should feature a consensus-enforced maximum transaction size fo= r=20 >>> the reasons stated here:=20 >>> > > > >=20 >>> https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/= 1732/8.=20 >>> I wouldn't hold my=20 >>> > > > > breath on such a "cleanup v2", but it may be useful to have it= =20 >>> documented somewhere.=20 >>> > > > >=20 >>> > > > > I'm trying to not go into much details regarding which=20 >>> mitigations were considered in designing=20 >>> > > > > BIP54, because they are tightly related to the design of variou= s=20 >>> DoS blocks. But i'm always happy to=20 >>> > > > > rehash the decisions made there and (re-)consider alternative= =20 >>> approaches on the semi-private Delving=20 >>> > > > > thread [0] dedicated to this purpose. Feel free to ping me to= =20 >>> get access if i know you.=20 >>> > > > >=20 >>> > > > > Best,=20 >>> > > > > Antoine Poinsot=20 >>> > > > >=20 >>> > > > > [0]:=20 >>> https://delvingbitcoin.org/t/worst-block-validation-time-inquiry/711=20 >>> > > > >=20 >>> > > > >=20 >>> > > > >=20 >>> > > > >=20 >>> > > > > On Friday, October 17th, 2025 at 1:12 PM, Brandon Black < >>> fre...@reardencode.com> wrote:=20 >>> > > > >=20 >>> > > > > >=20 >>> > > > > >=20 >>> > > > > > On 2025-10-16 (Thu) at 00:06:41 +0000, Greg Maxwell wrote:=20 >>> > > > > >=20 >>> > > > > > > But also given that there are essentially no violations and= =20 >>> no reason to=20 >>> > > > > > > expect any I'm not sure the proposal is worth time relative= =20 >>> to fixes of=20 >>> > > > > > > actual moderately serious DOS attack issues.=20 >>> > > > > >=20 >>> > > > > >=20 >>> > > > > > I believe this limit would also stop most (all?) of=20 >>> PortlandHODL's=20 >>> > > > > > DoSblocks without having to make some of the other changes in= =20 >>> GCC. I=20 >>> > > > > > think it's worthwhile to compare this approach to those=20 >>> proposed by=20 >>> > > > > > Antoine in solving these DoS vectors.=20 >>> > > > > >=20 >>> > > > > > Best,=20 >>> > > > > >=20 >>> > > > > > --Brandon=20 >>> > > > > >=20 >>> > > > > > --=20 >>> > > > > > You received this message because you are subscribed to the= =20 >>> Google Groups "Bitcoin Development Mailing List" group.=20 >>> > > > > > To unsubscribe from this group and stop receiving emails from= =20 >>> it, send an email to bitcoindev+...@googlegroups.com.=20 >>> > > > > > To view this discussion visit=20 >>> https://groups.google.com/d/msgid/bitcoindev/aPJ3w6bEoaye3WJ6%40console= .=20 >>> >>> > > >=20 >>> > > > --=20 >>> > > > You received this message because you are subscribed to the Googl= e=20 >>> Groups "Bitcoin Development Mailing List" group.=20 >>> > > > To unsubscribe from this group and stop receiving emails from it,= =20 >>> send an email to bitcoindev+...@googlegroups.com.=20 >>> > >=20 >>> > > > To view this discussion visit=20 >>> https://groups.google.com/d/msgid/bitcoindev/5135a031-a94e-49b9-ab31-a1= eb48875ff2n%40googlegroups.com.=20 >>> >>> >=20 >>> > --=20 >>> > You received this message because you are subscribed to the Google=20 >>> Groups "Bitcoin Development Mailing List" group.=20 >>> > To unsubscribe from this group and stop receiving emails from it, sen= d=20 >>> an email to bitcoindev+...@googlegroups.com.=20 >>> > To view this discussion visit=20 >>> https://groups.google.com/d/msgid/bitcoindev/78475572-3e52-44e4-8116-8f= 1a917995a4n%40googlegroups.com.=20 >>> >>> >> --=20 >> You received this message because you are subscribed to the Google Group= s=20 >> "Bitcoin Development Mailing List" group. >> To unsubscribe from this group and stop receiving emails from it, send a= n=20 >> email to bitcoindev+...@googlegroups.com. >> > To view this discussion visit=20 >> https://groups.google.com/d/msgid/bitcoindev/f4755fb6-b031-4c60-b304-f12= 3ba2ff473n%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/= c208e054-b85a-4a5c-9193-c28ef0d225c5n%40googlegroups.com. ------=_Part_4341_643388915.1761795367895 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Greg,

> Also some risk of creating a new scarce asset clas= s.

Well, Casey Rodarmor is in the thread, so lol maybe.

Anyway, point taken. I want to be 100% sure I understand the hypothetica= ls: there could be an off-chain, presigned, transactions that needs more th= an 520 bytes for the scriptPubKey and, as Poelstra said, could even form a = chain of presigned transactions under some complex, previously unknown, sch= eme that only becomes public after this change is made. Can you confirm?

Would it also be a=C2=A0worry that a chain of transactions using said ut= xo could commit to some bizarre scheme, for instance a taproot transaction = utxo that later is presigned committed back to P2MS larger than 520 bytes? = If so, I think I get it, you're saying to essentially guarantee no confisca= tion we'd never be able to upgrade old UTXOs and we'd need to track them fo= rever to prevent unlikely edge cases?
Does the presigned chain at lea= st stop needing to be tracked once the given UTXO co-mingles with a post-up= date coinbase utxo?

If so, this is indeed complex! This seems pretty insane both for the com= plexity of implementing and the unlikely edge cases. Has Core ever made a d= ecision of (acceptable risk) to upgrade with protection of onchain utxos bu= t not hypothetical unpublished ones?
Aren't we going to run into the = same situation if we do an op code clean up in the future if we had people = presign/commit to op codes that are no longer consensus valid?

Tidwell


On Wednesday, October 29, 2025 at 10:32:10=E2=80=AFPM UTC-4 Greg= Maxwell wrote:
"A few bytes" might be on the order of f= orever 10% increase in the UTXO set size, plus a full from-network resync o= f all pruned nodes and a full (e.g. most of day outage) reindex of all unpr= uned nodes.=C2=A0 Not insignificant=C2=A0but also not nothing.=C2=A0 Such a= portion of the=C2=A0existing utxo size is not from outputs over 520 bytes = in size, so as a scheme for utxo set size reduction the addition of MHT tra= cking would probably make it a failure.

Also some = risk of creating some new scarce asset class, txouts consisting of primordi= al=C2=A0coins that aren't subject to the new rules... sounds like the s= ort of thing that NFT degens would absolutely love.=C2=A0 That might not be= an issue *generally* for some change with confiscation=C2=A0risk, but for = a change that is specifically intended to lobotomize bitcoin to make it les= s useful to NFT degens, maybe not such a great idea. :P

I mentioned it at all because I thought it could potentially be of so= me use, I'm just more skeptical of it for the current context.=C2=A0 Al= so luke-jr and crew has moved on to actually propose even more invasive cha= nges than just limiting the script size, which I anticipated, and has much = more significant=C2=A0issues.=C2=A0 Just size limiting outputs likely doesn= 't harm any interests or usages-- and so probably could be viable if th= e confiscation issue was addressed, but it also doesn't stick it to peo= ple transacting in ways the priests of ocean mining dislike.=C2=A0

>=C2=A0I believe you're poin= ting out the idea of non economically-rational spammers?

I think it's a mistake to conclude the sp= ammers are economically irrational-- they're often just responding to d= ifferent economics which may be less legible to your analysis.=C2=A0 In par= ticular, NFT degens prefer the high cost of transactions as a thing that ma= kes their tokens scarce and gives them value.=C2=A0 -- otherwise they would= n't be swapping for one less efficient encoding for another, they'r= e just be using another blockchain (perhaps their own) entirely.
=



On= Thu, Oct 30, 2025 at 1:16=E2=80=AFAM Michael Tidwell <mtidw...@gmail.com> wrote:
=
On Wednesday, October 22, 2025 at 5:55:58=E2=80=AFAM UTC-4 = moonsettler wrote:
> Confiscation is a problem because of presigned transactions

Allow 10000 bytes of total scriptPubKey size in each block counting onl= y those outputs that are larger than x (520 as proposed).
The code change is pretty minimal from the most obvious implementation = of the original rule.

That makes it technically non-confiscatory. Still non-standard, but if = anyone out there so obnoxiously foot-gunned themselves, they can't clai= m they were rugged by the devs.

BR,
moonsettler

On Saturday, October 18th, 2025 at 3:15 PM, PortlandHODL <ad...@qrsnap.io> wrote:

> Hey,
>=20
> First, thank you to everyone who responded, and please continue to= do so. There were many thought provoking responses and this did shift my p= erspective quite a bit from the original post, which in of itself was the g= oal to a degree.
>=20
> I am currently only going to respond to all of the current concern= s. Acks; though I like them will be ignored unless new discoveries are incl= uded.
>=20
> Tl;dr (Portlands Perspective)
> - Confiscation is a problem because of presigned transactions
> - DoS mitigation could also occur through marking UTXOs as unspend= able if > 520 bytes, this would preserve the proof of publication.
> - Timeout / Sunset logic is compelling
> - The (n) value of acceptable needed bytes is contentious with the= lower suggested limit being 67
> - Congestion control is worth a look?
>=20
> Next Step:
> - Deeper discussion at the individual level: Antoine Poinsot and G= CC overlap?
> - Write an implementation.
> - Decide to pursue BIP
>=20
> Responses
>=20
> Andrew Poelstra:
> > There is a risk of confiscation of coins which have pre-signe= d but
> > unpublished transactions spending them to new outputs with la= rge
> > scriptPubKeys. Due to long-standing standardness rules, and t= he presence
> > of P2SH (and now P2WSH) for well over a decade, I'm skept= ical that any
> > such transactions exist.
>=20
> PortlandHODL: This is a risk that can be incurred and likely not p= ossible to mitigate as there could be possible chains of transactions so ev= en when recursively iterating over a chain there is a chance that a presign= ed breaks this rule. Every idea I have had from block redemption limits on = prevouts seems to just be a coverage issue where you can make the confiscat= ion less likely but not completely mitigated.
>=20
> Second, there are already TXs that effectively have been confiscat= ed at the policy level (P2SH Cleanstack violation) where the user can not f= ind any miner with a policy to accept these into their mempool. (3 years)
>=20
> /dev /fd0
> > so it would be great if this was restricted to OP_RETURN
>=20
> PortlandHODL: I reject this completely as this would remove the UT= XOset omission for the scriptPubkey and encourage miners to subvert the OP_= RETURN restriction and instead just use another op_code, this also do not h= it on some of the most important factors such as DoS mitigation and legacy = script attack surface reduction.
>=20
> Peter Todd
> > NACK ...
>=20
> PortlandHODL: You NACK'd for the same reasons that I stated in= my OP, without including any additional context or reasoning.
>=20
> jeremy
> > I think that this type of rule is OK if we do it as a "s= unsetting" restriction -- e.g. a soft fork active for the next N block= s (N =3D e.g. 2 years, 5 years, 10 years).
>=20
> If action is taken, this is the most reasonable approach. Alleviat= ing confiscatory concerns through deferral.
>=20
> > You can argue against this example probably, but it is worth = considering that absence of evidence of use is not evidence of absence of u= se and I myself feel that overall our understanding of Bitcoin transaction = programming possibilities is still early. If you don't like this exampl= e, I can give you others (probably).
>=20
> Agreed and this also falls into the reasoning for deciding to util= ize point 1 in your response. My thoughts on this would be along the lines = of proof of publication as this change only has the effect of stripping awa= y the executable portion of a script between 521 and 10_000 bytes or the pu= blished data portion if > 10_000 bytes which the same data could likely = be published in chunked segments using outpoints.
>=20
> Andrew Poelstra:
> > Aside from proof-of-publication (i.e. data storage directly i= n the UTXO
> > set) there is no usage of script which can't be equally (= or better)
> > accomplished by using a Segwit v0 or Taproot script.
>=20
> This sums up the majority of future usecase concern
>=20
> Anthony Towns:
> > (If you restricted the change to only applying to scripts tha= t used
> non-push operators, that would probably still provide upgrade flex= ibility
> while also preventing potential script abuses. But it wouldn't= do anything
> to prevent publishing data)
>=20
> Could this not be done as segments in multiple outpoints using a c= oordination outpoint? I fail to see why publication proof must be in a sing= le chunk. This does though however bring another alternative to mind, just = making these outpoints unspendable but not invalidate the block through inc= lusion...
>=20
> > As far as the "but contiguous data will be regulated mor= e strictly"
> argument goes; I don't think "your honour, my offensive c= ontent has
> strings of 4d0802 every 520 bytes
>=20
> Correct, this was never meant to resolve this issue.
>=20
> Luke Dashjr:
> > If we're going this route, we should just close all the g= aps for the immediate future:
>=20
> To put it nicely, this is completely beyond the scope of what is b= eing proposed.
>=20
> Guus Ellenkamp:
> > If there are really so few OP_RETURN outputs more than 144 by= tes, then
> why increase the limit if that change is so controversial? It seem= s
> people who want to use a larger OP_RETURN size do it anyway, even = with
> the current default limits.
>=20
> Completely off topic and irrelevant
>=20
> Greg Tonoski:
> > Limiting the maximum size of the scriptPubKey of a transactio= n to 67 bytes.
>=20
> This leave no room to deal with broken hashing algorithms and very= little future upgradability for hooks. The rest of these points should be = merged with Lukes response and either hijack my thread or start a new one w= ith the increased scope, any approach I take will only be related to the Sc= riptPubkey
>=20
> Keagan McClelland:
> > Hard NACK on capping the witness size as that would effective= ly ban large scripts even in the P2SH wrapper which undermines Bitcoin'= s ability to be an effectively programmable money.
>=20
> This has nothing to do with the witness size or even the P2SH wrap= per
>=20
> Casey Rodarmor:
> > I think that "Bitcoin could need it in the future?"= might be a good enough
> reason not to do this.
>=20
> > Script pubkeys are the only variable-length transaction field= s which can be
> covered by input signatures, which might make them useful for futu= re soft
> forks. I can imagine confidential asset schemes or post-quantum co= in recovery
> schemes requiring large proofs in the outputs, where the validity = of the proof
> determined whether or not the transaction is valid, and thus requi= re the
> proofs to be in the outputs, and not just a hash commitment.
>=20
> Would the ability to publish the data alone be enough? Example mak= e the output unspendable but allow for the existence of the bytes to be cov= ered through the signature?
>=20
>=20
> Antoine Poinsot:
> > Limiting the size of created scriptPubKeys is not a sufficien= t mitigation on its own
> I fail to see how this would not be sufficient? To DoS you need 2 = things inputs with ScriptPubkey redemptions + heavy op_codes that require u= nique checks. Example DUPing stack element again and again doesn't work= . This then leads to the next part is you could get up to unique complex op= erations with the current (n) limit included per input.
>=20
> > One of the goal of BIP54 is to address objections to Matt'= ;s earlier proposal, notably the (in my
> opinion reasonable) confiscation concerns voiced by Russell O'= Connor. Limiting the size of
> scriptPubKeys would in this regard be moving in the opposite direc= tion.
>=20
> Some notes is I would actually go as far as to say the confiscatio= n risk is higher with the TX limit proposed in BIP54 as we actually have pr= oof of redemption of TXs that break that rule and the input set to do this = already exists on-chain no need to even wonder about the whole presigned. b= b41a757f405890fb0f5856228e23b715702d714d59bf2b1feb70d8b2b4e3e08
>=20
> Please let me know if I am incorrect on any of this.
>=20
> > Furthermore, it's always possible to get the biggest bang= for our buck in a first step
>=20
> Agreed on bang for the buck regarding DoS.
>=20
> My final point here would be that I would like to discuss more, an= d this is response is from the initial view of your response and could be i= ncomplete or incorrect, This is just my in the moment response.
>=20
> Antoine Riard:
> > Anyway, in the sleeping pond of consensus fixes fishes, I'= ;m more in favor of prioritizing
> a timewarp fix and limiting dosy spends by old redeem scripts
>=20
> The idea of congestion control is interesting, but this solution s= hould significantly reduce the total DoS severity of known vectors.
>=20
> On Saturday, October 18, 2025 at 2:25:18=E2=80=AFAM UTC-7 Greg Max= well wrote:
>=20
> > Limits on block construction that cross transactions make it = harder to accurately estimate fees and greatly complicate optimal block con= struction-- the latter being important because smarter and more computer po= wered mining code generating higher profits is a pro centralization factor.
> >=20
> > In terms of effectiveness the "spam" will just make= itself indistinguishable from the most common transaction traffic from the= perspective of such metrics-- and might well drive up "spam" lev= els because the higher embedding cost may make some of them use more transa= ctions. The competition for these buckets by other traffic could make it ef= fectively a block size reduction even against very boring ordinary transact= ions. ... which is probably not what most people want.
> >=20
> > I think it's important to keep in mind that bitcoin fee l= evels even at 0.1s/vb are far beyond what other hosting services and other = blockchains cost-- so anyone still embedding data in bitcoin *really* want = to be there for some reason and aren't too fee sensitive or else they&#= 39;d already be using something else... some are even in favor of higher co= sts since the high fees are what create the scarcity needed for their seign= iorage.
> >=20
> > But yeah I think your comments on priorities are correct.
> >=20
> >=20
> >=20
> > On Sat, Oct 18, 2025 at 1:20=E2=80=AFAM Antoine Riard <antoin...@gmail.com> wrote:
> >=20
> > > Hi list,
> > >=20
> > > Thanks to the annex covered by the signature, I don'= t see how the concern about limiting
> > > the extensibility of bitcoin script with future (post-qu= antum) cryptographic schemes.
> > > Previous proposal of the annex were deliberately designe= d with variable-length fields
> > > to flexibly accomodate a wide range of things.
> > >=20
> > > I believe there is one thing that has not been proposed = to limit unpredictable utterance
> > > of spams on the blockchain, namely congestion control of= categories of outputs (e.g "fat"
> > > scriptpubkeys). Let's say P a block period, T a type= of scriptpubkey and L a limiting
> > > threshold for the number of T occurences during the peri= od P. Beyond the L threshold, any
> > > additional T scriptpubkey is making the block invalid. O= r alternatively, any additional
> > > T generating / spending transaction must pay some weight= penalty...
> > >=20
> > > Congestion control, which of course comes with its lot o= f shenanigans, is not very a novel
> > > idea as I believe it has been floated few times in the c= ontext of lightning to solve mass
> > > closure, where channels out-priced at current feerate wo= uld have their safety timelocks scale
> > > ups.
> > >=20
> > > No need anymore to come to social consensus on what is q= uantitative "spam" or not. The blockchain
> > > would automatically throttle out the block space spammin= g transaction. Qualitative spam it's another
> > > question, for anyone who has ever read shannon's the= ory of communication only effective thing can
> > > be to limit the size of data payload. But probably we= 9;re kickly back to a non-mathematically solvable
> > > linguistical question again [0].
> > >=20
> > > Anyway, in the sleeping pond of consensus fixes fishes, = I'm more in favor of prioritizing
> > > a timewarp fix and limiting dosy spends by old redeem sc= ripts, rather than engaging in shooting
> > > ourselves in the foot with ill-designed "spam"= consensus mitigations.
> > >=20
> > > [0] If you have a soul of logician, it would be an inter= esting demonstration to come with
> > > to establish that we cannot come up with mathematically = or cryptographically consensus means
> > > to solve qualitative "spam", which in a very p= ure sense is a linguistical issue.
> > >=20
> > > Best,
> > > Antoine
> > > OTS hash: 6cb50fe36ca0ec5cb9a88517dd4ce9bb50dd6ad1d2d6a6= 40dd4a31d72f0e4999
> > > Le vendredi 17 octobre 2025 =C3=A0 19:45:44 UTC+1, Antoi= ne Poinsot a =C3=A9crit :
> > >=20
> > > > Hi,
> > > >=20
> > > > This approach was discussed last year when evaluati= ng the best way to mitigate DoS blocks in terms
> > > > of gains compared to confiscatory surface. Limiting= the size of created scriptPubKeys is not a
> > > > sufficient mitigation on its own, and has a non-tri= vial confiscatory surface.
> > > >=20
> > > > One of the goal of BIP54 is to address objections t= o Matt's earlier proposal, notably the (in my
> > > > opinion reasonable) confiscation concerns voiced by= Russell O'Connor. Limiting the size of
> > > > scriptPubKeys would in this regard be moving in the= opposite direction.
> > > >=20
> > > > Various approaches of limiting the size of spent sc= riptPubKeys were discussed, in forms that would
> > > > mitigate the confiscatory surface, to adopt in addi= tion to (what eventually became) the BIP54 sigops
> > > > limit. However i decided against including this add= itional measure in BIP54 because:
> > > > - of the inherent complexity of the discussed schem= es, which would make it hard to reason about
> > > > constructing transactions spending legacy inputs, a= nd equally hard to evaluate the reduction of
> > > > the confiscatory surface;
> > > > - more importantly, there is steep diminishing retu= rns to piling on more mitigations. The BIP54
> > > > limit on its own prevents an externally-motivated a= ttacker from *unevenly* stalling the network
> > > > for dozens of minutes, and a revenue-maximizing min= er from regularly stalling its competitions
> > > > for dozens of seconds, at a minimized cost in confi= scatory surface. Additional mitigations reduce
> > > > the worst case validation time by a smaller factor = at a higher cost in terms of confiscatory
> > > > surface. It "feels right" to further redu= ce those numbers, but it's less clear what the tangible
> > > > gains would be.
> > > >=20
> > > > Furthermore, it's always possible to get the bi= ggest bang for our buck in a first step and going the
> > > > extra mile in a later, more controversial, soft for= k. I previously floated the idea of a "cleanup
> > > > v2" in private discussions, and i think beside= s a reduction of the maximum scriptPubKey size it
> > > > should feature a consensus-enforced maximum transac= tion size for the reasons stated here:
> > > > https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit= /1732/8. I wouldn't hold my
> > > > breath on such a "cleanup v2", but it may= be useful to have it documented somewhere.
> > > >=20
> > > > I'm trying to not go into much details regardin= g which mitigations were considered in designing
> > > > BIP54, because they are tightly related to the desi= gn of various DoS blocks. But i'm always happy to
> > > > rehash the decisions made there and (re-)consider a= lternative approaches on the semi-private Delving
> > > > thread [0] dedicated to this purpose. Feel free to = ping me to get access if i know you.
> > > >=20
> > > > Best,
> > > > Antoine Poinsot
> > > >=20
> > > > [0]: https://= delvingbitcoin.org/t/worst-block-validation-time-inquiry/711
> > > >=20
> > > >=20
> > > >=20
> > > >=20
> > > > On Friday, October 17th, 2025 at 1:12 PM, Brandon B= lack <fre...@reardencode.com> wrote:
> > > >=20
> > > > >
> > > > >
> > > > > On 2025-10-16 (Thu) at 00:06:41 +0000, Greg Ma= xwell wrote:
> > > > >
> > > > > > But also given that there are essentially= no violations and no reason to
> > > > > > expect any I'm not sure the proposal = is worth time relative to fixes of
> > > > > > actual moderately serious DOS attack issu= es.
> > > > >
> > > > >
> > > > > I believe this limit would also stop most (all= ?) of PortlandHODL's
> > > > > DoSblocks without having to make some of the o= ther changes in GCC. I
> > > > > think it's worthwhile to compare this appr= oach to those proposed by
> > > > > Antoine in solving these DoS vectors.
> > > > >
> > > > > Best,
> > > > >
> > > > > --Brandon
> > > > >
> > > > > --
> > > > > You received this message because you are subs= cribed to the Google Groups "Bitcoin Development Mailing List" gr= oup.
> > > > > To unsubscribe from this group and stop receiv= ing emails from it, send an email to bitcoindev+...@goo= glegroups.com.
> > > > > To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= aPJ3w6bEoaye3WJ6%40console.
> > >=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 email to bitcoindev+...@googlegroups.= com.
> >=20
> > > To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/5135a031-a94e-49b9-ab31-a= 1eb48875ff2n%40googlegroups.com.
>=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 email to bitcoindev+...@googlegroups.com.
> To view this discussion visit https= ://groups.google.com/d/msgid/bitcoindev/78475572-3e52-44e4-8116-8f1a917995a= 4n%40googlegroups.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+...@googlegro= ups.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/c208e054-b85a-4a5c-9193-c28ef0d225c5n%40googlegroups.com.
------=_Part_4341_643388915.1761795367895-- ------=_Part_4340_1993419797.1761795367895--