compact blocks makes your node use less bandwidth. it doesn't work properly when you ignore a lot of valid transactions in the mempool that are just going to be confirmed soon anyway. it works properly when your node's mempool policy mirrors the actual consensus rules. you are not protecting yoursel...