Let's say I have a raw, signed transaction (which includes a set nonce, gas, gas price...).
I send it to Node A.
I send it to Node B.
I can distinguish 2 scenarios:
If Node B has heard about it from Node A, I assume it will just dedupe and return the same transaction hash (TXA) that was generated by Node A and it will be the same as if I only sent one.
If Node B has not heard about it from Node B, I assume it will create a new transaction with a different transaction hash (TXB).
Then the next block gets mined:
- If the miner only heard about TXA (or TXB), it puts it in the block. Then I assume TXB (or TXA) is discarded because it's nonce is invalid (already used)
- If the miner has heard about both TXA and TXB, then I assume miner arbitrarily chooses one, includes it, and discards the other?
Are my assumptions correct?
Is the sender penalized for doing this?