I finally read through this chatlog w/ comments from CSW that people have been talking about:
https://pastebin.com/gjsGpBb9.
The general claim is that SegWit will lead to miners not validating signatures at all. I don't see how the argument works. I'll try to summarize:
Traditional validationless mining apparently worked something like this:
(1) Get block header of the previous block
(2) Immediately start mining an empty block on the previous block header
(3) In parallel, download the entire previous block.
(4) When the previous block is downloaded, validate it.
(5) If you find a new (empty) block before you finish validating the previous one, publish it ASAP. If you finish validating before you find a new block, you can add transactions to the block you're working on.
Allegedly validationless mining with SegWit will look like:
(1) Get block header of the previous block
(2) Immediately start mining an empty block on the previous block header
(3) In parallel, first download the previous block without any signature data. This may be 1/4 the size of the entire block with signature data.
(4) Once you have the info from step 3, you can start adding in transactions to the block you're working on, because you know which outputs have already been spent.
(5) For some strange reason, never download and validate the signatures for the previous block.
Step 5 in the SegWit case is the questionable step. I don't see a good reason why miners wouldn't want to validate the signatures.
In the chat log, someone speculated that validating the signatures would make mining slower, but this isn't true. The ASIC is running a separate process on dedicated hardware, which isn't affected by efforts to download and validate the signatures.
Note that Greg Maxwell claims at
that with SegWit, nodes don't actually send around transactions stripped of the witness data. That would mean that step 3 is incorrect / impossible without modifying the network code. However, even if CSW is right and Greg is wrong about this, I still see no good reason why a miner wouldn't want to download and verify the full blocks as a separate step. It would likely take a few seconds, and it would protect them against mining on a chain that is rejected by users because of invalid signatures.
There is some talk in the chat logs about how if no one else is validating the signatures, then miners also have no reason to validate the signatures. However, I don't see the argument for why people would suddenly all decide to stop validating the signatures at the same time, coinciding with SegWit activation.
Fundamentally, the chain which users care more about will be more valuable. As long as users have some way to distinguish which chain is which (by running full nodes, or asking someone they trust who runs a full node), then they will be able to identify the chain that they care more about, and demand more coins on that chain, causing its price to be higher, and making it more profitable to mine on that chain. The reasoning in the chat log I linked to seems to assume that users no longer care whether signatures are valid, and stop running full nodes.
Again, not sure why people think users would suddenly stop caring about which chain is which.
If I misrepresented the argument, can someone fill in the details? The chat log was kind of cryptic and hard to follow.