2

see some weird txs calling self addresses, for example, the last 2(the first and second tx in this block) transactions, at https://etherscan.io/txs?block=6475251&p=2

also, see a lot of self call txs at this address: https://etherscan.io/txs?a=0xc9d81352fbdb0294b091e51d774a0652ef776d99, the gas price of these self calls are pretty high(~100Gwei), any special reason to make these txs?

Note: I don't think it's txs made by some newbie mistakes cuz I see this address (0xc533a4e3350deecaa0bf0fcba92d4a6138013b18) made a lot of self call txs too, this address arbitrage using smart contract(https://etherscan.io/tx/0x3be6f56a9a74b003c170fa7cc0736e7ae92df271e40a2f3100aeb4ee3705d8ca), sure thing that it's not a newbie.

  • Not sure but I think those might have been made by mistake by someone who is new to this. Probably they were testing some contract on remix and didn't realize that they were deploying it on the main net instead of a test net or ropsten – R.D Oct 8 '18 at 9:14
  • @R.D thanks for your reply, check out my added notes to see why I don't think it's a newbie mistake. – DiveInto Oct 8 '18 at 9:24
  • You're right. And this is where my knowledge ends, sorry XD. It does seem weird that they are just spending gas for nothing and no ethers are being transferred either. – R.D Oct 8 '18 at 9:41
2

It's about canceling a transaction. More precisely, it's a replacement transaction for something else that was in the pending transaction pool.

Consider a case where a transaction is sent with gasPrice set too low for a miner to include it a block. Given that Ethereum ensures that transactions from the same wallet will be mined in nonce order, everything sent from that account will stall behind the transaction that is priced too low.

There are other reasons for a burning desire to cancel a pending transaction. So, how to do that?

Send another transaction with the same nonce as the underpriced transaction, from the same wallet, and this time price it high enough to be mined into a block quickly.

What would a replacement transaction look like?

You could repeat the original payload with a higher gasPrice, but if you would prefer a simple general-purpose cancelation ... send nothing to yourself and wait for confirmation. In other words, from: me, to: me, value: 0.

In case it isn't clear, this method will not undo mined transactions.

Hope it helps.

1

I am not sure but it seems like someone try to double spend attack. To see it I checked these two transactions

Why I thought it's a double spend attack

  • Same nonce for both transactions
  • Gas price is doubled for the second transaction

You may check https://medium.com/@jgm.orinoco/releasing-stuck-ethereum-transactions-1390149f297d to have better understanding of gasPrice and nonce.

  • thanks, can you explain more on why it may cuz double spend? I see no value(ether) send in these two transactions. – DiveInto Oct 8 '18 at 9:30
  • It does not matter whether msg.value is 0 or not. If the attacker manages to submit it with 0 value it's also possible to submit it via n ETH. It's just my assumption that it is double spend attack. But I am 99.9% sure it is experimental. – Mehmet Doğan Oct 8 '18 at 9:55
  • in my understanding, double spending is only possible if ethereum's implementation has bug, right? – DiveInto Oct 8 '18 at 10:02

Your Answer

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

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