--
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/b51b952c-b8ba-4f13-a216-c29095c39d00n%40googlegroups.com.
IIUC [..] The size of a single OP_RETURN is limited only by the maximum transaction size, i.e. 100 kvB.
>> is there ever a case where using OP_RETURN to embed data actually results in fewer bytes onchain than embedding the same data using the segwit/taproot witness space
> Yes, a back-of-the-envelope calculation [..]
we *could have* reserved multi-output as some sort of signaling mechanism [..] though I can't imagine what that would be. Additional OP_RETURNs would be an expensive signal.
--
It should be needless to say, but this idea is utter insanity. Disappointing to see positive responses, and not one sensible reply calling it out yet. The bugs should be fixed, not the abuse embraced. If attackers continue to bypass filters, we can go back to a full whitelist approach. We're now 2+ years into this wave of attacks, and the damage it has already done should be more than enough to prove the hands-off attitude is not viable. Am I the only one left on this list who actually cares about Bitcoin's survival?
--
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.
It should be needless to say, but this idea is utter insanity. Disappointing to see positive responses, and not one sensible reply calling it out yet. The bugs should be fixed, not the abuse embraced. If attackers continue to bypass filters, we can go back to a full whitelist approach.
--
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/f4f6831a-d6b8-4f32-8a4e-c0669cc0a7b8n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CALkkCJY5T5sd5Am0M6abhaMMicwVNvSfwYQP1jMjxfVsuT8Jaw%40mail.gmail.com.
Am I the only one left on this list who actually cares about Bitcoin's survival?
With that history in mind, removing limits on OP_RETURN standardness size is pointless.
Relaxing OP_RETURN size limits without dealing with the inscriptions
There's little to no incentive to use OP_RETURN for data storage when using the 'inscriptions' exploit costs 4x less in transactions. What's the point of having a "standard" way to store arbitrary data if the exploit method is 4x cheaper? And the nonstandard version of the exploit allows 4x the data?
For example, let's say I want to distribute malware. Well, might as well just store it in an OP_RETURN.
This is a fundamental change to the nature of what the Bitcoin network itself is in its entirety. [...] Bitcoin as we know it changes forever in the most fundamental way imaginable
and we might as well give up on Bitcoin ever being a thing if this is the path chosen
Have the courage to reject this type of thing for the sake of the overall project.
If you don't have confidence in the Bitcoin Core developers, instead of insulting them, you could also just (help) maintain a fork of the project. I obviously think you're misguided here, but at least it's better to channel this distrust into something constructive. Given the number of people who share your sentiment, such a project should be perfectly viable.
It was suggested in two different PRs ([0] and [1]) that the conceptual discussion take place in this thread, so I am submitting my comments here.
This is just a temporary cease-fire while the spammers reload their ammunition. There is obviously about to be another wave
otherwise what is the point of eliminating OP_RETURN restrictions?
Yes, and then the money printer makes sure that there is always enough easy money sloshing around in the economy so that more pop up where the old ones dropped out. This can and will continue indefinitely if we do nothing.
My proposal is not to counter literally every type of spam. Just the ones that have protocols relying on consistent transaction formats. Creating specific filters against just these worst offenders should
I believe you greatly overestimate the skill and competence of the people who would do this type of thing. You could accomplish what you've laid out. I could accomplish it.
Since the restrictions on the usage of OP_RETURN outputs encourage harmful practices while being ineffective in deterring unwanted usage, i propose to drop them.
This is my first response/comment on this mailing list. I think there are several issues that have risen to the surface here including this one on a broken communication link (well written message btw).
Side note: Ultimately, as a miner I am in the business of creating block space – at least that is my view, and contrary to popular belief, miners are not always motivated to simply pick transactions that generate the highest block reward in the immediate block,
and as time goes by this will become even more common and apparent. I’ve spoken a lot on this recently in public forums, so I won’t dwell on it here.
From:
bitco...@googlegroups.com <bitco...@googlegroups.com> on behalf of PandaCute <pandacut...@gmail.com>
Date: Friday, May 2, 2025 at 7:11 AM
To: Bitcoin Development Mailing List <bitco...@googlegroups.com>
Subject: [bitcoindev] Re: Relax OP_RETURN standardness restrictions
You don't often get email from pandacut...@gmail.com. Learn why this is important |
--
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/68cdce0e-9030-4a6b-92a4-d48d05be3e80n%40googlegroups.com.
"Spam is annoying but it always runs it course if you ignore it"
and
"When relay policy shouldn't be more restrictive than what is actually being mined"
are contradictory statements by gmaxwell. Btw, 99.9% of transactions rn are standard, nothing has changed. People are pre-emptively making accomodation for a startup with a whitepaper. No one is making relay policy more restrictive, they're talking about making it more flexible "pre-emptively".
Hmm, I don't actually think this is a good rule -- if followed strictly,
it prevents ever making relay rules more restrictive, even for cases
which are provably harmful for the network.
Alternatively, if it's a rule with exceptions, then it's those exceptions
that are the important factor and should be figured out.
For example, the reason mining a "quadratic hashing bloat txn" is bad
because it causes delayed block validation on its own, potentially in
ways that aren't even sufficiently mitigated by running your node on
extremely high end hardware. Transactions like that should really be
removed from consensus validity not just prevented at the relay level,
and BIP 54's consensus cleanup hopefully does that.
Miners have accepted out-of-band relay of spends of unknown
segwit versions (which I presume is similar enough to the "unused
opcode/successcode/version number or whatever" case), in particular
txid b10c007c60e14f9d087e0291d4d0c7869697c6681d979c6639dbd960792b4d41
in block 692261 (the taproot exception block). Even though that was not
done by mistake or out of technical ignorance, I think doing such things
extremely rarely through out of band mechanisms is pretty much fine.
(Even if miners do it for profit, rather than as a 0-fee tx where the
outputs are a donation to a developer funding group)
If adopted, a policy like that would be fairly easy to use to hold the
network hostage: find a miner who doesn't much care and has perhaps
0.1% of total hashrate, get them to mine txs spending segwit versions 2
through 16, and forward a handful of such transactions to them every day.
The transactions are getting mined regularly and reliably (at a rate
of about once a week), the transactions aren't immediately damaging the
network, the miner is making excess profits, and by your relay argument,
the miner is gaining a slight advantage in being able to potentially
mine two blocks in a row due to the block relay delays caused by not
relaying spends of future segwit versions.
I'd describe that class of policy as something of a "popularity contest"
approach -- it's a policy that says that anything that's sufficiently
popular is good/permissable. I think that makes sense as a check/balance
approach -- "this think is popular, is there really a good reason why
it's not permitted?" -- but not as the first thing we think about.
As a check/balance, I think that argument holds water, and should cause
us to ask if your existing policies make sense. I think it's fair to
say Bitcoin Core's existing policies (as expressed by its code, and not
necessarily matching the policies of various forks of Core) are (in no
particular order):
* encouraging data storage people to use commitments (7) didn't really
work, and given that could be done via documentation or blog posts
* people with legitimate concerns about their node being overloaded
should probably be concerned more by the "limit maximum block size
growth to ~4GB/week" policy
(6) or prefering prunable data (2):
* one is that for that to only be "occassional" means that even
vaguely legitimate use cases should have a supported way of
being exercised via standard transactions without being much more
expensive: eg, instead of consolidating 4000 transactions in a
270kvB transaction, you might use consolidate 1333 transactions
in each of three 91kvB transactions. That limits the amount of
excess profits the miner can generate, in this example the 3kvB
of savings would only justify paying about 1.1% higher than the
going feerate for standard transactions, eg.
* the other is that if you want to disallow this from happening
even occassionally, then you want to have relay and consensus rules
be the same; but that effectively means that any functionality
upgrade needs to be done as a hard fork, which in turn likely has
highly centralising effects around the developer team, as running
old versions of the software becomes infeasible
I don't agree with that at all: giving people what they ask for, even
if it's literally a punch in the face, isn't disrespectful, it's the
opposite. (Respecting other people isn't always the highest virtue,
of course)
Even if they're fundamentally wrong, I think it's respectful to people who
haven't yet given that up as a lost cause to leave them with a knob that
gives them at least a chance to continue the fight for sometime longer.
# _Uninterrupted_ Illicit Data
to make data publication somewhat more expensive with consensus changes.
Gregory Maxwell outlined how to do so on this mailing list years ago
have an overhead of about 6.6x. Existing data encoders have been happy
to pay even more money than that in terms of increased fees during fee
spikes; the difference in cost between witness space and txout space is
already 4x, and some are happy to publish data that way anyway.
A few more points:
* I've just happened to talk to a lawyer and he confirmed that a) merely having illegal content as a part of the chain is not illegal, at least not as long as it's not possible to trivially open it with general-purpose software b) images that are illegal with a bunch of red dots would still be illegal
* That being said, confusing scanning tools is somewhat interesting but solved by xoring. Being able to xor without redownloading is already possible with an external tool. It'd be nice to have it integrated but I think the people who want it should make the PR (or finance it)
* Funnily enough, my first Bitcoin project ever involved hiding data into bitcoin addresses by grinding: https://github.com/Kixunil/btcsteg so it's accessible to anyone who can google (disclaimer: I've never actually sent anything into the chain using it; also please don't send any tips to that address)
* There was an argument, that doing the red dot thing is difficult for non-technical people. That's nonsense, I literally used ChatGPT to write the code because I was lazy. It spit out perfectly working code on first attempt.
* I'm writing a (Slovak) article about this and one of the points I made is requiring signatures to prove dlog knowledge for non-p2tr outputs would require more than double the size of current OP_RETURN limit per typical transaction. IOW, if today every single transaction added a maximum standard OP_RETURN it'd still be less data than trying to prevent it. And that's just data size. Signature verification is MUCH more costly than processing of OP_RETURN and whatnot.
* Requiring signatures and preimages for Taproot would destroy protocols relying on NUMS and also completely remove all the benefits of Taproot.
--
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/16f3af30-985f-40b7-afc3-9faae892d824n%40googlegroups.com.
There may also be users today who rely on datacarrier
behaviour/options without yet realizing they're scheduled for removal.
When you originally proposed the scheme that may have been true. But
these days you could probably use zero-knowledge-proofs to prove that
hash digests are in fact hash digests, without having to include the
actual pre-images of those hash digests.
But Amazon doesn't offer a service to store data on S3 forever.
Also of course, S3 only offers storage. Not publication. Things like
Citrea (and Lightning) specifically need data publication.
--
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/20250507012038.3EAE07C10F1%40smtp.postman.i2p.
--
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/aBku-6CIjQKIQjRS%40petertodd.org.
Hi,
Standardness rules exist for 3 mains reasons: mitigate DoS vectors, provide upgrade hooks, or as a nudge to deter some usages.
Bitcoin Core will by default only relay and mine transactions with at most a single OP_RETURN output, with a scriptPubKey no larger than 83 bytes. This standardness rule falls into the third category: it aims to mildly deter data storage while still allowing a less harmful alternative than using non-provably-unspendable outputs.