From: Greg Maxwell <gmaxwell@gmail.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: [bitcoindev] Re: Relax OP_RETURN standardness restrictions
Date: Mon, 5 May 2025 07:05:02 -0700 (PDT) [thread overview]
Message-ID: <8cb5c012-e28a-466d-b444-9083bf1a486cn@googlegroups.com> (raw)
In-Reply-To: <rhfyCHr4RfaEalbfGejVdolYCVWIyf84PT2062DQbs5-eU8BPYty5sGyvI3hKeRZQtVC7rn_ugjUWFnWCymz9e9Chbn7FjWJePllFhZRKYk=@protonmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 6018 bytes --]
It might be helpful to reflect on how reality has changed since the
OP_RETURN behavior was originally rolled out in February 2014.
At the time blockfile pruning would not be deployed to the public for
another year and a half, so everyone that ran a node was forced to store
and serve anything that made it into a block.
In 2014 people were proposing protocol additions that would allow basically
random access to the transactions/txouts over the P2P network, potentially
outright allowing file trading applications that abused bitcoin nodes as
their server. Today there are no such proposals and any would be DOA
because the abuse potential is well understood.
At the time miners were almost entirely driven by subsidy, fees were fairly
insignificant.
With the exception of a rare joker block standardness rules were highly
effective, and short of mining a block yourself or talking a highly
community connected mining pool operator into it (or being that operator)
you couldn't bypass any of them.
Blocks were on average running at 16% of the consensus capacity limit.
Absent some kind of adhoc non-consensus restriction the cost to dump in
large amounts of data would have been nothing. Today the _average_ block
is essentially full and the costs are considerable.
A minimum feerate of 1s/vb has increased in buying power by a factor of 171
from Feb 2014 to now.
Users were much more ignorant about what they got out of putting data in,
it was common to hear things that would better be served with a commitment
(or something like OTS, which wouldn't be available for another two and a
half)-- they didn't have much reason to think hard about their application
because stuffing in data was cheap (or, even free if not for limits).
Today's data stuffers cases generally do make sense on their own terms even
if many would agree that they're not an appropriate use of Bitcoin. There
are more alternative communications channels than ever now, ipfs, nostr,
other blockchains. Stuffing data in is expensive. Those who still do it
are willing to pay, which also means miners are willing to let them. The
parties that do it are technically sophisticated or at the very least can
afford the services of people who are and can and have implemented evasions
to adhoc restrictions.
Today there are implementations of concepts like assumeutxo, which while
subject to their own limitations would allow people to bring up fully
validating nodes without ever downloading or processing spam data (and
pruining as mentioned is real now and lets you not store it). While not
yet completed and deployed it clearly could be, but back then that sort of
idea was highly theoretical. Today the highly theoretical thing are stuff
like ZKPs over the history.
At the time compact blocks as a protocol feature hadn't been conceived and
earlier block relay improvements were only just being developed--- any
additional data in blocks slowed their propagation. Today the extra data
only slows their propagation when it wasn't well relayed in advance. So
the limit back then benefited block propagation, today it hurts it.
At the time the understanding that delays in propagation don't hurt the
miner that added that data as much as they hurt small miners relative to
very large miners was less well understood. Eyal&Sirer's paper had only
been published a couple months before and it contributed to understanding
of communications delay as a factor in centralization pressure, though even
today many don't understand it or don't think about it.
At the time, many of us had an understanding that these sorts of limit were
unstable equilibrium at best-- and wouldn't stand once miners were being
driven by fees, wouldn't stand if there was significant demand that wasn't
just confused, ... today we've long since reached that world and found that
that understanding was correct.
At the time no one had any reason to be concerned that they might be hauled
before congress or even prosecuted because some state blacklist wasn't also
a standarness rule or because it wasn't working well enough to block
transactions.
The limit was somewhat popularly unpopular at the time and became
extraordinarily unpopular later, I feel a little irony that for merely
defending the limit on its merits I was multiply subjected to threats of
physical violence not too many years ago. A common thread underlies much
of the opposition to remove it: a knee jerk reaction to some perception of
authority, which was largely unaware of or indifferent to the reasoning and
the same false smears of conflicts of interest and whatnot have been
deployed. Fortunately for OP_RETURN it's initial addition added something
entirely knew so even though it was limited it was more than nothing. The
really vigorous attacks on it came only after it was forgotten that it
wasn't previously unlimited. Similarly, instead of being based on the
substance the driver appeared to be parties weaponizing it for other
purposes. Back then as a general means to attack the bitcoin project to
promote forks, this time because of anger about nft/shitcoin traffic which
this change actually has little to no bearing on.
I fear at times there is a tendency to look at anything that came before
you and assuming that it was some kind of holy solution. But standardness
limits aren't holy, they're a hack... sometimes a very useful hack. They
should only exist when their benefits well outweigh their costs. Given the
history I don't think it was wrong to limit at the time, but it was a very
different world then.
--
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+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/8cb5c012-e28a-466d-b444-9083bf1a486cn%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 6738 bytes --]
next prev parent reply other threads:[~2025-05-05 14:12 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-17 18:52 [bitcoindev] Relax OP_RETURN standardness restrictions 'Antoine Poinsot' via Bitcoin Development Mailing List
2025-04-18 12:03 ` Sjors Provoost
2025-04-18 12:54 ` Greg Sanders
2025-04-18 13:06 ` Vojtěch Strnad
2025-04-18 13:29 ` 'Antoine Poinsot' via Bitcoin Development Mailing List
2025-04-18 21:34 ` Antoine Riard
2025-04-20 8:43 ` Peter Todd
2025-04-26 9:50 ` Luke Dashjr
2025-04-26 10:53 ` Sjors Provoost
2025-04-26 11:35 ` Luke Dashjr
2025-04-26 11:45 ` Sjors Provoost
2025-04-26 12:48 ` Pieter Wuille
2025-04-28 16:20 ` Jason Hughes (wk057)
2025-04-29 14:51 ` Sjors Provoost
2025-04-30 15:37 ` Nagaev Boris
2025-04-30 16:30 ` Sjors Provoost
2025-04-29 19:20 ` Martin Habovštiak
2025-04-30 0:10 ` Jason Hughes
2025-05-01 17:40 ` Andrew Toth
2025-04-30 5:39 ` Chris Guida
2025-04-30 16:37 ` Anthony Towns
2025-05-01 4:57 ` Chris Guida
2025-05-01 19:33 ` Nagaev Boris
2025-05-02 6:34 ` Anthony Towns
2025-05-02 18:29 ` Peter Todd
2025-05-03 5:14 ` 'nsvrn' via Bitcoin Development Mailing List
2025-05-01 3:01 ` Anthony Towns
2025-05-02 18:56 ` Greg Tonoski
2025-05-05 6:04 ` Bitcoin Error Log
2025-05-01 22:40 ` [bitcoindev] " 'Antoine Poinsot' via Bitcoin Development Mailing List
2025-05-02 0:14 ` PandaCute
2025-05-02 11:16 ` [bitcoindev] " Sjors Provoost
2025-05-02 14:37 ` 'nsvrn' via Bitcoin Development Mailing List
2025-05-02 16:43 ` Greg Maxwell
2025-05-02 13:58 ` [bitcoindev] " Bob Burnett
2025-05-02 20:03 ` [bitcoindev] Removing OP_Return restrictions: Devil's Advocate Position Peter Todd
2025-05-02 22:58 ` [bitcoindev] " Greg Maxwell
2025-05-03 2:02 ` Martin Habovštiak
2025-05-05 21:45 ` Peter Todd
2025-05-05 23:55 ` Greg Maxwell
2025-05-02 6:29 ` [bitcoindev] Re: Relax OP_RETURN standardness restrictions Greg Maxwell
2025-05-02 9:51 ` Anthony Towns
2025-05-02 17:36 ` Greg Maxwell
2025-05-05 9:18 ` Anthony Towns
2025-05-05 21:34 ` [bitcoindev] Weak blocks give an advantage to large miners Peter Todd
2025-05-06 8:56 ` Sjors Provoost
2025-05-02 20:43 ` [bitcoindev] Re: Relax OP_RETURN standardness restrictions Peter Todd
2025-05-02 19:04 ` /dev /fd0
2025-05-02 20:10 ` Peter Todd
2025-05-04 20:04 ` Nagaev Boris
2025-05-05 11:42 ` Greg Maxwell
2025-05-05 14:32 ` Nagaev Boris
2025-05-05 21:30 ` Peter Todd
2025-05-05 14:05 ` Greg Maxwell [this message]
[not found] ` <20250502064744.92B057C0EE2@smtp.postman.i2p>
2025-05-07 1:20 ` pithosian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8cb5c012-e28a-466d-b444-9083bf1a486cn@googlegroups.com \
--to=gmaxwell@gmail.com \
--cc=bitcoindev@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox