0

For example, userA submitted transactionX (ex: which send 10 ether to minerM), and this is deployed via minerM on the block #100.

If mineM is an attacker, and it is consecutively elected as a leader on block #101, 102 ...

From the example above, attacker realizes that transactionX sends money to itself and want to re-deploy same transaction on a new block.

Can minerM or any other miner re-deploy the transactionX again, even the userA didn't submit it on the second time?

I know it is now possible but:

[Q] How Ethereum-Virtual-Machine prevents miners to sent the same transaction, as accepted, more than once in different blocks?

1 Answer 1

2

Each Ethereum address has a counter which tracks how many transactions it has sent. This is called the nonce. The nonce is sent along with every new transaction. The same combination of source address and nonce cannot be used multiple times, which is why the attack you described is not possible.

6
  • Can an attacker just change(increment it as one) the 'nonce' and create a updated Tx? @Jesse Busman
    – alper
    Commented Dec 17, 2017 at 10:49
  • 1
    @Alper No, because changing the transaction contents would invalidate the digital signature. The sender of a transaction signs it with their private key. The signature is dependent on the transaction.
    – Jesbus
    Commented Dec 17, 2017 at 10:54
  • This is not exactly related: from a signed transaction, how could a miner or EVM obtain the original rawTransaction that contains nonce, gasPrice, gasLimit, to, value and data ? @Jesse Busman
    – alper
    Commented Dec 17, 2017 at 11:11
  • @Alper I'm not really sure what you mean. A raw transaction contains all that data unencrypted. Obtaining them is very trivial.
    – Jesbus
    Commented Dec 17, 2017 at 11:13
  • 1
    @Alper The signed transaction is basically just the raw transaction together with the signature. The raw transaction is physically part of the signed transaction, so obtaining that data is trivial. Terminology gets a bit mixed up, something the signed transaction is called the raw transaction. The point is, the data you asked about is physically present, unencrypted, inside both the raw transaction and signed transaction.
    – Jesbus
    Commented Dec 17, 2017 at 11:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.