Aspectos Técnicos de Bitcoin

La Importancia De La Firma De Schnorr Para Bitcoin

La Importancia De La Firma De Schnorr Para Bitcoin

Las firmas de Schnorr son una firma digital que proveen una seguridad similar al esquema ECDSA, usado en la implementación original de Bitcoin, y que pueden usar los mismos parámetros de la curva elíptica de Bitcoin mientras que proveen otros beneficios.

Schnorr es seguro bajo los mismos supuestos criptográficos que ECDSA y es más fácil y rápido crear firmas multipartitas seguras utilizando Schnorr con protocolos como MuSig.

Este nuevo tipo de firma también ofrece la oportunidad de cambiar el formato de serialización de la firma de BER/DER a algo más compacto y más sencillo de implementar.

Pero no te preocupes si todo esto te ha parecido complicado, hoy vamos a tratar de analizar como funciona todo esto de las firmas y explicar mejor las ventajas que tiene la firma de Schnorr para Bitcoin.

Firma Digital

Bitcoin utiliza las firmas digitales para permitir transferir monedas de una dirección a otra en la cadena de bloques.

Las firmas digitales son usadas para probar quien es el dueño de una cantidad especifica de monedas y autorizar la transferencia a un nuevo dueño.

Satoshi Nakamoto explica el modelo UTXO en el whitepaper de Bitcoin publicado en 2018:

Definimos una moneda electrónica como una cadena de firmas digitales. Cada propietario transfiere la moneda al siguiente firmando digitalmente un hash de la transacción anterior y la clave pública del siguiente propietario.

Actualmente Bitcoin utiliza el Algoritmo de Firma Digital de Curva Elíptica (ECDSA por sus siglas en inglés). Pero con la actualización Taproot Bitcoin integrará Schnorr, un segundo tipo de esquema de firmas con muchas ventajas.

ECDSA

Desde el comienzo de Bitcoin, esta cadena de bloques ha estado utilizando ECDSA para asegurar los BTC. La elección de esta solución tiene algunas razones:

  • Código abierto: ECDSA no se encuentra protegido por patentes o derechos de copyright, por lo que no hay problemas legales de su uso en Bitcoin.
  • Se encuentra probada: ECDSA era ampliamente conocida y aplicada cuando Bitcoin fue diseñado por primera vez, y la seguridad estaba lo suficientemente establecida gracias a años de pruebas.
  • OpenSSL: ECDSA fue implementada por OpenSSL, una librería criptografía de código abierto usada por Bitcoin. Esto hizo que la implementación de ECDSA para Bitcoin fuera simple.

Sin embargo, ECDSA tiene algunos contratiempos que Schnorr busca mejorar. Por esta razón es que los desarrolladores de Bitcoin decidieron que sería buena idea implementar un esquema de firmas diferente.

Las ventajas de la firma de Schnorr

Al igual que ECDSA, el esquema de firma de Schnorr usa criptografía de curva elíptica (ECC por sus singlas en inglés).

La diferencia esta en que Schnorr ofrece varias ventajas con respecto a ECDSA en términos de eficiencia computacional, almacenamiento y privacidad.

1. Agregación de claves y firmas

La más importante ventaja que ofrecen las firmas de Schnorr es la agregación de claves.

Una firma digital normalmente contiene una única clave pública, un mensaje para ser firmado y una firma que demuestra que el dueño de la clave pública ha firmado ese mensaje con una clave privada.

Cuando múltiples partes quieren firmar el mismo mensaje, como ocurre en las direcciones multi firmas, deben incluir cada uno la clave pública y la firma.

Así, en el caso de que se traten 4 partes que quieren firmar el mismo mensaje, la prueba que se debe incluir son las 4 claves públicas y las 4 firmas.

Esto no se encuentra muy optimizado de cara a la eficiencia computacional y al almacenamiento, ya que cada nodo debe realizar la verificación de las firmas, una función un tanto costosa, 4 veces y almacenar los 4 pares de firmas y claves públicas.

La agregación de claves elimina la necedad de múltiples claves y firmas. Las claves públicas y la firma de Schnorr pueden agruparse de cierta manera que, si las 4 partes quieren firmar una transacción, pueden combinar de forma fiable sus 4 claves públicas para formar una única.

Luego, usando cada uno su clave privada, pueden firmar el mismo mensaje. Por último, pueden combinar las 4 firmar para formar una única firma que es válida para la clave publica agregada.

Un nodo verificador solo deberá verificar una sola firma y una sola clave publica en función de asegurar de que las 4 partes han firmado el mensaje.

Los beneficios para la privacidad también son muy significativos con este esquema. Debido a que múltiples partes pueden agregar sus claves y firmas, haciendo que las transacciones multi firmas se parezcan perfectamente a una transacción de una sola.

Así, todas las transacciones con Schnorr se parecerán entre sí, haciendo imposible a un analizador de cadenas diferenciar entre multi firma y firma simple.

Esto invalida algunos métodos heurísticos usados por estos analistas, incluyendo la heurística de propiedad de entrada común y la heurística de tipo de guion.

Eso si, esta ventaja en términos de privacidad solo se verá en aquellos usuarios de Bitcoin que utilicen Schnorr, pero no los que sigan realizando transacciones de tipo ECDSA.

2. Verificación por lotes

Cuando un nodo recibe un nuevo bloque, lo normal es verificar cada transacción y firma en ese bloque una por una. Esta es una tarea que consume bastante tiempo y costosos en recursos.

La agregación de claves permite a los nodos de Bitcoin verificar las firmas por lotes. Algo que reduce de forma significativa la cantidad de tiempo y recursos computacionales a la hora de verificar transacciones con muchas entradas.

Consideración

Esto se debe a que Taproot es un soft fork, por lo que la mayoría de monederos y usuarios en un principio van a continuar utilizando ECDSA cuando se haya activado Schnorr.

Los bloques utilizarán firmas de Schnorr y ECDSA al mismo tiempo, limitando los beneficios del procesamiento por lotes en el corto plazo.

¿Por qué Bitcoin no la uso antes?

Las firmas de Schnorr han estado protegidas por una patente desde su creación en 1990, haciendo que se encuentre altamente restringida para su uso y limitando la innovación.

Ya que ECDSA es de código abierto, se encuentra ampliamente utilizada, enormemente testeada y es confiable para los desarrolladores, es la que se eligió en un principio.

Si bien la patente de Schnorr ha caducado en 2008, el mismo año en que se creó a Bitcoin, se decidió que este esquema de firmas carecía de la popularidad y de las pruebas necesarias para asegurar un sistema tan crucial como este.

Las firmas de Schnorr serán introducidas al ecosistema de Bitcoin a través de la mejora Taproot, que se espera que esté activa en el 2022.

Los desarrolladores han agregado todo el código necesario a Bitcoin Core, solo resta que los nodos acepten primero la mejora para considerar las firmas de Schnorr válidas.

Resumen

  • Las firmas digitales son utilizadas para demostrar la propiedad de los BTC dentro de la cadena de bloques.
  • En el pasado Bitcoin ha utilizado ECDSA como algoritmo de firma digital.
  • En el futuro, Bitcoin habilitará las firmas de Schnorr junto con ECDSA.
  • La buena noticia es que las firmas de Schnorr tienen varias ventajas sobre ECDSA.
  • Schnorr mejorará la privacidad para los usuarios de Bitcoin y ayudará a ahorrar en comisiones para aquellos que las utilicen junto con Taproot.

Acerca del autor

Criptotario

Me llamo Martin, soy ingeniero y apasionado de las inversiones y la tecnología. Me gusta mucho leer libros y todo aquello que me haga mejorar día a día.

Agrega un Comentario

Haz clic aquí para añadir un comentario