transacción extraña que se envía a uno mismo

vea algunos tx extraños llamando a direcciones propias, por ejemplo, las últimas 2 (la primera y la segunda tx en este bloque) transacciones, en https://etherscan.io/txs?block=6475251&p=2

Además, vea muchos txs de autollamadas en esta dirección: https://etherscan.io/txs?a=0xc9d81352fbdb0294b091e51d774a0652ef776d99 , el precio de la gasolina de estas autollamadas es bastante alto (~100Gwei), ¿algún motivo especial para hacer estos 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 ) , seguro que no es un novato.

No estoy seguro, pero creo que alguien que es nuevo en esto podría haberlos hecho por error. Probablemente estaban probando algún contrato en remix y no se dieron cuenta de que lo estaban desplegando en la red principal en lugar de una red de prueba o ropsten.
@RD gracias por su respuesta, consulte mis notas agregadas para ver por qué no creo que sea un error de novato.
Tienes razón. Y aquí es donde termina mi conocimiento, lo siento XD. Parece extraño que solo estén gastando gasolina por nada y que tampoco se transfieran éteres.

Respuestas (2)

Se trata de cancelar una transacción. Más precisamente, es una transacción de reemplazo de otra cosa que estaba en el grupo de transacciones pendientes.

Considere un caso en el que se envía una transacción con gasPriceun valor demasiado bajo para que un minero la incluya en un bloque. Dado que Ethereum garantiza que las transacciones de la misma billetera se extraerán en nonceorden, todo lo que se envíe desde esa cuenta se estancará detrás de la transacción que tiene un precio demasiado bajo.

Hay otras razones para un ardiente deseo de cancelar una transacción pendiente . Entonces, ¿cómo hacer eso?

Envíe otra transacción con la misma transacción con un nonceprecio inferior, desde la misma billetera, y esta vez fije un precio lo suficientemente alto como para extraerlo en un bloque rápidamente.

¿Cómo sería una transacción de reemplazo?

Podría repetir la carga útil original con un valor más alto gasPrice, pero si prefiere una cancelación general simple... no se envíe nada a sí mismo y espere la confirmación. En otras palabras, from: me, to: me, value: 0.

En caso de que no esté claro, este método no deshará las transacciones extraídas.

Espero eso ayude.

si, en cambio, utilicé lo mismo nonceque la transacción con un precio inferior, from: me, value: 0pero tenía to: them, ¿hay alguna diferencia funcional? Sigue siendo una cancelación, ¿verdad?
Sí. Es el txn de reemplazo pisando fuerte el original que cancela el original. El reemplazo se ejecuta. Puede ser una repetición del primero ("acelerar esta transacción") o un txn de "no hacer nada".

No estoy seguro, pero parece que alguien intenta duplicar el ataque de gasto. Para verlo revisé estas dos transacciones

Por qué pensé que era un ataque de doble gasto

  • Mismo nonce para ambas transacciones
  • El precio del gas se duplica para la segunda transacción.

Puede consultar https://medium.com/@jgm.orinoco/releasing-stuck-ethereum-transactions-1390149f297d para tener una mejor comprensión de gasPrice y nonce.

gracias, ¿puede explicar más sobre por qué puede gastar dos veces? No veo ningún valor (éter) enviado en estas dos transacciones.
No importa si msg.value es 0 o no. Si el atacante logra enviarlo con valor 0, también es posible enviarlo a través de n ETH. Es solo mi suposición de que es un ataque de doble gasto. Pero estoy 99.9% seguro de que es experimental.
según tengo entendido, el doble gasto solo es posible si la implementación de ethereum tiene un error, ¿verdad?