Firstly let me tell you (very abstractly), how I understood the consenous. If I am wrong, please correct me.
Out there are many miners and each one receive a lot of different transactions, that have to be validated. The one who is faster put all his by others verified transactions into a block.
What if for example my transaction lands by a miner, whose computing power very low is and he will be never able to put my transaction into a block?
Thanks abd best regards
Your transaction does not end in the mempool of the node of one miner... It is broadcasted troughout the network and ends up in the mempool of the nodes of allmost all miners (if the transaction is valid and the fee is high enough to pass the minimum relay fee). This means that if your transaction had a sufficiently high fee and was valid, it should have been in the mempool of the node of whatever miner mines the next block...
It IS possible your transaction never ends up in a block if you were messing with your transaction and it's double-spending unspent outputs that are already used in another (potentially unconfirmed) transaction (unless the rbf flag is set) or if you cheap out on the fee and give no incentive to the miners to add your transaction into the block they're trying to solve (tx's get pruned from the mempool of most nodes after x days, or if the mempool size gets bigger than x mb... Each node can set these variables themselfs) or if it's invalid because of other (not so common) reasons.
That being said, your transaction not getting confirmed is not really the basic defenition of consensus rules... Unless your transaction is rejected BECAUSE it violated the consensus rules offcourse (but this is very uncommon, usually a transaction remains unconfirmed because the fee was to low, or because it was using an unspent output that has been double spent).