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 realizada. Pero ¿Qué significa esta característica para los usuarios?. Y más importante aún ¿Qué nivel de seguridad garantiza a todos los que usan este sistema?. Pues bien, todo eso y mucho más podrás saberlo en este interesante artículo.
Si ya estás algo conocido con el mundo de las criptomonedas, tal vez ya conozcas una de las características más importantes en ellas, estamos hablando de transacciones irreversibles. Esto significa que, por regla general, no hay forma de volver atrás una transacción, no puede llamar a ninguna autoridad, ni a la policía para que anulen una transacción ya confirmada.
Pero seguramente te preguntes, ¿Cómo es esto posible?, y ¿Es interesante un sistema sin posibilidad de transacciones anulares?. A esto y algunas preguntas más daremos respuesta en este artículo. Como sabemos, cada vez que se realiza una transacción de criptomonedas esta se transmite a la red de mineros. son los que se encargarán de validarla y para ello tomarán nuestras transacciones 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 a repetir a medida que se generan nuevos bloques y se agregan al historial verificado de la blockchain. Es más, cada nuevo bloque creado es una nueva confirmación que recibió las transacciones previamente confirmadas. Es precisamente este proceso incremental de confirmaciones, y el cómo está estructurada la cadena de bloques, 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 nuestras transacciones. 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 las transacciones 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 presentó era el doble gasto. Este es un tipo de ataque donde las personas pueden 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 desarrolló varios esquemas de protección creando la cadena de bloques, que gracias a elementos como la prueba de trabajo o la dificultad dinámica de la prueba, dieron este resultado.
Nakamoto explicó que si bien podrían existir ciertos ataques que podrían exceder la seguridad de la blockchain de Bitcoin, el hecho de esperar una serie de confirmaciones por parte de la red daría plena seguridad de que la transacción no puede ser revertida.
La idea de esperar a más confirmaciones para asegurar 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, cómo funcionan y la forma en cómo protegernos de los mismos.
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 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 una transacción irreversible.
Ataque de Finney (Ataque de Finney)
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 transacción 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 específicas específicas, además de considerar un pago seguro 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 cadena de bloques donde incluir la transacción fraudulenta. Luego de que el receptor reciba una cierta cantidad de confirmaciones sobre las transacciones, envíe recibido el producto. Y si en ese punto el atacante ha recibido más confirmaciones que el comerciante, rompe la variación de la cadena de bloques y recupera sus fondos.
Es importante señalar que la ejecución de este ataque es extremadamente 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 tiene el control sobre la red y podría generar bloques con mayor frecuencia que el resto. Preservando su variación de la cadena de bloques 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 un 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 cadena de bloques, é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 cadena de bloques, 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 funciona 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 cumplirán 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 devuelve el importe pagado. Así Juan tiene de vuelta sus bitcoins.
¿Qué ventajas ofrece 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 ha 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 las 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ística de las criptomonedas, es algo que definitivamente puede ayudar a todos a tener una mejor experiencia comercial.