¿No son todos los contratos que aceptan valor y se implementan después del HF fatalmente vulnerables a los ataques de repetición?

Digamos que implemento un contrato con una función simple que acepta algún valor y lo implemento en la cadena bifurcada. El contrato terminará en una dirección impredecible U. Luego, las personas comienzan a enviar algunas transacciones con valor ETH al contrato, llamando a la función al mismo tiempo. Todo muy bien.

Pero todas estas transacciones entrantes se pueden reproducir, y probablemente de hecho se reproduzcan, en la cadena ETC (siempre que haya un saldo de ETC en la dirección del remitente, lo que puede suceder en cualquier momento en el futuro, por ejemplo, por algún tercero que envíe fondos accidentalmente allí) . El problema aquí es que en la cadena ETC, no hay ningún contrato en la dirección U (incluso si implemento el mismo contrato en esta cadena, terminará en otra dirección), por lo que la dirección U se trata como una cuenta controlada externamente, por lo que el valor se transferirá y no se llamará a ninguna función (parece que el campo de datos en la transacción se ignora para las transacciones a cuentas controladas externamente). Entonces, el valor de ETC se fue al vacío y no es recuperable.

¿Es esto cierto o me estoy equivocando en algo? Parece que esto podría suceder muy a menudo.

No digo que esto pueda conducir a formas obvias de pérdida de valor, pero podría ser un vector de ataque potencial, o simplemente crear un lío.

Respuestas (1)

La respuesta es no. La dirección del contrato se crea de manera determinista, por ejemplo. si la transacción de implementación del contrato se reproduce en la otra cadena, el contrato tendrá la misma dirección U en ambas cadenas.

No realmente porque el nonce (siempre) no será el mismo. Entonces, determinista, sí, pero no idéntico para ambas cadenas.
La dirección de @bortzmeyer será la misma si se repite el tx (como en los ataques de repetición). También será lo mismo si nos aseguramos de que la dirección de implementación y su nonce sean los mismos.