¿Qué es un ataque Finney?

El ataque Finney fué el primer ataque detectado en la red de Bitcoin. Este ataque afecta a monedas como el Bitcoin y derivadas de la misma. Su nombre se debe a la persona que lo detectó por primera vez, Hal Finney. Básicamente se trata de un tipo de ataque de doble gasto. En este artículo te contaremos todo sobre qué es un ataque Finney.

El ataque de doble gasto puede tener lugar en el momento en que un usuario acepta una transacción no confirmada en la red. No obstante, realizar un ataque de doble gasto no es fácil. Para ello un minero debe tener la capacidad de extraer el bloque específico donde se validará su transacción. A continuación veremos cómo se puede llevar a cabo este ataque.

¿Cómo funciona un ataque Finney?

Además de ser un minero capacitado se necesitan otros requisitos. Uno de ellos es un usuario que acepte una transacción con 0 confirmaciones en la red. El simple hecho de conseguir ambas condiciones ya es una tarea difícil. Una vez tenemos ambas partes ya podemos realizar el ataque, o por lo menos intentarlo.

Funciona de la siguiente forma. Primero el atacante envía una transacción a un usuario, pero antes de que se confirme el bloque utiliza las mismas monedas para enviar otra transacción a otro usuario. Una vez se envían las transacciones se comienza a minar el bloque en el que está incluida la transacción.

Cuando el minero logra extraer el bloque e incluir la transacción en él no lo envía a la red como de normal, sino que realiza una compra con la misma cantidad de monedas que envió en la primera transacción. De este modo logra gastar la misma cantidad de monedas dos veces. Posteriormente envía la transacción al segundo usuario con la esperanza de que este la acepte.

Si segundo usuario acepta la transacción sin estar confirmada, el atacante transmite el bloque a la red. De este modo se libera el bloque de la transacción inicial invalidando así  la transacción realizada al primer usuario permitiéndole al atacante realizar el doble gasto.

Los principales objetivos de estos ataques son los comerciantes que aceptan transacciones no confirmadas en la red instantáneamente.

¿Cómo evitar este ataque?

Existen formas de evitar estos ataques. A continuación veremos algunas de las recomendaciones para lograrlo:

Una forma de evitar estos ataques es esperar al menos seis confirmaciones en la red bitcoin para dar por irreversible una confirmación. Si la cantidad de dinero en la transacción es inferior a 100 € con una confirmación sería suficiente, ya que el coste del ataque sería superior a las ganancias lo cual lo hace no viable.

Es difícil que el atacante logre encontrar un comerciante que acepte la transacción a la vez que el bloque es minado. Lo más probable es que el comerciante solicite las verificaciones y el ataque no pueda llevarse a cabo.