Let’s say someone is selling cp for BTC will you make your node refuse to validate a block paying them? Will you filter that transaction from your mempool? Why stop at just keeping jpgs of cp off the chain?
Fine. The neat thing is you can do whatever you want and so can I. And if I don't like your node I can just not connect to your node and you can do to my node the same.
I mean that depends. part of the problem is peoples ignorance surrounding this issue.
disclosure seems prudent to me.
fyi: despite that blocksonly code you reference being in place, it does not functionally work when I tested sending bitcoin in the field with my own node. there may be other factors at work though, i did not test this extensively.
another draw back of being blocksonly=1 is that my peers (i'd say most) start to disconnect from me, since they think I'm a bad peer.
it does not functionally work when I tested sending bitcoin in the field with my own node
I remember it used to be like that - with 0.12 or so - but it should be fixed now. iirc the main issue is that since smartfees tracks the number of blocks it took for a tx to be mined since we saw it, there is no good fee estimation (though this could be fixed.)
I run a blocksonly node to serve history for others' IBD over tor, but I've compiled it w/o wallet so I cannot test it quickly right now (and I don't really like testing on mainnet anyway). I'll build and run some reproducible tests tomorrow, because it should work (as permissioned txs should be forwarded as well, so I'll test that too) - and if not, I think that it's patch-worthy - I'd gladly work on a fix if this was regressed (and with it supply a test with higher coverage.)
my peers (i'd say most) start to disconnect from me
There are 2 blocks-only slots and 8 non-blocks-only outgoing connection slots per node, so you'll serve a smaller subset of total connections, yes, and it'll take longer to serve many incoming peers.
iirc I only had one consistent peer when being blocksonly=1 when trying to sync to the chaintip. once at the chaintip I think i got more peers, but still very few.
Thanks for looking into this, me and the one other user in the world who used this feature appreciate it.
oh also, there's some edge cases with lightning nodes who switch blocksonly=1 on too. terrible cases of channel opens being stuck in some instances (just me lol) that required LND updates to flush out.
It's an important question. I'd like to see people engage with it in good faith.
From what I'm hearing, the pro-filtering argument is for allowing node runners to not store images, or other objectionable material, in their mempools. I'm fine with that. Arguments against choice have to meet a high bar for me to accept them and these technocratic arguments haven't risen to that level for me.
The argument for stopping at this point is that there would be no faster way to turn the public against bitcoin than by being able to say, accurately, that we're all willingly transmitting child pornography to each other.
If engaging in that transmission is optional, then culpability can be put on the particular node runners who are storing it, rather than the whole community/project/movement.
smartfees
tracks the number of blocks it took for a tx to be mined since we saw it, there is no good fee estimation (though this could be fixed.)