This specific client would only be useful as wallet, as it contains modified blocks which other nodes would reject when it broadcasts them.
It would not broadcast them. It would claim not to have them, just like a pruned node would (it could perhaps share the block as long as it knew that the node it was sharing with was also also not storing this data).
If someone install a new orignal full node and ask for blocks to download the blockchain from beginning, this specific client would not be able to serve this as it would get blocked by the other node whenever the cencsored block is transmitted.
It would be able to supply ALL the OTHER blocks. It would simply report that it does not have those specific blocks (just like a pruned node would). Full nodes download from multiple sources, so if someone wanted to run a node that had ALL the blocks, then they would need to get these restricted blocks from some other node.
The comparison with pruned nodes is not good.
True. A typical pruned node is missing MANY blocks. This node would only be missing a few.
First these nodes do not hold any invalid (censored) transactions or blocks.
And neither does this special client.
And second, like this specific client, they cannot broadcast all blocks to the network, they only forward new received blocks and can maybe send the blocks which are not pruned.
Exactly. Which is why I used the analogy. Think of it as a special form of pruned node where the ONLY data that is pruned is the specifically identified undesired data.
If the whole bitcoin network would only consist of pruned nodes, it would not be possible to install a new full node as no one has a full copy of the blockchain any more.
Which is why this special node is better than normal pruning. IF the whole network would consist of only these special nodes, then it WOULD still be possible to install a new special node. Nodes that didn't have this special code wouldn't be needed any longer.
Even for pruned nodes, first the complete blockchain need to be downloaded and validated, only then the already spent transacations will get deleted and only the unspendet transaction will be kept on disk to save space.
Pruned nodes purge BOTH spent AND unspent transactions from the blockchain. They only store the unspent transactions in the UTXO. This special node would also download and validate the complete blockchain, with the one exception that it would have coded into the software what the "bad blocks" are and to avoid downloading specific data from those blocks. Then it woudl still validate, it would just validate with code that knows what to expect of the missing data.
I'm just thinking of any reason why anybody would want to install such a specific client which censors some transactions.
To avoid going to jail for storing illegal images on their hard drive or distributing those images to others?
Only people who don't want to have those things on their PC would install it.
Correct.
But wouldn't it in this case just be not enough that those people don't look at these transactions?
That depends on what jurisdiction you live in. In many jurisdictions simply having the images or distributing the images to others can result in SEVERE penalties (significant fines, jail time, permanent public registration as a sexual offender, limitations on employment and residence, etc).
Nearly no normal user is searching the local copy of the blockchain for transactions like this. Most people just don't know that such transactions exists. And even if they would know it, again most of these people would not be able to find such transactions and extract any image files out of the blockchain.
That may, or may not, matter to your local law enforcement (depending on where you live and what your history is with local law enforcement).
So you would need someone who know that such transactions with hidden images exists.
It's been publicly reported.
In case you have somebody who really want to do this, then he would not download this specific client but the original one.
That means that law enforcement agents can claim that by the very nature of having the original client you "really want to do this". Perhaps it is better to have the special client so you can prove that you have no intention of storing or distributing such data.
Or maybe much easier just get the transactions from blockchain.info or something similar.
Perhaps. Either way, it will be MUCH SAFER for many people to have the special client as an OPTION that they can choose if they want to.
These are just my thoughs why it would be useless to invest time in creating such a client.
Perhaps I will waste my time then. If I do it as an open source project, I suspect others will be willing to waste their time too.
The people who don't like these things will not try to find it even if it is somewhere saved on their local copy of the blockchain,
But might be concerned about their safety and freedom if they run the original client, and therefore will not run any client at all.
and the other people (I think there will not be much people at all) who want to get those stuff will not use this client.
And perhaps will be prosecuted for that decision.