¿Cómo implementa Bitcoin Cash la protección de reproducción?

Bitcoin Cash dice que están brindando protección de repetición para su bifurcación. ¿Cómo funciona esta protección de reproducción?

Respuestas (1)

Bitcoin Cash (también conocido como Bitcoin ABC, también conocido como UAHF) proporciona dos métodos de protección de reproducción, ambos opcionales. Si no crea transacciones que utilizan estas funciones, entonces sus transacciones son vulnerables a la reproducción.

El primer método es un algoritmo de sighash redefinido que es básicamente el mismo que el especificado por BIP 143. Este algoritmo de sighash solo se usa cuando la bandera de sighash tiene el bit 6 establecido. Estas transacciones no serían válidas en la cadena que no sea UAHF, ya que el algoritmo de sighashing diferente dará como resultado transacciones no válidas. Esto significa que para usar esto, primero deberá realizar transacciones en la cadena UAHF y luego en la cadena no UAHF en segundo lugar.

El segundo método usa una salida OP_RETURN que tiene la cadena exacta:

Bitcoin: A Peer-to-Peer Electronic Cash System

como los datos del OP_RETURN. Cualquier transacción que contenga esta cadena será considerada inválida por los nodos UAHF hasta el bloque 530,000. Esto significa que antes del bloque 530,000, puede dividir sus monedas realizando transacciones en la cadena no UAHF primero con la salida OP_RETURN y luego realizando transacciones en la cadena UAHF en segundo lugar.

Actualización: la especificación de Bitcoin Cash ahora requiere que todas las transacciones utilicen el algoritmo de sighashing redefinido como se explica para el primer método. Esto significa que ahora hay una protección de repetición de transacción bidireccional; las transacciones realizadas en la cadena ABC de Bitcoin no serán válidas en la cadena no ABC y viceversa.

2 preguntas: ¿la parte de ACTUALIZAR de su respuesta significa que la protección de reproducción ya no está habilitada? y segundo: parece estar hablando de una manera muy teórica (haciendo referencia a la especificación), pero, ¿las implementaciones, a partir de ahora, respetan esta especificación?
1. La protección de reproducción es obligatoria ahora y será aplicada por las billeteras y nodos de BCC. 2. Las billeteras BCC probablemente hayan implementado todo esto ahora desde que se separaron de la red Bitcoin. En el momento en que se escribió esto, muchas billeteras BCC no estaban completas ni sus especificaciones completas.
en otras palabras, la protección de reproducción ya no es opcional, ¿verdad?
Sí, la protección de reproducción no es opcional. Aunque todavía han mantenido la cosa OP_RETURN por alguna razón.
Ok, dos preguntas más: según esta lógica, tampoco es optar por no participar, ¿verdad? Y por último, pero no menos importante: ¿sigue siendo válido el número mágico de 530.000? AFAIU, el primer bloque exclusivo (o divergente, digamos) de BitCash es 478,559, entonces, ¿tenemos que esperar para usar esta protección de reproducción automática?
No, tampoco es darse de baja. La protección de repetición con el sighash es obligatoria. La espera de 530.000 bloques no está relacionada con esta protección de reproducción obligatoria. Eso solo se aplica a la opción en uno con OP_RETURN
@AndrewChow ¿Solo confirmar "Obligatorio" implica que el protocolo los rechazará o es solo una "recomendación"? A veces, los dos términos se mezclan en las especificaciones.
Es obligatorio en el sentido de que cualquier transacción que no utilice el algoritmo sighashing redefinido se considerará inválida y rechazada. Todas las transacciones deben usar ese algoritmo de sighashing.