Among the strengths of bitcoin is that it mostly allows all actors to act in their own best interest. There are some actions however of which it is not so clear to me what is the direct incentive other than some kind of idealism.
Obviously it is in a miner's best interest to immediately broadcast a newfound block, or blocks that validate blocks mined by him.
Is there a direct incentive to broadcasting the whole blockchain though (i.e. operating a full node)? Likewise, is there a direct incentive to broadcast all transactions to other nodes immediately? Naively I would think that it could be advantageous to a miner if other miners don't have access to some high-fee transactions.
Of course, for both it is necessary that enough nodes do it for bitcoin to function smoothly, but I am interested in the incentive for an individual miner.