pull down to refresh
Thank you for your answer!
Watching the video I was indeed under the impression that it mainly came from a misunderstanding around how SegWit works. Here the video shows a capture from a talk by Peter Rizun where the worlds "extension block" are mentioned. I was not there at the time but I think it was a common misconception regarding SegWit.
The central misconception to a lot of the segwit FUD was that the witness data of all transactions in a block would be some sort of optional second data package next to the block (like an extension block). Once you understand that segwit transactions include their witness data, and the witness data is not actually separate from the block or transaction, most of these mischaracterizations dispel themselves.
You are correct.
Full nodes only forward blocks they have finished validating. Generally, modern nodes use Compact Block Relay, instead of transferring the full block, they will only send a list of the included transactions and the transactions that they think the peer would not have. Especially, this means that they must send the coinbase transaction, since the coinbase is only created by the miner when they author the block. The receiving node usually has most of the transaction data already (including witness data, which is just part of the transactions). Any missing transactions need to be provided in full (including witness data) for the block to be validated. So, it’s not clear to me how a node would even send a block without witness data to a segwit node for this attack to be feasible.
Assuming a node could send a block “without witness data”, the receiver would not be able to validate it, and not forward anything. They would still consider the previous block to be the chaintip.
A block without witness data could propagate among non-segwit nodes, because they only process the stripped block. Luckily, since Bitcoin Core has had segwit support since v0.13, there are hardly any nodes that don’t understand segwit: Bitnodes shows that 98.27% of all nodes report the
NODE_WITNESSservice flag.https://i.imgur.com/AQCyJCF.png
Among listening nodes it’s 99.4% (15429 of 15517), and it appears that the nodes operated by miners also generally support segwit—the last block that had more than one transaction and did not include segwit transactions was mined in 2020:
https://i.imgur.com/OtTGquD.png
So, while I have not watched the linked video, I suspect that the conclusions are based on misunderstandings of how segwit is implemented in general and how segwit nodes propagate information specifically. Given that the whole attack doesn’t make any sense, I don’t see how segwit would enable a selfish mining attack.