Ataques de reproducción criptográfica

Un ataque de reproducción de red clásico es cuando una transmisión de datos a través de una red se retrasa o repite de manera fraudulenta o maliciosa. Es una forma de ataque de “hombre en el medio” y se puede utilizar para reproducir un mensaje o una transmisión de datos en un contexto diferente al previsto..

Dentro de las criptomonedas, un ataque de reproducción tiene un significado particular y es relativo a las bifurcaciones duras de diferentes protocolos de criptomonedas. Aunque la protección de reproducción es y debe ser un lugar común en la industria, históricamente no siempre lo ha sido y los futuros protocolos de bifurcación dura pueden optar por no implementarla..

Comprender cómo funcionan los ataques de reproducción en relación con las criptomonedas requiere que primero tenga una comprensión básica de cómo funcionan las transacciones dentro de las plataformas de criptomonedas comunes como Bitcoin..

Ataques de reproducción criptográfica

Ledgers distribuidos y hard forks+

Una criptomoneda como Bitcoin opera como un libro de contabilidad global, distribuido y digital que existe en todos los nodos participantes. Cada nodo completo lleva una copia del libro mayor completo que contiene todas las transacciones en el historial de Bitcoin. El libro mayor en Bitcoin también es transparente, lo que significa que todas las direcciones de envío y recepción de transacciones, así como las cantidades transferidas, son visibles en el libro mayor público..

El libro mayor de Bitcoin existe como un libro mayor universal dentro de la red, lo que significa que todas las copias son exactamente iguales. El software que ejecuta la aplicación de nodo es el protocolo Bitcoin subyacente que también existe como protocolo universal para todos los nodos de la red..

Los ataques de repetición se vuelven relevantes una vez que ocurre un hard fork dentro de un protocolo de criptomonedas. Esencialmente, el protocolo se bifurca a una versión nueva y mejorada que un nuevo equipo de desarrolladores ve como una mejor iteración del protocolo inicial y el libro mayor. Por lo tanto, existe una división entre el protocolo y el libro mayor subsiguiente creando 2 libros mayores regidos por 2 protocolos separados.

El mejor ejemplo de esto es con Bitcoin y Bitcoin Cash. El 1 de agosto de 2017, los desarrolladores de Bitcoin Cash bifurcaron el protocolo Bitcoin. Todos los usuarios que deseaban continuar en la cadena heredada de Bitcoin optaron por no actualizar su software al protocolo Bitcoin Cash y todos los usuarios que querían unirse a la cadena Bitcoin Cash actualizaron su software y se unieron a la red Bitcoin Cash. Como resultado, quedó el libro de contabilidad original de Bitcoin y un nuevo libro de contabilidad de Bitcoin Cash..

Guía de Bitcoin Cash

Lea nuestra guía de Bitcoin Cash

Aunque comparten exactamente el mismo historial del libro mayor hasta la fecha de la bifurcación, existen como dos cadenas separadas con diferentes libros de transacciones a partir de ese momento. Entonces, es posible que se pregunte, ¿qué sucede con mi Bitcoin que tengo si hay un hard fork? Bueno, si poseía Bitcoin antes de la bifurcación, entonces recibió la misma cantidad de Bitcoin Cash que inicialmente tenía Bitcoin, mientras conservaba su BTC también. Por ejemplo, si Alice poseía 5 BTC antes de la bifurcación, después de la bifurcación, retendrá sus 5 BTC y recibirá 5 BCH adicionales en la cadena Bitcoin Cash. Lo crea o no, el dinero gratis existe (la gente dijo que los valores de mercado resultantes se equilibrarían como resultado de la división, pero eso nunca sucedió en la realidad).

¿Qué es un ataque de repetición??

Un ataque de repetición aprovecha la bifurcación dura y la duplicación de fichas en la cadena bifurcada. El problema para el usuario honesto surge cuando quiere gastar dinero en una cadena pero no en la otra. Por ejemplo, Alice quiere gastar 1 BTC en línea pero no quiere gastar 1 BCH al mismo tiempo.

La oportunidad de un ataque de repetición ocurre cuando Alice gasta 1 BTC de la cadena heredada. Debido a que la firma digital adjunta a la transacción BTC sería la misma en la cadena BCH, alguien más puede duplicar la firma de Alice e incluirla en una transacción del libro mayor de BCH. Básicamente, alguien más puede gastar su dinero en la otra cadena. Sin embargo, la cantidad exacta y la dirección utilizadas en la transacción deben ser las mismas para que funcione el ataque de repetición; de lo contrario, la firma digital no funcionaría..

Si bien puede parecer una forma extraña de ataque, ya que tanto la dirección de la transacción como la cantidad transferida deben ser la misma, puede generar algunos problemas más complejos asociados con los pagos en línea. Por lo tanto, una protección fácil contra los ataques de repetición es no gastar su criptomoneda que es vulnerable a un ataque de repetición en primer lugar. Es una solución incómoda, pero funciona. Si la protección de reproducción no se proporciona con una bifurcación dura de criptomonedas, la mayoría de los servicios de billetera rígida recomendarán que simplemente no gaste ninguna de sus monedas hasta que se haya asentado el polvo y se hayan resuelto los problemas con la nueva bifurcación, incluida la protección de reproducción.

Horquillas Bitcoin

Lea nuestra guía de bifurcaciones de Bitcoin

Ejemplos y protección de reproducción

La protección de reproducción es bastante trivial de implementar y en este punto debería ser un lugar común y básicamente un requisito para cualquier cadena bifurcada. Bitcoin Cash creó protección de reproducción para su cadena mediante la implementación de un marcador único que permitiría a los nodos de Bitcoin Cash distinguir las transacciones gastadas en la cadena heredada de Bitcoin como independientes de la cadena de Bitcoin Cash..

Al identificar las transacciones en la cadena BCH con una marca especial, los nodos de Bitcoin heredados rechazarán de manera similar las transacciones BCH como inválidas. La división Bitcoin / Bitcoin Cash representa una bifurcación dura que implementó la protección de reproducción con éxito e intencionalmente antes de la división..

En particular, la propuesta de bifurcación dura de Bitcoin SegWit2X, una vez planificada y altamente controvertida, no incluía protección de reproducción. En cambio, exigieron que el equipo de Bitcoin Core implementara la protección de reproducción si pensaban que era una preocupación. Obviamente, esto no resultó bien para el equipo de SegWit2X, ya que su bifurcación planificada finalmente se canceló y fueron ampliamente criticados por su falta de voluntad para implementar la protección de reproducción..

Fuera de la estrategia empleada por Bitcoin Cash para implementar la protección de reproducción, existen algunas otras estrategias directamente para que los usuarios ayuden a mitigar los ataques de reproducción si la criptomoneda que están usando no proporciona protección de reproducción..

Primero, puede usar los servicios de mezcla de monedas para mezclar sus transacciones con una transacción de Coinbase que solo es válida en una cadena y no se puede reproducir en una cadena bifurcada. Sin embargo, esta estrategia requiere el uso de servicios de mezcla de monedas de terceros que tienen sus propias preocupaciones en torno a sus servicios, así que utilícelo con precaución..

En segundo lugar, asegúrese de utilizar dos conjuntos separados de claves privadas para ambas cadenas. Además, puede enviar sus monedas a intercambios que hayan implementado sus propios servicios de división y ellos se encargarán de ello por usted. Esto sucedió con la bifurcación dura ETH / ETC, donde los usuarios podían usar Shapeshift Splitter y Poloniex para dividir sus monedas y proporcionar protección contra la repetición..

Conclusión

Los ataques de repetición solo son relevantes en los sistemas blockchain distribuidos cuando hay un hard fork que no proporciona protección de repetición o se retrasa en su implementación después del fork. El concepto alcanzó un punto de ebullición convencional justo antes de la bifurcación segura SegWit2X propuesta de Bitcoin, ya que anunciaron públicamente que no lo implementarían..

Hoy en día, implementar la protección de reproducción para un hard fork debería ser un componente básico de la nueva cadena para proteger a los usuarios, de lo contrario, no se sentirán seguros usando la red bifurcada. Aún está por verse si los hard fork de alto perfil continuarán con el fervor visto a fines de 2017, pero si lo hacen, puede estar seguro de que el tema de los ataques de repetición volverá a ser muy relevante una vez más..