¿Qué es el Ataque de Vector 76?

El Ataque de Vector 76, es un tipo de ataque de doble gasto que aprovecha un pequeño error en el sistema de consenso de Bitcoin para ejecutarse. Como resultado de esto, el atacante puede hacerse de fondos de forma maliciosa y generar pérdidas a sus víctimas.

Todas las tecnologías desarrolladas, incluida la blockchain, cuentan con vectores de ataque que los ciberdelincuentes pueden aprovechar para su propio beneficio. En el mundo criptográfico, uno de los ataques menos conocidos es el Vector 76 Attack o Ataque de Vector 76.

La llegada de las monedas digitales y las criptomonedas trajo consigo un grave problema, el doble gasto. En monedas digitales centralizadas, este problema se resuelve fácilmente al estar todo el control en un mismo núcleo. Pero en las monedas descentralizadas como Bitcoin, el problema es mucho mayor. De hecho, el diseño de Bitcoin consigue minimizar el problema del doble gasto. Incluso, podemos decir que lo “elimina”, pero debido a la naturaleza descentralizada de Bitcoin, siempre existirá algún punto de fallo que puede usarse para realizar un doble gasto.

Es allí donde el Ataque de Vector 76 o Ataque de Confirmación, entra en acción. Este ataque de doble gasto permite que el atacante pueda incluir una transacción con un doble gasto en un bloque y usarla para su beneficio. Esto lo logra, al enviar un bloque autoconstruido para que la red le de una confirmación pensando que el bloque es válido. De esta forma, el atacante puede hacerse con una cierta cantidad de fondos antes de que la red pueda darse cuenta del problema. Este ataque fue descrito por primera vez por el usuario vector76 en el foro de Bitcointalk.

Pero, para entender la naturaleza de este ataque es necesario profundizar la forma en cómo funciona, y eso es lo que haremos a continuación.

¿Cómo funciona el Ataque de Vector 76?

Este ataque es en realidad una combinación entre el Ataque de Carrera y el Ataque Finney. Su objetivo principal son los intercambios o casas de intercambio, donde los atacantes pueden comprar y vender, sus criptomonedas y tokens sin ser detectados rápidamente.

Pero ¿Cómo es posible esto? Pues bien examinemos un poco más de cerca la anatomía de este ataque.

¿Cómo se ejecuta este ataque?

Un Ataque de Vector 76 es ejecutable cuando un minero deshonesto, que tiene el control sobre 2 nodos completos de la red, conecta uno de estos (nodo A) directamente con el servicio de un exchange. Luego, el segundo nodo completo (nodo B), lo interconecta con otros nodos que están bien posicionados dentro de la red de la blockchain. Para conocer a nodos adecuados debe conectar, el minero debe vigilar el instante en que los nodos transmiten las transacciones, y cómo estos luego las propagan a los demás nodos en la red. Así, podrá conocer qué nodos son los primeros en transmitir las operaciones y podrá conectarse con el servicio objetivo y con nodos bien posicionados.

Luego de que establezca las conexiones necesarias, el minero genera un bloque válido de forma privada. En ese momento, crea un par de transacciones, los cuales valores tendrán distintos, siendo una transacción de alto valor y otra de bajo valor. Por ejemplo, la primera transacción puede ser de 25 BTC o más, y la segunda de tan solo 0,1 BTC. Posteriormente, el minero mantiene retenido el bloque minado y asigna al nodo A la transacción de alto valor, es decir la de 25 BTC. Esta será la transacción que será dirigida para realizar un depósito dentro del servicio del intercambio.

Cuando el minero detecta un anuncio de bloque en la red, transmite de forma inmediata el bloque preminado por él, directamente hacia el servicio de intercambio, junto al bloque generado recientemente en la red. Esto con la esperanza de que el resto de los nodos se consideren a su bloque como válido y los asuman como parte de la cadena principal. Así, dicho bloque quedará confirmado, y por tanto, se valida la transacción de 25 BTC que está incluida en él.

Una vez que el servicio del exchange confirma la transacción de 25 BTC, el atacante realiza un retiro del exchange por la misma cantidad de criptomonedas que depositó en la transacción anterior (25 BTC). Luego, el atacante envía la segunda transacción creada, la de 0.1 BTC, a la red desde el nodo B. Con el objetivo de crear una bifurcación que haga que la red rechace e invalide la primera transacción. Si esta bifurcación sobrevive, la primera transacción con el depósito de 25 BTC quedará invalidada, pero el retiro si se realizará. Por lo tanto, el atacante habrá tenido éxito y el intercambio perderá 25 BTC.

Probabilidad de exito del ataque

Todos estos procesos ocurren de forma inmediata y simultánea, por lo que es muy probable que las transacciones de 0.1 BTC sean tomadas como la cadena principal. Pero, un par de bloques después, la transacción de depósito con 25 BTC quede invalidada. Esto debido a que el nodo B, que transmite la transacción de 0.1 BTC, está conectado a nodos bien posicionados que retransmitirán esa transacción de forma mucho más rápida en la red. Mientras que el nodo A, que contiene la transacción depósito de 25 BTC, está conectado directamente sólo con el servicio del intercambio. Este nodo, tendrá que retransmitir dichas transacciones a otros nodos, por lo que es mucho más lento que el nodo B.

En caso contrario, en el que el bloque acepte en la cadena principal contenga la transacción de 25 BTC, el atacante sólo retirará los 25 BTC que depositó en el exchange. Por lo que, el Ataque de Vector 76 no tendrá éxito. Aún así, en este escenario no hay pérdidas ni ganancias, ni para el atacante ni para el intercambio.

Explicado esto, se puede detectar que existe una alta probabilidad de éxito en la ejecución de este tipo de ataque. Pero, aún así, no es común realizarlo debido a que se requiere de un intercambio que acepte realizar los pagos de retiro después de tan solo una confirmación, y la gran mayoría de los intercambios suelen requerir de 2 a 6 confirmaciones.

No obstante, también un negocio que ofrece bienes o servicios digitales podría ser víctima de este tipo de ataque.

¿Cómo protegerse de un ataque de Vector 76?

Para protegerse de este tipo de ataques se debe tener en cuenta algunas recomendaciones:

  • Usar sistemas que no acepten transacciones con una sola confirmación. El Ataque de Vector 76 requiere que esto sea posible para llevar a cabo el ataque con éxito. En su lugar, lo mínimo que deberíamos esperar es tener 2 confirmaciones, o incluso 6, como se recomienda ampliamente.
  • El nodo que usemos debe evitar tener habilitadas las conexiones entrantes, o en su defecto, definir conexiones entrantes desde equipos bien reconocidos. Esto evita que el atacante pueda inyectar información falsa sobre la cadena de bloques a nuestro nodo.
  • Las conexiones salientes del nodo también deben ser monitoreadas y solo permiten a nodos bien conocidos. Con esto se evita que nuestros nodos puedan dar información sobre el estado de la cadena que manejamos.

Con estas medidas podemos protegernos de este tipo de ataque sin problemas mayores.

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum