Sender, nodes or miners? Who validates transactions? I have been reading a lot about the validation of transactions. I understand the actual method in which a transaction is composed (inputs and outputs). However, I don't know what happens with that transaction once its "ready":


Do miners check it before including it in a block?
Do other nodes check it and where there is a certain consensuous miners include it into a block? Who composes the blocks then? Are all miners trying to solve the same block at the same time or different blocks?


Thanks in advance
Other nodes check if the transaction is valid, and if it is, they relay the transaction to other nodes. Mining pools have also (at least one) nodes, they verify it too, and if it's valid and the fee is enough, they put it in the block they're working on.
Do miners check it before including it in a block?

Yep. If they include an invalid transaction, the other nodes will not accept that block, and that miner won't earn the block reward for that block. (currently 125k dollars!)

Do other nodes check it and where there is a certain consensuous miners include it into a block

Yes.

Who composes the blocks then?

Miners.

Are all miners trying to solve the same block at the same time or different blocks?

They are trying to find a block with the same height, but with different transactions, different nonces (a random number - related to block hash and difficulty) and different block reward addresses.