A blocksize decrease is a soft fork because old nodes won't reject smaller blocks as if they were invalid -- when they see a small block they think "that's fine, there's no rule that says blocks have to be huge, they're just allowed to be"
A soft fork is a new restriction on bitcoin blocks or their contents, done in such a way that old nodes still see all the new block contents as perfectly valid
A hard fork removes a restriction on bitcoin blocks or their contents, done in such a way that old nodes see the new block contents as invalid because they break a rule that those nodes still enforce
They are paying for block space. It's not an attack.
It's not an intentional attack (except when I do it I suppose, because I explicitly intend it as an attack) but it does dump jpegs on bitcoin's blockchain so that it is harder to run a node. I run a node because I want bitcoin to be the best money it can be. To the extent that it is also a storehouse for monkey jpegs my motivation to participate falls a bit, because to me that "storing other people's random files" is a poor reason to run a node. I don't mind storing other people's transactions, even when it's somewhat hard on my machine, because doing so helps me know that my coins are valid. I do mind storing their nfts because there is no benefit to me.
A soft fork is a new restriction on bitcoin blocks or their contents, done in such a way that old nodes still see all the new block contents as perfectly valid
A hard fork removes a restriction on bitcoin blocks or their contents, done in such a way that old nodes see the new block contents as invalid because they break a rule that those nodes still enforce
Okay, makes sense from a full node perspective. But I was thinking about miners: Any miner which produces a block bigger than your new smaller limit will be incompatible with your fork.
So there will be one fork mining small blocks and one fork mining big blocks, no?
And not only one chain which everyone sees valid like in a soft fork.
reply
All soft forks impose new restrictions on miners that they have to follow to stay in consensus. E.g. the segwit softfork took bc1 addresses -- which used to be "anyone can spend" addresses, because you could spend them without a signature -- and made it so you could only spend them if you put a signature in the witness data. At the time, miners running an old node still "thought" they were anyone_can_spend addresses, but if they had ever tried creating a block spending one without a signature, upgraded nodes would have considered that block invalid.
So when a soft fork happens it is important for every miner to update their nodes otherwise they can mine invalid blocks and the network will reject them...and they will lose money
reply
Ah okay, I see. I think that's also why we had miners signalling for taproot, right? It was a soft fork but as you explained it, miners still need to agree.
Thanks for the explanation!
Edit: Lol, just noticed they posted a video on https://taproot.watch/
reply