¿Qué es la maleabilidad de las transacciones?

El intercambio de Bitcoin MtGox ha declarado en este comunicado de prensa que la "maleabilidad de la transacción" hizo que dejaran de enviar bitcoins. Una pregunta reciente preguntó si realmente es un problema. Pero, en primer lugar, ¿qué es la maleabilidad de las transacciones?

Respuestas (1)

Las transacciones de Bitcoin tienen una identificación de transacción (txid) formada como un hash sobre los datos involucrados en la transacción. Eso sugiere que es un identificador único para una transacción.

Sin embargo, el tx-id de una transacción solo es único una vez que los datos exactos de la transacción se han finalizado al incorporarse a la cadena de bloques (y confirmarse). Hasta entonces, existen hacks que permiten alterar los datos subyacentes y el hash. Esto no es un problema de seguridad porque no es posible alterar cuántos bitcoins se transfieren de qué entrada a qué salida. Pero se pueden cambiar detalles como el formato de la firma criptogáfica que confirma que la entrada autoriza la transacción, o el script de firma exacto utilizado: son maleables, lo que hace que el hash o la identificación de la transacción también sean maleables.

Esto no debería ser un gran problema en absoluto. Pero lo es si construyó su manejo de Bitcoin asumiendo que las identificaciones de transacciones no son maleables, como puede haberlo hecho MtGox. También debe tener cuidado al gastar transacciones no confirmadas, porque esto solo funciona si nadie cambia las identificaciones de transacciones intermedias. Nada de esto es un problema en el cliente estándar de Bitcoin, pero si lo hace por su cuenta, especialmente si desea usar una sola dirección de Bitcoin para manejar muchas transacciones individuales, las transacciones rápidas que se basan directamente en la anterior no confirmada son fáciles. error de cometer. Si las personas alteraron los identificadores de transacción de los retiros de MtGox, y MtGox adoptó un enfoque tan rápido, esto puede explicar por qué ha habido muchas quejas de retiros que nunca llegan:

EDITAR: Se puede encontrar una explicación mucho más elaborada en este artículo de noticias de Quartz

He usado esta respuesta como base para la wiki de etiquetas de maleabilidad de transacciones .