Una de las grandes características de las criptomonedas es la capacidad de realizar una transacción irreversible, transacciones que tienen la imposibilidad de volverse atrás una vez realizadas. Pero ¿Qué significa esta característica para los usuarios?. Y más importante aún ¿Qué nivel de seguridad garantiza a todos quienes usen este sistema?. Pues bien, todo eso y mucho más podrás saberlo en este interesante artículo.
Si ya estás algo familiarizado con el mundo de las criptomonedas, tal vez ya conozcas una de las características más importante en ellas, estamos hablando de la transacción irreversible. Esto significa que, por regla general, no hay forma de volver atrás una transacción, no puedes llamar a ninguna autoridad, ni a la policía para que anulen una transacción ya confirmada.
Pero seguramente te preguntas, ¿Cómo es esto posible?, y ¿Es interesante un sistema sin posibilidad de anular transacciones?. A esta y a algunas preguntas más daremos respuesta en este articulo. Como sabemos, cada vez que se realiza una transacción de criptomonedas esta se transmite a la red de mineros. Ellos son los que se encargarán de validarla y para ello tomarán nuestra transacción junto a otras y las agregarán en un bloque. Una vez que se genera y valida el bloque, se puede decir que la transacción ha sido confirmada.
Adicionalmente, este proceso se va repitiendo a medida que nuevos bloques son generados y agregados al historial verificado de la blockchain. Es más, cada nuevo bloque creado es una nueva confirmación que reciben las transacciones anteriormente confirmadas. Es precisamente este proceso incremental de confirmaciones, y el cómo está estructurada la blockchain, lo que posibilita que las transacciones sean irreversibles.
Pero una transacción con una sola confirmación, puede ser revertida si se tiene el poder computacional necesario para ello. Entonces ¿Cuántas confirmaciones he de esperar para considerar una transacción irreversible?. Por ejemplo, en el caso de Bitcoin, se recomienda esperar de 5 a 6 confirmaciones para dar por segura una transacción. Una vez alcanzado este punto, podemos decir que la red Bitcoin ha validado de forma irreversible nuestra transacción. Otras criptomonedas también tienen un proceso parecido, como el caso de Ethereum donde se recomienda esperar a las 20 confirmaciones para asegurarnos de la irreversibilidad de la transacción que hemos hecho.
¿Por qué son irreversibles las transacciones?
Si le damos un vistazo a algunos artículos relacionados con el desarrollo del dinero electrónico descentralizado, podemos darnos cuenta de que una de las mayores problemáticas que se presentaba era el doble gasto. Este es un tipo de ataque donde las personas podían hacer uso y gastar la misma cantidad de dinero en más de una ocasión.
La creación del Bitcoin significó todo un reto para evitar este tipo de ataques debido a que es dinero digital. Para evitar este ataque Satoshi Nakamoto desarrollo varios esquemas de protección creando la blockchain, que gracias a elementos como la prueba de trabajo o la dificultad dinámica de la prueba, daban este resultado.
Nakamoto explicaba que si bien podrían existir ciertos ataques que podrían sobrepasar la seguridad de la blockchain de Bitcoin, el hecho de esperar a una serie de confirmaciones por parte de la red daría plena seguridad de que la transacción no pueda ser revertida.
La idea de esperar a más confirmaciones para asegurarse la irreversibilidad de una transacción se hizo más patente con el descubrimiento de ciertos ataques. A continuación te explicaremos algunos de ellos, como funcionan y la forma en cómo protegernos de los mismo.
Tipos de Ataques contra la irreversibilidad de las transacciones
Ataque de Carrera (Race Attack)
Cuando realizamos o recibimos una transacción en Bitcoin con 0 número de confirmaciones, la operación aún puede ser revertida. Este ataque ocurre cuando se realizan dos transacciones partiendo de los mismos fondos, es decir, se envía la misma cantidad de dinero a dos personas distintas. Pero sólo una de ellas recibirá los fondos, mientras que la otra no.
Por ejemplo el atacante puede enviar 2 transacciones, una para ti y otra para él, y en la que va para el poner mayor comisión para los mineros. Normalmente los mineros priorizarán la transacción con mayor comisión, invalidando la otra.
Para protegerse y reducir el riesgo de sufrir este tipo de fraudes, los usuarios y comerciantes pueden optar por deshabilitar las conexiones entrantes y sólo elegir conexiones salientes específicas. Aunque esa medida no elimine el riesgo por completo, si puede disminuir la posibilidad de ser objeto de uno. De esta forma, se puede proteger el hecho de que sea transacción irreversible.
Ataque de Finney (Finney Attack)
Este es otro tipo de ataque al que podemos estar expuestos si se aceptan transacciones sin confirmar. Aunque el ataque de Finney, por su complejidad, es bastante costoso y difícil de realizar y debe ser ejecutado por un minero una vez se genere un nuevo bloque. Ya que este debe agregar transacciones repetidas de forma continua al bloque. Sin embargo, al igual que con el ataque de carrera, los usuarios y comerciantes deben considerar el riesgo de aceptar pagos con transacciones aún sin confirmar. De allí, otra vez la importancia de aceptar transacciones con 6 o más confirmaciones para verlas como una transaccion irreversible.
Ataque de Vector 76
También conocido como ataque de confirmación, este consiste en la combinación del ataque de carrera y del ataque Finney, donde el ejecutor aún puede revertir una transacción con una sola confirmación. Y así utilizar los fondos en dos ocasiones. Aunque los usuarios y comerciantes pueden reducir el riesgo de sufrir este ataque con las mismas medidas explicadas en el ataque de carrera. Deshabilitando las conexiones entrantes y utilizando sólo conexiones salientes específicas, además de considerar un pago seguro aquel con 5 o 6 confirmaciones.
Ataque por Fuerza Bruta
Este ataque puede ser ejecutado aún cuando el receptor ha decidido esperar una cierta cantidad de confirmaciones. Consiste en que un atacante realiza una transacción a un usuario como pago de un producto. Y simultáneamente busca una variación de la blockchain donde incluir la transacción fraudulenta. Luego de que el receptor recibe una cierta cantidad de confirmaciones sobre la transacción recibida, envía el producto. Y si en ese punto el atacante ha recibido más confirmaciones que el comerciante, rompe la variación de la blockchain y recupera sus fondos.
Es importante señalar que la ejecución de este ataque es sumamente costosa, y su posibilidad de éxito es bastante baja si no se cuenta con suficiente velocidad y potencia de hash. Por lo que sólo es posible llevar a cabo el ataque en un plano teórico.
Ataque del 51% (mayoritario)
El famoso ataque del 51%, consiste en que una persona o una coalición logre hacerse con el 51% (más del 50%) del poder de hash de la red. Con lo que lograría controlarla. Así, por ejemplo, llevar a cabo un ataque de fuerza bruta sería 100% factible.
Esto debido a que el atacante tendría el control sobre la red y podría generar bloques con mayor frecuencia que el resto. Preservando su variación de la blockchain hasta que ésta sea más larga que la original. Aunque teóricamente existe la posibilidad, en la práctica muchos opinan que en Bitcoin es prácticamente imposible ejecutar este tipo de ataque a día de hoy.
¿Cómo se logra que una transacción sea irreversible?
Una vez que las transacciones son añadidas dentro de un bloque válido en la blockchain, ésta se actualiza y refleja los nuevos datos. Así, los datos añadidos quedan relacionados y vinculados matemáticamente a los registros anteriores integrados en la blockchain, por lo que no pueden ser modificados.
Además, las criptomonedas al ser un sistema descentralizado, no cuentan con un ente central que las opere, controle y verifique. Sino que emplea un consenso entre todos los nodos conectados que se guían por un mismo protocolo y una Prueba de Trabajo (PoW). Así, cualquier modificación realizada, será detectada por todos los demás nodos conectados y rechazada de forma inmediata.
La tecnología blockchain también opera bajo un conjunto de algoritmos que permiten garantizar que el registro de las transacciones se realice de forma transparente y continua. Además de que este registro sea organizado de forma cronológica desde sus inicios y que esté disponible para todos los nodos de la red. El protocolo de Bitcoin también es de código abierto. Por lo que cualquier persona que lo desee puede revisarlo, auditado y comprobar que funcione como debe ser.
Protección a los usuarios
El que las transacciones de las criptomonedas como Bitcoin sean irreversibles, no representa impedimento para que este sistema se emplee como medio de pago. Por lo que no representa un problema para un comerciante o un usuario.
Como primera opción se puede emplear un servicio de custodia. Donde una cierta cantidad de dinero será custodiada por un tercero, y liberada una vez se cumplan ciertas condiciones. También pueden emplearse junto a contratos inteligentes de multifirmas. Donde son requeridas las claves de varios usuarios para autorizar una transacción.
Por último, es posible llegar a un acuerdo con un comerciante para realizar una devolución del dinero. Esto, si ocurre algún inconveniente externo que impida que el usuario reciba un producto adquirido. Por ejemplo, si Juan desea comprar un producto, le realiza una transferencia Bitcoin a la tienda. El dueño de la tienda espera una determinada cantidad de confirmaciones, y cuando las recibe, le envía el producto a Juan por medio de una agencia.
Pero la agencia sufre un inconveniente por el cual el producto no es entregado a Juan, este lo reporta la tienda y prepara la indemnización. Así la tienda contacta a Juan, le explica lo sucedido y le propone esperar o devolverle en dinero. Juan acepta la devolución, por lo que la tienda inmediatamente le retorna el importe pagado. Así Juan tiene de vuelta sus bitcoins.
¿Qué ventajas ofrecen una transacción irreversible?
Una de las principales ventajas de la irreversibilidad de las transacciones es que este proceso evita muchas prácticas fraudulentas. De hecho, el fraude por reversión de transacciones o fraude chargeback, le cuesta a las empresas unos 4.000 millones de dólares.
Pero, seguramente te estarás preguntando, ¿Qué es el chargeback?. Pues bien, el chargeback es la capacidad de un sistema de revertir una transacción, devolviendo o reembolsar el pago a un usuario debido a un problema con el producto o servicio que has adquirido.
En este punto, el chargeback puede sonar a justicia, y hasta cierto punto lo es. Pero su mal uso cuesta mucho dinero a grandes y pequeños negocios. Para evitar este tipo de situaciones, se han creado diversos mecanismos de confianza. Para ello se usan a terceros para velar por el cumplimiento de las obligaciones por cada una de las partes. Pero estos mecanismos son costosos y esto se refleja en el precio de aquello que compramos. Por ejemplo, si vas a una tienda en línea y compras un artículo, al pagarlo usando un medio electrónico posiblemente ese producto ya tenga un recargo sobre el precio del mismo debido al porcentaje de fraude que sufren.
Para evitar esto Bitcoin y las criptomonedas ofrecen la irreversibilidad de la transacciones. Al hacerlo, ambas partes pueden verse beneficiadas. Por un lado, el vendedor no tiene la necesidad de hacer un recargo sobre el precio del producto, lo que le permite al comprador adquirir lo que desea a un precio más bajo. Además habilita opciones más justas para resolver los problemas de garantías por productos defectuosos o en mal estado en caso de que estos existan.
En definitiva las transacciones irreversibles más que una mala características de las criptomonedas, es algo que definitivamente puede ayudar a todos a tener una mejor experiencia comercial.