Subject: Re: [bitcoindev] [BIP Proposal] Mempool Validation and Relay Policies via User-Defined Scripts

From: Bryan Bishop <[email-masked]>
Date: Sat, 27 Sep 2025 11:49:30 -0500

It's rich to see someone lecturing andytoshi about the benefits of
replacing block content with succinct proofs. To be clear, pruning is not
the same thing as replacing blocks with proofs. Schemes like mimblewimble
or whatever else came after that he worked on are not SPV style abandonment
of verification. Or maybe we have forgotten?

Anyway, let's keep in mind that nobody is saying you cannot run a filter or
install one yourself. Anyone can run any software on their machine they
want. But you cannot force others to run it... or at least developers
around here won't go along with trying to force unremovable auto updates
etc.

The question at hand isn't the existence or possibility of filters, nor of
existence of bitcoin p2p protocol users that choose to filter, it's instead
about pressuring Bitcoin Core developers to release and endorse software
that includes certain filters--- which sets bad precedent against bitcoin
ethos (by which I mean "these transactions are argued to be harmful to
bitcoin so Core should do something even more harmful to bitcoin" is bad
precedent), also these people either don't want to do it or don't agree
with doing so and have been refusing to go along with the demands; going
along with the demands is itself another way to set a bad precedent. Such
pressure should first before all else be unilaterally rejected, as there is
no obligation expressed or implied, not to mention the coercive nature of
trying to force someone to act against their personal judgement or
values....

My reply below.

On Sat, Sep 27, 2025, 10:22 AM 'OJ' via Bitcoin Development Mailing List <
[email-masked]> wrote:

> I fail to understand how we come from "filters do not work" to "filters
> adopted by a majority is censorship".
>
If the goal of your mempool transaction filters is to prohibit certain
content on your node, then filters do not work because filters are not
applied to received blocks. You might not want to run bitcoin at all, even
in blocksonly mode + pruning, if you don't want bitcoin data on your
machine, actually.

If the goal of your filters is to prohibit content in other people's
mempools, then your local filters cannot achieve that because anyone can
put anything they want into their mempool even without your knowledge. This
is even true if a Bitcoin Core release was to ship new, overbearing default
filters etc.

Yes, even with a Core release, still developers around the world cannot
dictate what software or rules the protocol users choose to run themselves,
nor the contents of their mempools.

For those purposes it is clear that your filters do not work. They don't
achieve those goals, in answer to your question.

If you want to run a mempool with filters, then you have not been unable to
do that. If you want to run a node that does not gossip transactions or run
a mempool, then you are again not restricted from doing so. Use blocksonly,
use pruning, or even write your own software and place it on a webpage for
others to voluntarily download. For people who want to extra filter this
should be fantastic news because if they previously believed filters must
be distributed by a Core release, then now they are free from the burden of
that false belief and should feel relieved.

Even if relay filters are adopted by a majority of the p2p network, it
still doesn't work to stop the transactions because the transactions get
encoded into blocks, and then you receive blocks....  unless you don't
download blocks or run bitcoin.

As for the censorship question, perhaps instead ask what the purpose and
function of a mempool is. Why might a node have a mempool? After all, if
what you want is to see or have a history of transactions, then you have
the blocks of executed transactions. What then is the purpose of a node
having a mempool? It should seem absurd to you.

Maybe even the answers to these questions might help us to understand the
motivations or goals of developers as to what is included or not in the
software they write?

It's a possibility.

There seems to be a confusion too regarding filtering arbitrary data and
> censorship of consensus valid tx, like OFAC compliant block. Those two are
> different.
>
They aren't different; anyone is free to filter just as anyone is free to
mine your-so-called compliance block, which by the way leaves valuable fees
to others.

> Also the thinking that miners control the network is also bad as its
>
Who has argued that? What does control even mean here?

> miners are the one that should take notice of what the relay network
> homogeneous mempool is.
>

What?

> This BIP proposal move in the right direction in regards to finding a
> compromise while not disparaging anyones right as a free agent node runner.
>
If you honestly believe that, then I have very good news for you: you don't
need a BIP or Core release: users can simply download, write or use
whatever software with whatever filters they want. Mom compromise is
needed, because the bitcoin status quo already enables the
freedom-nondisparagement you seek. In fact, I would argue that you should
prefer that it does not need to be a default or a BIP, because enabling the
coordination and distribution of the tools of censorship seems contrary to
the purpose and goals of bitcoin.

- Bryan
https://x.com/kanzure

>
> -------- Original Message --------
> On 9/26/25 2:03 PM, Garlo Nicon wrote:
>
> > You cannot pick and choose which parts of a block you like and which
> parts are "abusive".
>
> In the current implementation, yes. But if you accept a proof, that a
> block is valid, instead of accepting a block in plaintext, then you can
> land on the same chain. Because after all, pruned nodes care only about the
> last 288 blocks, or something like that. If they can update their UTXO set,
> and always land on a valid chain, then they don't need transaction data in
> plaintext. They just need to update their UTXO database in a way, where
> attacking it would require breaking ECDSA, SHA-256, or similar things (a
> proof-based system, which would not weaken existing cryptographic
> assumptions, would be sufficient).
>
> And the same is true about Initial Blockchain Download. Only today, you
> have to download hundreds of GBs, to synchronize the new node from scratch.
> But it can be changed, and as the size of the whole chain will grow, people
> will be pushed, to start deploying some optimizations. Otherwise, there
> will be even less nodes, if node operators will decide to trust centralized
> solutions instead, or do things, which already happened in some altcoins,
> where people passed around an already synced node data, and trusted, that
> it is valid (especially in CPU-mined coins, where verifying thousands
> blocks required similar effort, than mining a new block).
>
> pt., 26 wrz 2025 o 02:25 Andrew Poelstra <[email-masked]>
> napisał(a):
>
>> On Thu, Sep 25, 2025 at 11:52:02AM -0600, Chris Guida wrote:
>> >
>> > Anyway, forcing users to relay transactions they consider abusive if
>> they
>> > want to relay any transactions at all does not seem in keeping with
>> > bitcoin's ethos, not to mention that it obviously would never work.
>> >
>>
>> Once a transaction is in a block, you need to relay the transaction if
>> you want to relay a block. You cannot pick and choose which parts of a
>> block you like and which parts are "abusive". This is what it means for
>> something to be a consensus system.
>>
>> The purpose of the mempool is to approximate the contents of blocks,
>> both to help individual node operators (who would otherwise get large
>> quantities of "surprise transactions" with every block) and to help the
>> network (which would otherwise have poor propagation properties).
>>
>> Any sort of filtering beyond that done by miners is contrary to this
>> purpose of the mempool. This is a technical fact. It has nothing to do
>> with "bitcoin's ethos", except its ethos as a consensus system, which
>> directly contradicts your point.
>>
>> --
>> Andrew Poelstra
>> Director, Blockstream Research
>> Email: apoelstra at wpsoftware.net
>> Web:   https://www.wpsoftware.net/andrew
>>
>> The sun is always shining in space
>>     -Justin Lewis-Webster
>>
>

-- 
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 [email-masked].
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CABaSBaywaebTUgoVKnNfnhy7psd-%3D08GnePCbBJmF1WvcZqkYw%40mail.gmail.com.