I have been trying to wrap my head around some core concepts of how a blockchain works and something has been bothering me for a while.
Let's consider a case where I am running a full node of a blockchain (either PoW or PoS chain). Now I am aware that a transaction relayed to my node is verified before it gets added to my node's mempool and again when it has to be added to a block. Now, let's assume that I am going to be the next block winner (I know that it is highly unpredictable), my question is as simple as, what is stopping me from taking out a transaction from the mempool (preferably one with a high amount), modifying it's vout (for e.g. replacing it with my scriptPubKey and keeping the vin intact), and accepting it in my block?