¿Qué es un ataque de Finney? Puntos extra por explicar su propósito, los requisitos previos para que sea posible, cómo se puede realizar el ataque y el origen del nombre "Finney attack".
El ataque de Finney lleva el nombre de Hal Finney , quien lo sugirió en este comentario . (Hal resulta ser el primer destinatario de una transacción de Bitcoin y la primera persona en comentar sobre el lanzamiento del código fuente de Bitcoin).
Es un ataque de doble gasto con las siguientes características:
Solo funciona si el comerciante acepta transacciones no confirmadas.
Sin embargo, aún funciona si el comerciante espera unos segundos para verificar que todos en la red estén de acuerdo en que se le pagó.
Requiere que el atacante extraiga y controle el contenido de sus bloques; sin embargo, en teoría puede hacer esto con cualquier hashrate, en particular significativamente menos del 50% del hashrate de la red.
Se procede de la siguiente manera:
El atacante mina bloques normalmente; en el bloque que está tratando de encontrar, incluye una transacción que le devuelve algunas de sus monedas, sin transmitir esta transacción.
Cuando encuentra un bloque, no lo transmite; en cambio, envía las mismas monedas a un comerciante por algún bien o servicio.
Después de que los comerciantes aceptan el pago y brindan el servicio de manera irreversible, el atacante transmite su bloqueo; la transacción que se envía las monedas a sí mismo, incluidas en este bloque, anulará el pago no confirmado al comerciante.
Si el tiempo desde que encuentra el bloque hasta que el atacante envía el pago y el comerciante lo acepta es t, y el tiempo promedio para encontrar un bloque es T, existe una probabilidad de t/T de que se encuentre otro bloque en la red en este tiempo; en este caso, el ataque fallará y el atacante perderá la recompensa en bloque de B.
Esto significa que el coste medio de intentar el ataque es de (t/T) * B; como regla general, el comerciante debe esperar al menos t=V*T/B (V es el valor de la transacción), para asegurarse de que intentar llevar a cabo este ataque contra él no sea rentable; Sin embargo, esto puede no ser suficiente, ya que un atacante ágil puede usar el mismo bloque para múltiples ataques, ganando potencialmente el total de su valor.
Claramente, cuanto menor es el hashrate del atacante, menos oportunidades tiene para realizar el ataque. Si el ataque es para obtener algún bien ilíquido, es difícil hacer coincidir la necesidad de ese bien con la búsqueda de un bloque. Si el ataque es para obtener algo líquido (por ejemplo, intercambiar bitcoins por otro dinero), la oportunidad está siempre presente, pero es probable que el comerciante requiera algunas confirmaciones. Esto hace que el ataque sea difícil de usar en la práctica.
El ataque Finney es una variación de un ataque de doble gasto. El atacante crea dos transacciones: una que acredita a la víctima y otra que se acredita a sí mismo. Mantienen la primera transacción por ahora y proceden a intentar extraer la segunda en un bloque. Cuando tienen éxito (esto puede tomar un tiempo), rápidamente hacen una compra con la primera transacción, obtienen los bienes que compraron y luego liberan el bloque preminado. De esta forma, la primera transacción quedará invalidada, incluso si se propaga por toda la red.
Esta variante del ataque de doble gasto es más difícil de ejecutar (minar un bloque por uno mismo no ha sido fácil durante mucho tiempo), pero es indetectable hasta que se ha ejecutado por completo. La única forma de protegerse contra un ataque de este tipo es exigir al menos una confirmación de la transacción antes de entregar los bienes comprados y exigir más confirmaciones para las transacciones que valen más.
marcapasos
elpiachu
marcapasos
elpiachu
marcapasos
elpiachu
hqt
elpiachu
hqt
exactly that same 3 coins
(parece que cada moneda tiene algo similar como id). ¿Podemos controlar esta acción? Graciaselpiachu
Suraj jainista
elpiachu
Suraj jainista
elpiachu
Suraj jainista
Suraj jainista