Firmas Schnorr y MuSig2: qué cambian para el usuario de Bitcoin:


Introducción

Bitcoin nació usando el esquema de firmas ECDSA, que ha demostrado ser seguro pero limitado en cuanto a privacidad, eficiencia y soporte nativo para firmas múltiples (multisig). Con la activación de Taproot en noviembre de 2021, Bitcoin incorporó las firmas Schnorr y, sobre ellas, ha evolucionado el protocolo MuSig2. En este artículo analizamos en detalle cómo funcionan ambos avances y qué cambios representan para el usuario de Bitcoin.

Firmas Schnorr

Fundamentos criptográficos

Las firmas Schnorr se basan en el problema del logaritmo discreto sobre curvas elípticas, al igual que ECDSA, pero con la ventaja de un esquema lineal. Esa linealidad permite:

Agregar puntos sobre la curva para combinar claves públicas.

Combinar firmas parciales en una firma única.

Verificar lotes de firmas de forma más rápida.

Funcionamiento paso a paso

El firmante elige un valor aleatorio k y calcula el punto R = k·G.

Computa el desafío e = H(R ∥ P ∥ m), donde P es la clave pública y m el mensaje.

Genera la firma s = k e·x, con x la clave privada.

La firma final es el par (R, s) de 64 bytes.

Ventajas sobre ECDSA

Menor tamaño: las firmas ocupan siempre 64 bytes frente a ~70 bytes de ECDSA.

Batch verification: varias firmas pueden comprobarse juntas con menos operaciones.

Linealidad: permite construir firmas agregadas y multisig sin revelar el número de participantes.

MuSig2: multisignaturas eficientes

De MuSig a MuSig2

MuSig fue el primer protocolo que aprovechó Schnorr para multisig, pero requería múltiples rondas de interacción. MuSig2 simplifica el proceso:

Reduce a dos rondas de mensajes en lugar de tres o más.

Mejora la resistencia a ataques de sesgo (rogue-key).

Es compatible con hardware wallets ya existentes.

Protocolo MuSig2 simplificado

Los firmantes acuerdan el conjunto de claves públicas {P_i} y computan una clave agregada P_agg.

Cada participante genera un compromiso de nonce R_i y lo comparte.

Una vez reunidos, se calcula R = ΣR_i y se difunde a todos.

Cada firmante crea su parte de firma s_i y la envía.

La firma final es (R, s = Σs_i), indistinguible de una Schnorr individual.

Comparativa de tamaños

Tipo de firma Tamaño aproximado
ECDSA 71–73 bytes
Schnorr (Taproot) 64 bytes
MuSig2 (n firmantes) 64 bytes

¿Qué cambia para el usuario de Bitcoin?

Privacidad mejorada

Con Schnorr y MuSig2 las transacciones multisig son indistinguibles de las transacciones de pago simples. Un observador externo no puede saber cuántos firmantes participaron ni si se trata de un script complejo.

Ahorro en comisiones

Al reducir el tamaño de firmas y scripts, las transacciones consumen menos espacio en bloque, lo cual se traduce en comisiones menores (satoshis por vByte).

Experiencia de uso

Las wallets que implementan Taproot y MuSig2 ofrecen Cooperative Transactions (Coop-TXs) más rápidas y económicas.

La creación de contratos inteligentes simples en Bitcoin (timelocks, multisig) se vuelve más eficiente y coloca menos carga en la red.

Consideraciones finales

La adopción de Schnorr y MuSig2 en Bitcoin marca un salto cualitativo en términos de privacidad, eficiencia y flexibilidad. Para el usuario medio, estos avances se traducen en transacciones más baratas y seguras sin la complejidad que antes acompañaba a los esquemas multisig. A medida que las wallets, exploradores y servicios integren plenamente estos protocolos, aprovecharás al máximo la capacidad de Bitcoin para ofrecer pagos privados y contratos colaborativos de manera sencilla.

Para más información sobre la especificación de Taproot y Schnorr, consulta la propuesta original en BIP-340 y sobre MuSig2 en GitHub MuSig2.

Leave a Reply

Your email address will not be published. Required fields are marked *