Durante el lanzamiento de la red fronteriza, se advirtió a los usuarios que no reutilizaran las claves de la red de prueba olímpica para evitar "ataques de repetición". ¿Qué es un ataque de repetición y por qué la reutilización de una clave de la red de prueba hace que alguien sea vulnerable a uno?
Un ataque de repetición es una transmisión de datos válida que se repite o retrasa de forma malintencionada o fraudulenta.
Extendiendo esto a las cadenas de bloques, un ataque de repetición toma una transacción en una cadena de bloques y la repite de manera maliciosa o fraudulenta en otra cadena de bloques.
Por ejemplo, un atacante toma la transacción de la red de prueba de alguien y la repite en la cadena de bloques "real" para robar fondos "reales".
Como comentó @libertylocked, se implementó la protección contra ataques de repetición simple EIP 155 .
En Bitcoin, las direcciones en testnet usan un prefijo diferente de las direcciones en mainnet: por lo tanto, las claves son diferentes.
En Ethereum, actualmente no hay "prefijos". (Probablemente hecho para simplificar la creación de nuevas direcciones). Por lo tanto, una transacción firmada por una clave, que es válida en una red/cadena de Ethereum, es válida para todas las cadenas de Ethereum.
Esto significa que si en la "prueba", los fondos se envían desde la cuenta B a la cuenta Prueba, esa misma transacción se puede reproducir (transmitir) a la cadena de bloques pública de Ethereum: un ataque de repetición. El ataque de repetición "tendrá éxito" si la cuenta B tiene fondos en la cadena de bloques pública. Para tener éxito por completo, un atacante necesitaría conocer la clave privada de accountTest para robar los fondos, pero dado que accountTest se creó para realizar pruebas, es posible que su clave privada no sea segura (tal vez sea solo un "brainwallet" con la contraseña "test" ).
Los ataques de repetición se eliminan mediante el uso de diferentes direcciones/claves entre la red fronteriza y todas las demás cadenas de Ethereum. (Un poco como usar una contraseña diferente para cosas valiosas, de sitios web menos valiosos o menos confiables). Consulte también: ¿Cómo evitar un ataque de repetición entre dos cadenas competidoras? y como se señaló en el comentario de @libertylocked, se implementó la protección contra ataques de repetición simple EIP 155 .
Significa que una transacción que era válida en la red de prueba olímpica seguía siendo válida para el próximo lanzamiento (Frontier).
Si realizó una transacción T en Olympic que envía Ether desde la dirección A a B, y luego reutiliza la clave detrás de la dirección A en el lanzamiento de Frontier, esa transacción T podría transmitirse nuevamente (reproducirse) y la transferencia de A a B ocurriría en Frontier, incluso si usted (propietario de A) no tenía la intención de hacerlo.
Por eso se pidió a la gente que no reutilizara las llaves.
Para evitar el ataque de reproducción, utilice los tipos de transacción EIP155 que están disponibles desde el bloque 2675000. Se incorporan chainID
a la firma de la transacción. Asegúrese de que el software de su billetera esté habilitado para EIP155 y estará seguro
Tomas Clowes
Talla
ética
ética
libertad bloqueada
CHAIN_ID
como parte del byte de recuperación al verificar la firma de la transacción. Por lo tanto, las transacciones enviadas en una red no tendrán la firma correcta en otra ID de cadena