When you send a signed transaction to a node through its RPC, it gets added to the transaction pool without being fully verified (e.g. geth @ https://github.com/ethereum/go-ethereum/blob/9ada4a2e2c415e6b0b51c50e901336872e028872/internal/ethapi/api.go#L1689).

Isn't this a bad user experience as the dev submitting the signed transaction gets a transaction hash returned to them, even though this submitted transaction will eventually fail verification check in the miner nodes. E.g. I can prepare a transaction supposedly to be from address A, sign it with address B's private key, send it to a geth node, receive a transaction hash back, but never see that transaction in a block.

Why have multiple miners verify a transaction (before it gets added into a block) instead of the first node verify the transaction? (I understand you still want miners to verify all txs, I'm just talking about the "happy path" situation where the original node and miners are not malicious)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.